Dana-Mazen/office-macro-malware-analyzer
GitHub: Dana-Mazen/office-macro-malware-analyzer
该项目是一个 Office 宏恶意软件分析实验室,通过静态与动态相结合的方式完整演示宏文档恶意行为的取证与报告流程。
Stars: 0 | Forks: 0
# Office 宏恶意软件分析实验室
这是一个恶意软件分析实验室,我通过静态和动态分析对启用宏的 Word 文档进行了分析。
目标不仅是指出“这个文件是恶意的”,而是使用工具、截图和完整的证据链,逐步证明其恶意行为。
## 项目概述
样本是一个启用宏的 Microsoft Word 文档。静态分析表明该文档包含一个自动执行的宏,动态分析证实了 Microsoft Word 在执行期间启动了 PowerShell。
主要行为链如下:
```
malware.docm -> Document_Open macro -> PowerShell script download -> C:\Temp\RAW.ps1 -> powershell.exe execution
```
本仓库不包含任何恶意软件样本或 payload。
## 安全提示
本项目仅用于教育性质的恶意软件分析。
分析是在隔离的 Windows 10 FLARE-VM 中进行的。该虚拟机配置为禁止直接的互联网访问,并使用了 FakeNet 和 ProcMon 等工具来安全地观察其行为。
本仓库不包含:
* 原始恶意软件样本
* 下载的 PowerShell payload
* 原始 ProcMon 日志
* 任何可执行的恶意软件文件
## 证据工作流

工作流如下:
1. 使用 `olevba` 和 `mraptor` 运行静态分析
2. 在隔离的 FLARE-VM 中打开样本
3. 使用 ProcMon 和 FakeNet 监控行为
4. 将重要证据导出为 JSON
5. 将行为汇总为报告
## 使用的工具

本实验中使用的主要工具:
* Python 3.10
* olevba
* mraptor
* FLARE-VM
* ProcMon
* FakeNet-NG
* ANY.RUN
* Microsoft Word / Office16
每个工具都有其特定的作用。静态分析工具帮助识别宏试图执行的操作,而动态分析工具则帮助确认执行期间实际发生的情况。
## 主要发现

静态分析显示:
* `Document_Open` 自动执行
* 使用了 `WinHttpRequest`
* 使用了 `ADODB.Stream`
* 使用了 `WScript.Shell`
* 消除危险的远程脚本 URL:`hxxp://77[.]83[.]39[.]60/me/RAW[.]ps1`
动态分析显示:
* `WINWORD.EXE` 启动了 `powershell.exe`
* PowerShell 使用了 `-ExecutionPolicy Bypass` 参数执行
* 在 `C:\Temp` 中观察到了 `RAW.ps1` 的活动
## ProcMon 证据

ProcMon 非常有用,因为初次捕获时包含了大量正常的 Windows 噪音。经过过滤后,重要的行为是 Word 启动 PowerShell 的进程创建事件。
这是最有力的动态证据,因为它证实了基于静态宏分析得出的行为链。
## JSON 证据摘要

我没有上传完整的原始日志,而是包含了安全的摘要工件:
```
safe-artifacts/
├── static-analysis-summary.json
└── dynamic-analysis-summary.json
```
这些文件总结了重要的发现,同时未包含恶意软件样本、payload 或嘈杂的原始沙箱日志。
## 风险等级
该样本被认为是高风险,因为正常的 Office 文档不应该:
* 打开时自动运行宏
* 从远程 URL 下载脚本
* 将脚本写入 `C:\Temp`
* 绕过执行策略启动 PowerShell
## 经验总结
这个项目帮助我理解到,恶意软件分析不仅仅是运行文件那么简单。环境、Office 设置、宏设置和沙箱配置都会影响最终结果。
我还学到,静态分析和动态分析应该相互印证。静态分析帮助我明确需要关注的内容,而动态分析则帮助我证明了实际发生的情况。
## 文档
完整公开报告:
[Office 宏恶意软件分析报告](docs/report.pdf)
标签:DAST, FLARE-VM, 云安全监控, 威胁情报, 安全实验室, 宏病毒, 开发者工具, 恶意软件分析, 搜索语句(dork), 网络信息收集, 逆向工具, 静态分析