felixrayyen-alt/Mirai-Botnet-Static-Analysis
GitHub: felixrayyen-alt/Mirai-Botnet-Static-Analysis
一份基于 Ghidra 和 Linux CLI 工具对 Mirai 僵尸网络 ELF 32 位恶意软件进行静态分析与逆向工程的学术报告。
Stars: 0 | Forks: 0
# Mirai 僵尸网络静态分析
对 Mirai 恶意软件 ELF 32-bit 二进制文件的静态分析与逆向工程。
# 🦠 Mirai 僵尸网络 - 恶意软件静态分析
本仓库包含了一份详尽的关于臭名昭著的 **Mirai 恶意软件**(ELF 32-bit 二进制文件)的**静态分析**与**逆向工程**报告。本项目是作为日惹阿米克姆大学(Universitas Amikom Yogyakarta)逆向工程期中考试的一部分进行的。
## 📌 执行摘要
Mirai 是一种自我传播的僵尸网络恶意软件,旨在感染基于 Linux 的物联网设备。它以存在漏洞的智能设备为目标,将其招募到僵尸网络中,从而发起大规模的分布式拒绝服务攻击。本分析的重点在于揭示其二进制结构、嵌入的字符串、网络依赖关系和内部战术功能,而无需直接执行恶意软件(静态分析)。
## 🔍 技术规格(基本信息)
根据静态分析工具的分析,目标二进制文件具有以下规格:
* **文件名:** `mirai.elf`
* **文件大小:** 184 KB
* **文件类型:** ELF 32-bit LSB 可执行文件,Intel 80386 (x86),版本 1 (SYSV)
* **链接方式:** 静态链接
* **符号:** 未 strip(包含调试信息)
* **MD5 哈希值:** `f5db0e21d290bf7b2d23959a530f2e3e`
* **SHA-256 哈希值:** `d03dab10036fc5967786b13a2f5ef4d71f330eda1a575e0b6f62ae38c96361b1`
## 🛠️ 使用的工具
* **Ghidra (v11.x):** 用于二进制反编译、控制流图分析和已定义字符串提取。
* **Linux CLI 工具:** `file`、`readelf`、`md5sum`、`sha256sum` 和 `strings`。
## 💡 主要发现与方法论
### 1. Header 分析
分析确认了有效的 Linux 可执行文件头结构。Ghidra 成功识别了位于基地址处的 **Magic Bytes** 文本字符串 `ds "ELF"`,确认其为有效的 Unix/Linux 系统可执行格式。
### 2. 字符串提取与功能
使用 Ghidra 的 *Defined Strings* 和 Linux CLI 工具,共发现了 486 处字符串位置。提取出的关键字符串包括:
* 引用 `/proc/` 文件系统目录(`/proc/%d/maps`, `/proc/%d/exe`),用于进行密集的进程枚举。
* 嵌入的 Command and Control (C2) 服务器 IP 地址:**`176.65.139.79`**。
* 内部模块的指标,如 `[attack]_Starting...` 和 `[killer]_starting...`。
### 3. 反编译逻辑与行为
通过 Ghidra 的反编译工具,逆向工程了两个主要的函数:
* **Killer 函数(`killer_mirai_exists`):** 自动扫描 `/proc/` 目录,基于文件名启发式方法发现并强制终止(`kill -9`)竞争的恶意软件进程,以完全垄断设备资源。
* **Attack 函数(`udp_gen_worker`):** 利用 **Raw Sockets** 构造伪造的 UDP 数据包(IP Spoofing),通过多线程进行大规模传输,从而实施极具破坏性的分布式拒绝服务攻击。
## 📂 仓库内容
* `MIRAI_ANALYSIS_REVERSE_ENGINEERING.pdf` - 完整的学术分析报告(印尼语)。
* `/screenshots/` - 来自 Ghidra 和终端操作的技术截图。
## ⚠️ 免责声明
本分析严格仅用于教育、学术研究和网络安全意识普及目的。**本仓库内不共享任何恶意二进制文件或实时的漏洞利用代码。**
# 🦠 Mirai 僵尸网络 - 恶意软件静态分析
本仓库包含了一份详尽的关于臭名昭著的 **Mirai 恶意软件**(ELF 32-bit 二进制文件)的**静态分析**与**逆向工程**报告。本项目是作为日惹阿米克姆大学(Universitas Amikom Yogyakarta)逆向工程期中考试的一部分进行的。
## 📌 执行摘要
Mirai 是一种自我传播的僵尸网络恶意软件,旨在感染基于 Linux 的物联网设备。它以存在漏洞的智能设备为目标,将其招募到僵尸网络中,从而发起大规模的分布式拒绝服务攻击。本分析的重点在于揭示其二进制结构、嵌入的字符串、网络依赖关系和内部战术功能,而无需直接执行恶意软件(静态分析)。
## 🔍 技术规格(基本信息)
根据静态分析工具的分析,目标二进制文件具有以下规格:
* **文件名:** `mirai.elf`
* **文件大小:** 184 KB
* **文件类型:** ELF 32-bit LSB 可执行文件,Intel 80386 (x86),版本 1 (SYSV)
* **链接方式:** 静态链接
* **符号:** 未 strip(包含调试信息)
* **MD5 哈希值:** `f5db0e21d290bf7b2d23959a530f2e3e`
* **SHA-256 哈希值:** `d03dab10036fc5967786b13a2f5ef4d71f330eda1a575e0b6f62ae38c96361b1`
## 🛠️ 使用的工具
* **Ghidra (v11.x):** 用于二进制反编译、控制流图分析和已定义字符串提取。
* **Linux CLI 工具:** `file`、`readelf`、`md5sum`、`sha256sum` 和 `strings`。
## 💡 主要发现与方法论
### 1. Header 分析
分析确认了有效的 Linux 可执行文件头结构。Ghidra 成功识别了位于基地址处的 **Magic Bytes** 文本字符串 `ds "ELF"`,确认其为有效的 Unix/Linux 系统可执行格式。
### 2. 字符串提取与功能
使用 Ghidra 的 *Defined Strings* 和 Linux CLI 工具,共发现了 486 处字符串位置。提取出的关键字符串包括:
* 引用 `/proc/` 文件系统目录(`/proc/%d/maps`, `/proc/%d/exe`),用于进行密集的进程枚举。
* 嵌入的 Command and Control (C2) 服务器 IP 地址:**`176.65.139.79`**。
* 内部模块的指标,如 `[attack]_Starting...` 和 `[killer]_starting...`。
### 3. 反编译逻辑与行为
通过 Ghidra 的反编译工具,逆向工程了两个主要的函数:
* **Killer 函数(`killer_mirai_exists`):** 自动扫描 `/proc/` 目录,基于文件名启发式方法发现并强制终止(`kill -9`)竞争的恶意软件进程,以完全垄断设备资源。
* **Attack 函数(`udp_gen_worker`):** 利用 **Raw Sockets** 构造伪造的 UDP 数据包(IP Spoofing),通过多线程进行大规模传输,从而实施极具破坏性的分布式拒绝服务攻击。
## 📂 仓库内容
* `MIRAI_ANALYSIS_REVERSE_ENGINEERING.pdf` - 完整的学术分析报告(印尼语)。
* `/screenshots/` - 来自 Ghidra 和终端操作的技术截图。
## ⚠️ 免责声明
本分析严格仅用于教育、学术研究和网络安全意识普及目的。**本仓库内不共享任何恶意二进制文件或实时的漏洞利用代码。**标签:DAST, ELF文件, Ghidra, 云安全监控, 云资产清单, 威胁情报, 开发者工具, 恶意软件分析, 逆向工程, 静态分析