primaelkpfv/forensic-ransomware-investigation

GitHub: primaelkpfv/forensic-ransomware-investigation

一个基于 PICERL 方法论的勒索软件入侵后取证调查项目,涵盖磁盘镜像获取、内存分析、网络流量分析和攻击时间线重构,输出完整的 IOC 清单与调查报告。

Stars: 0 | Forks: 0

# 🔍 取证调查 — 勒索软件入侵后 ![Status](https://img.shields.io/badge/Status-Terminé-brightgreen) ![Tools](https://img.shields.io/badge/Tools-FTK%20Imager%20%7C%20Autopsy%20%7C%20Volatility%203-orange) ![Category](https://img.shields.io/badge/Catégorie-Forensique%20·%20IR-red) ## 🎯 目标 遵循 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, 内存取证, 勒索软件分析, 库, 应急响应, 数字取证, 磁盘取证, 自动化脚本, 逆向工具