liranzoz/Malware-Analysis-Lab
GitHub: liranzoz/Malware-Analysis-Lab
在隔离虚拟机环境中对 2017 年 NotPetya wiper 恶意软件进行系统性静态与动态分析的实验项目。
Stars: 0 | Forks: 0
# 🧪 NotPetya 恶意软件分析实验室
### 在完全隔离的 VM 环境中对 2017 年 NotPetya wiper 进行静态与动态分析
[](#)
[](#)
[](#)
[](#)
## 🔍 样本
NotPetya(2017 年 6 月)造成了约 **100 亿美元**的全球损失。它最初通过乌克兰会计软件 **M.E.Doc** 的后门更新植入,随后使用 **EternalBlue / EternalRomance**(泄露的 NSA SMB 漏洞利用程序)和 **Mimikatz** 风格的凭证窃取进行横向传播。它看起来像勒索软件,但实际上是一个 **wiper** —— 文件永远无法解密,“赎金”只是一个烟幕弹。
| 属性 | 值 |
|:---|:---|
| **文件** | `nopetya.dll` — 32 位 DLL,控制台子系统 |
| **SHA-256** | `027CC450EF5F8C5F653329641EC1FED91F694E0D229928963B30F6B0D7D3A745` |
| **语言** | C / C++ |
| **编译器** | Microsoft Visual C++ — Visual Studio 2010 (Rich header) |
| **Packer** | 通用 — `.rsrc` 区段已压缩(DIE 启发式扫描,非 UPX) |
| **大小 / 区段** | ~362 KB · 6 个区段,均具有有效的熵 |
| **执行方式** | `rundll32.exe nopetya.dll,#1`(按序号导出的入口) |
| **签名** | 无效 — 被 PEStudio 标记 |
## 🏗️ 实验室架构
```
┌───────────────────────────────┐ ┌───────────────────────────────┐
│ Windows 10 Victim VM │ │ REMnux (Analysis VM) │
│ ────────────────────────── │ │ ────────────────────────── │
│ • PEStudio, Process Explorer │ ◄─────► │ • INetSim (fake internet) │
│ • Procmon, Regshot │ host- │ • Wireshark capture │
│ • Detonation target │ only │ • DNS / HTTP / SMTP sim │
└───────────────────────────────┘ └───────────────────────────────┘
▲ ▲
└────────── isolated from host ──────────────┘
```
## 🛠️ 实验室设置
### REMnux — 分析机
逆向工程师事实上的 Linux 发行版。在这里它充当 **模拟互联网** —— INetSim 会响应受害者发出的每一个 DNS、HTTP、HTTPS、SMTP、FTP 和 POP3 请求,从而让恶意软件*认为*自己已联网,而无需真正接触真实网络。
| 硬件 | 选项 |
|:---:|:---:|
|
|
|
**INetSim 运行中 —— DNS、HTTP、SMTP、POP3、FTP、HTTPS 均已模拟**
### Windows 10 — 受害者机
引爆目标。监控工具在拍摄干净快照*之前*就已安装,因此可以触发、观察恶意软件,并在几秒钟内将 VM 恢复到干净状态。
|
|
**INetSim 运行中 —— DNS、HTTP、SMTP、POP3、FTP、HTTPS 均已模拟**
| 硬件 | 选项 |
|:---:|:---:|
|
|
|
## 🧬 静态分析 —— *导入表揭示了真相*
静态分析意味着**在不执行**二进制文件的情况下对其进行检查。PEStudio 在运行任何一行代码之前就暴露了 **38 个指标**。仅凭导入表就揭示了其全部伎俩:
| 库 | 著名的 API | 揭示的信息 |
|:---|:---|:---|
| **DHCPSAPI** | `DhcpEnumSubnetClients`, `DhcpEnumSubnets` | 获取 DHCP 客户端列表 → 找到局域网上的每台主机 |
| **NETAPI32 / MPR** | `NetServerEnum`, `WNetAddConnection2W` | 枚举机器,挂载管理共享 |
| **WS2_32** | `socket`, `connect`, `send`, `recv` | 用于网络传播的原始套接字 |
| **ADVAPI32** | `AdjustTokenPrivileges`, `CreateProcessAsUserW` | 提权 |
| **CRYPT32** | `CryptEncrypt`, `CryptGenKey` | “勒索软件”负载 |
**结论:** 一个携带加密负载的网络蠕虫 —— 而不是简单的文件加密器。
|
|










**实验室工程** · **PE 静态分析** · **反汇编 / 逆向 (Ghidra)** · **Packer 与编译器识别 (DIE)** · **行为 / 动态分析** · **网络取证** · **IOC 提取与 ATT&CK 映射** · **威胁情报报告**
**Liran Zozulya** · [LinkedIn](LINKEDIN_URL_HERE) · [GitHub](GITHUB_URL_HERE)
标签:DAST, Web报告查看器, XXE攻击, 云资产清单, 威胁情报, 开发者工具, 恶意软件分析, 虚拟化环境, 逆向工程