MalwareAnalysisLabs/malware-forensics-lab
GitHub: MalwareAnalysisLabs/malware-forensics-lab
一套覆盖恶意样本完整分析流水线(网络取证、脚本去混淆、文档取证、shellcode提取、动态仿真)的实战工作流记录与实验环境。
Stars: 0 | Forks: 0
本仓库记录了我在分析多种文件格式和攻击向量的真实恶意样本时构建的一套全面的恶意软件分析工作流。其目标是开发可重复的技术,用于提取和分析混淆的 payload —— 从受感染网站的流量到混淆的 JavaScript,再到恶意 PDF、RTF 和 Office 文档。
该分析涵盖了完整的流水线:**网络流量重建 → 脚本去混淆 → 文档取证 → shellcode 提取 → 行为确认**。
## 实验环境
| 组件 | 用途 |
|---|---|
| **REMnux (Linux VM)** | 主分析平台 — JavaScript 去混淆、PDF/Office 解析、shellcode 提取 |
| **Windows REM 工作站** | Fiddler、Wireshark、scdbg、jmp2it、x32dbg 以及动态行为分析 |
| **INetSim + fakedns** | 用于安全进行行为确认的模拟网络服务 |
## 使用的工具
- **流量分析:** Fiddler、Wireshark、CapTipper
- **JavaScript 去混淆:** Internet Explorer Debugger、SpiderMonkey、box-js、CScript
- **PDF 取证:** pdfid.py、pdf-parser.py、peepdf.py、base64dump.py
- **Office 文档分析:** olevba.py、oledump.py、pcodedmp.py、zipdump.py、rtfdump.py
- **Shellcode 分析:** scdbg、jmp2it、shellcode2exe.py、XORSearch、xor-kpa.py
- **二进制分析:** peframe、strings、file、openssl、7-Zip
- **实用工具:** base64、rev、feh、WinSCP、Process Hacker
## 分析工作流
### 1. 网络流量重建
使用 Fiddler 和 Wireshark 分析受感染网站的感染链:
- 识别出受感染的合法网站上注入的 JavaScript
- 跟踪多阶段 payload 投递(混淆 JS → Flash → 勒索软件信标)
- 使用 CapTipper 从 PCAP 中提取文件
- 识别出可疑的 Flash payload 以及带有勒索软件特征(`key` 和 `idn` 参数)的 C2 通信
```
# 在 Wireshark 中隔离可疑流量
ip.addr == 195.154.122.33
# 使用 CapTipper 从 PCAP 中提取文件
cd /opt/remnux-captipper
mkdir /tmp/out
./CapTipper.py -g -d /tmp/out ~/malware/day3/session.pcap
file /tmp/out/* | grep Flash
```
### 2. JavaScript 去混淆 — 三种技术
#### 技术 A:浏览器 Debugger
利用 Internet Explorer 内置的 debugger,通过在去混淆函数的 `return r` 语句前设置断点,让脚本自行去混淆。
```
// Insert debugger statement in the original script