primaelkpfv/forensic-ransomware-investigation
GitHub: primaelkpfv/forensic-ransomware-investigation
一个基于 PICERL 方法论的勒索软件入侵后取证调查项目,涵盖磁盘镜像获取、内存分析、网络流量分析和攻击时间线重构,输出完整的 IOC 清单与调查报告。
Stars: 0 | Forks: 0
# 🔍 取证调查 — 勒索软件入侵后



## 🎯 目标
遵循 PICERL 方法论,对被勒索软件入侵的 Windows 环境进行事件后取证调查:
**P**réparer(准备) → **I**dentifier(识别) → **C**ontenir(遏制) → **E**radiquer(根除) → **R**écupérer(恢复) → **L**eçons(经验教训)
## 🖥️ 分析环境
| 机器 | 角色 | 操作系统 | 状态 |
|---------|------|----|--------|
| WS-001 | 用户工作站(零号病人) | Windows 10 Pro | 已加密 |
| WS-002 | 人事工作站 | Windows 10 Pro | 已加密 |
| SRV-001 | 文件服务器 | Windows Server 2019 | 部分加密 |
## 🛠️ 使用的工具
| 工具 | 用途 |
|-------|-------|
| **FTK Imager** | 获取磁盘镜像(.E01 格式) |
| **Autopsy** | 分析 artifacts:MFT、prefetch、LNK、注册表 |
| **Volatility 3** | 内存分析:进程、DLL 注入、网络连接 |
| **Wireshark** | 分析捕获的网络流量 |
| **NetworkMiner** | 重构网络流,提取文件 |
| **MISP** | 将 IOC 与 threat intel 进行关联 |
## 📋 方法论
### 阶段 1 — 获取
```
# FTK Imager CLI — 磁盘镜像获取
ftkimager.exe \\.\PhysicalDrive0 D:\evidence\WS001 --e01 --verify
# 自动生成的验证 Hash (MD5 + SHA1)
```
### 阶段 2 — 磁盘分析 (Autopsy)
- MFT 分析:在时间窗口内创建/修改的文件
- Prefetch:在攻击前/期间启动的可执行文件
- LNK files:用户最近打开的文件
- Registry hives:持久化、账户、网络连接
- $Recycle.Bin:攻击者删除的文件
### 阶段 3 — 内存分析 (Volatility 3)
```
# 列出进程
python3 vol.py -f WS001.mem windows.pslist
# 检测 DLL 注入
python3 vol.py -f WS001.mem windows.malfind
# 提取活动网络连接
python3 vol.py -f WS001.mem windows.netstat
# Dump 可疑进程
python3 vol.py -f WS001.mem windows.dumpfiles --pid 1337
```
### 阶段 4 — 重构时间线
```
# 使用 log2timeline/plaso 生成完整 timeline
log2timeline.py --storage-file timeline.plaso WS001.E01
psort.py -o l2tcsv timeline.plaso > timeline.csv
```
## 🔎 主要发现
### 初始向量
- **网络钓鱼邮件** 于 08:42 发送至 WS-001
- 附件:`Facture_2024_urgent.pdf.exe`(双扩展名)
- 执行由 prefetch 确认(`FACTURE_2024_URGENT.EXE-XXXXXX.pf`)
### 勒索软件行为
1. 通过 PowerShell 禁用 Windows Defender (T1562.001)
2. 删除卷影副本:`vssadmin delete shadows /all` (T1490)
3. 加密文件(添加了 `.locked` 扩展名)
4. 通过 SMB 横向移动至 WS-002 和 SRV-001 (T1021.002)
5. 加密前将数据渗出至 IP `185.220.x.x` (T1041)
### 重构时间线
| 时间 | 事件 |
|-------|-----------|
| 08:42 | 接收钓鱼邮件 |
| 08:47 | 打开附件 — 执行 dropper |
| 08:48 | 禁用防病毒软件 |
| 08:49 | 删除 VSS |
| 08:51 | 开始加密 WS-001 |
| 09:03 | 传播至 WS-002 |
| 09:15 | 传播至 SRV-001 |
| 09:22 | 数据渗出 (3.2 GB) |
## 📌 已识别的 IOC
| 类型 | 值 | 描述 |
|------|--------|-------------|
| MD5 | `a3f2c1...` | 初始 dropper 哈希 |
| SHA256 | `7b9e4d...` | 勒索软件 payload 哈希 |
| IP | `185.220.x.x` | C2 server (Tor exit node) |
| Domain | `update-secure[.]tk` | 伪造的 C2 域名 |
| Mutex | `Global\EncryptionMutex_v2` | 勒索软件创建的 Mutex |
| Registry | `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Updater` | 持久化注册表项 |
## 🗂️ 仓库结构
```
forensic-ransomware-investigation/
├── methodology/
│ ├── picerl-framework.md
│ └── acquisition-checklist.md
├── analysis/
│ ├── disk-analysis.md
│ ├── memory-analysis.md
│ ├── network-analysis.md
│ └── timeline-reconstruction.md
├── scripts/
│ ├── volatility-commands.sh
│ └── timeline-generator.sh
├── iocs/
│ └── iocs.csv
├── reports/
│ └── investigation-report-template.md
└── README.md
```
## 🔗 参考
- [Volatility 3 文档](https://volatility3.readthedocs.io/)
- [Autopsy 数字取证](https://www.autopsy.com/)
- [MITRE ATT&CK — 勒索软件](https://attack.mitre.org/software/)
- [ANSSI — 事件响应指南](https://www.ssi.gouv.fr/)
## 👤 作者
**Fèmi KPONOU** — ESAIP 网络安全学士学生
🌐 [作品集](https://primaelkpfv.github.io) · 💼 [LinkedIn](https://linkedin.com/in/primaelkponou)
标签:AI合规, SecList, 内存取证, 勒索软件分析, 库, 应急响应, 数字取证, 磁盘取证, 自动化脚本, 逆向工具