DhruviDesai0608/digital-forensics-investigation-lab
GitHub: DhruviDesai0608/digital-forensics-investigation-lab
基于Windows XP的DFIR调查实验室,提供端到端取证分析。
Stars: 0 | Forks: 0
# 🔍 Windows XP DFIR 调查 — 案例LAB-2024-001
## 📋 项目概要
本项目记录了对来自 [Digital Corpora](https://digitalcorpora.org/) 的公开 Windows XP 网络取证数据集进行的完整端到端数字取证和事件响应 (DFIR) 调查。调查遵循了专业取证方法,涵盖了内存、磁盘、网络和静态分析阶段,最终在 IO 寻找、MITRE ATT&CK 映射、YARA 规则开发和正式调查报告中结束。
该项目在一个专门构建的虚拟实验室环境中进行,使用了行业标准 DFIR 工具。在硬件限制或证据约束需要范围调整的情况下,这些调整将根据基于证据的取证报告原则明确记录。
## 🎯 目标
- 构建和配置一个功能齐全、隔离的 DFIR 实验室环境
- 使用 Volatility 3 分析 Windows XP 系统的易失性内存工件
- 使用 Autopsy 调查磁盘工件以确定持久机制、用户活动和已删除内容
- 使用 Wireshark 审查网络数据包捕获以查找可疑通信
- 使用 PE Studio 进行静态可执行文件分析
- 开发自定义 YARA 检测规则
- 提取和记录风险指标 (IOCs)
- 将基于证据的发现映射到 MITRE ATT&CK 框架
- 生成专业级别的取证调查报告
## 🔄 范围调整
原始项目设计包括从调查期间恢复的取证工件中提取和分析恶意软件。
在分析过程中,未在可用的证据中识别出已确认的恶意软件样本。此外,硬件限制和虚拟机性能约束限制了扩展动态恶意软件分析的可行性。
为了在保持取证准确性的同时演示完整的 DFIR 工作流程,静态分析和 YARA 开发阶段进行了调整,使用了一个合法的可执行文件 (`Wireshark.exe`)。这允许演示方法、工具、哈希验证、PE 分析和 YARA 规则开发过程,而无需伪造发现或歪曲证据。
调查期间进行的所有调整都已透明记录,并在整个项目报告和相关文档中得到反映。
## 🏗️ 实验室架构
```
┌─────────────────────────────────────────────────────────────┐
│ VMware Host-Only Network │
│ VMnet2 │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────┐ ┌─────────────────────┐
│ REMnux VM │ │ Windows 10 VM │
│ (Analysis Host) │◄────►│ (Victim System) │
├─────────────────────┤ ├─────────────────────┤
│ IP: Isolated Lab │ │ IP: Isolated Lab │
│ │ │ │
│ Tools: │ │ Tools: │
│ • Volatility 3 │ │ • Procmon │
│ • Wireshark │ │ • Wireshark │
│ • YARA │ │ • Autoruns │
│ • Strings │ │ • Process Explorer │
│ • PEStudio │ │ • FTK Imager │
│ • CyberChef │ │ • Autopsy │
└─────────────────────┘ └─────────────────────┘
🔒 FULLY ISOLATED DFIR LAB
No production network exposure
Safe malware analysis environment
Snapshot-based forensic workflow
```
### 环境配置
| 组件 | 配置 |
|------------|--------------|
| 虚拟机管理程序 | VMware Workstation |
| 分析 VM | REMnux Linux |
| 受害 VM | Windows 10 |
| 网络类型 | 主机-仅限 (VMnet2) |
| REMnux RAM | 3 GB |
| REMnux Disk | 100 GB |
| Windows RAM | 4 GB |
| Windows Disk | 60 GB |
| 隔离级别 | 完全隔离 |
| 目的 | DFIR & 恶意软件分析 |
## 🧰 使用的工具
| 工具 | 目的 | 阶段 |
|---|---|---|
| VMware Workstation | 虚拟实验室环境 | 实验室设置 |
| REMnux | Linux 网络取证工作站 | 实验室设置 |
| Volatility 3 | 内存取证框架 | 内存取证 |
| Autopsy | 磁盘取证分析平台 | 磁盘取证 |
| Wireshark | 网络数据包分析 | 网络取证 |
| PE Studio | 静态 PE 可执行文件分析 | 静态分析 |
| YARA | 基于签名的检测规则引擎 | 检测工程 |
| Certutil | 哈希生成和验证 | 证据完整性 |
| FTK Imager | 证据获取参考工具 | 证据准备 |
| Velociraptor | 端点取证 (已安装验证) | 端点取证 |
## 📸 调查亮点
| 阶段 | 截图 | 描述 |
|---------|---------|-------------|
| 🖥️ 实验室设置 |  | REMnux 网络取证工作站配置了隔离的 VMnet2 网络进行安全的恶意软件分析和证据处理。 |
| 🖥️ 实验室设置 |  | 准备好的 Windows 10 受害者机器以模拟用户活动并生成调查所需的取证工件。 |
| ⚠️ 恶意软件准备 |  | 在受控环境中提取可疑的 AsyncRAT 样本,同时保持观察日志并保持取证完整性。 |
| 🌐 网络分析 |  | 使用 Wireshark 验证网络监控以捕获恶意软件执行和用户活动模拟期间生成的流量。 |
| 💾 磁盘取证 |  | 使用 Autopsy 恢复已删除文件和系统工件,以确定用户操作和重建系统活动。 |
| 🧠 内存取证 |  | 使用 Volatility 3 识别 Windows 内存配置文件并准备内存镜像以进行取证分析。 |
| 🔬 静态分析 |  | 使用 PE Studio 检查可执行文件导入、库和指标,而无需执行样本。 |
## 🔬 调查方法
本调查遵循了行业标准 DFIR 工作流程:
```
Evidence Acquisition → Integrity Verification → Memory Analysis
→ Disk Analysis → Network Analysis → Static Analysis
→ Detection Engineering → IOC Extraction → ATT&CK Mapping → Reporting
```
有关详细阶段文档,请参阅 [methodology.md](methodology.md)。
## ✅ 完成的阶段
| 阶段 | 活动 | 状态 |
|---|---|---|
| 1 | 实验室环境设置 | ✅ 完成 |
| 2 | 证据获取和准备 | ✅ 完成 |
| 3 | 内存取证 (Volatility 3) | ✅ 完成 |
| 4 | 磁盘取证 (Autopsy) | ✅ 完成 |
| 5 | 网络取证 (Wireshark) | ✅ 完成 |
| 6 | 静态分析 (PE Studio) | ✅ 完成 — 范围调整 |
| 7 | YARA 规则开发 | ✅ 完成 |
| 8 | IOC 提取 | ✅ 完成 |
| 9 | MITRE ATT&CK 映射 | ✅ 完成 |
| 10 | 取证报告制作 | ✅ 完成 |
## 🔑 关键发现
### 内存取证 (Volatility 3)
- **系统识别:** Windows XP SP3,32 位,内存捕获 2009-12-04 UTC
- **活动进程:** `firefox.exe` (PID 2684),`thunderbird.exe` (PID 764),`cmd.exe` (PID 3124),`mdd_1.3.exe` (PID 3336)
- **隐藏进程:** 未检测到 — pslist/psscan 比较显示没有 DKOM 式操纵
- **Malfind:** 在多个进程中识别了 PAGE_EXECUTE_READWRITE 区域;未确认嵌入 MZ/PE 标头 — 由于 Windows XP + AV 环境的发现,结果不明确
- **DLL 分析:** 未从 temp 或非标准目录加载可疑 DLL
- **注册表分页:** SYSTEM、SOFTWARE、SAM、SECURITY、DEFAULT、NTUSER.DAT 均已识别
### 磁盘取证 (Autopsy)
- **已安装应用程序:** Firefox、Thunderbird、OpenOffice、AVG 抗病毒软件、Adobe Reader、Java 运行时环境
- **Web 下载:** 恢复 Python 安装程序、Thunderbird 安装程序、OpenOffice 安装程序工件
- **远程监控工件:** 在 Autopsy 有趣的项目中识别了 Atera 相关条目 — 已记录,未确认恶意
- **扩展不匹配:** 配置文件、恢复数据、应用程序数据库 — 未确认伪装的恶意软件
- **USB 设备:** 仅鼠标和键盘 — 未识别 USB 存储设备
- **已删除文件:** 检查了 1,000 多个已删除文件条目;临时文件、应用程序工件、安装程序数据 — 未恢复恶意软件有效负载
### 网络取证 (Wireshark)
- **DNS 流量:** 查询 Microsoft 服务、`lafontainebleu.org`、连接测试域名
- **HTTP 流量:** 观察到 GET 和 POST 请求;三个发往 `72.5.43.29` 的 POST 请求 — 由于证据不足,无法将其分类为恶意
- **未识别 C2:** 未识别出信标模式、DGA 行为或已确认的命令和控制通信
### 静态分析 (PE Studio)
- **目标:** Wireshark.exe v4.6.8 — 64 位 PE,18.6 MB
- **SHA-256:** `99DC13045CC75BA9FEAEB8E9C56A1BE0E2C22DEAC15B474A435469B33E6D76B1`
- **MD5:** `5DD9D2DB30F70063BFCAB99450417CE4`
- **熵:** 7.327 — 与合法打包/压缩软件一致
- **发现:** 无恶意指标 — 文件与合法软件一致
### 最终评估
## 📌 风险指标 (IOCs)
| 类型 | 值 | 上下文 |
|---|---|---|
| SHA-256 | `99DC13045CC75BA9FEAEB8E9C56A1BE0E2C22DEAC15B474A435469B33E6D76B1` | Wireshark.exe — 分析的可执行文件 |
| MD5 | `5DD9D2DB30F70063BFCAB99450417CE4` | Wireshark.exe — 分析的可执行文件 |
| IP | `10.8.15.133` | 主机系统 — 网络捕获 |
| IP | `72.5.43.29` | 出站 HTTP POST 请求的目标 |
| IP | `23.205.110.48` | HTTP 连接测试目标 |
| 域名 | `lafontainebleu.org` | DNS 查询 — Wireshark 分析 |
| 域名 | `www.python.org` | 下载工件 — Autopsy |
| 进程 | `mdd_1.3.exe` (PID 3336) | 内存获取实用程序 |
有关完整的 IOC 文档,请参阅 [ioc_worksheet.md](ioc_worksheet.md)。
## 🗺️ MITRE ATT&CK 技术方法
| 技术标识符 | 名称 | 证据 |
|---|---|---|
| T1071.001 | 应用层协议:Web 协议 | Wireshark 中的 HTTP GET/POST 流量 |
| T1071.004 | 应用层协议:DNS | 包含 `lafontainebleu.org` 的 DNS 查询 |
| T1204.002 | 用户执行 | Autopsy 中的 Web 下载工件 |
| T1027 | 伪装的文件或信息 | 分析的可执行文件上的熵 7.327 |
有关带有证据引用的完整映射,请参阅 [mitre_mapping.md](mitre_mapping.md)。
## 🛡️ YARA 规则
开发了一个自定义 YARA 检测规则 (`LAB001_Malware_Detection`) 来演示基于签名的检测工程。该规则识别包含在静态分析期间恢复的字符串的 PE 可执行文件。
有关完整的规则和文档,请参阅 [yara-rule.md](yara-rule.md)。
## 💡 展示的技能
### 🔧 技术技能
| 领域 | 应用技能 |
|--------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **数字取证** | 证据获取、取证镜像、保管链文档、哈希验证、证据保存 |
| **内存取证** | Volatility 3、进程枚举、DLL 分析、注册表分页识别、恶意进程搜索 |
| **磁盘取证** | Autopsy、文件系统分析、已删除文件恢复、Web 历史调查、USB 设备工件分析 |
| **网络分析** | Wireshark、DNS 流量分析、HTTP 会话调查、会话分析、IOC 提取 |
| **静态恶意软件分析** | PE Studio、哈希生成(MD5/SHA256)、PE 结构分析、熵审查、导入分析 |
| **检测工程** | YARA 规则创建、签名开发、恶意软件识别技术 |
| **威胁情报** | IOC 收集、IOC 验证、ATT&CK 技术映射、指标文档 |
| **虚拟化** | VMware Workstation、快照管理、隔离分析环境、主机-仅限网络 |
### 🔍 调查方法技能
| 区域 | 应用技能 |
|------------------------ | ----------------------------------------------------------------------------------------------- |
| **证据处理** | 保持取证完整性、保存原始证据、记录调查行动 |
| **工件相关性** | 将内存、磁盘、网络和端点工件相关联以重建活动 |
| **时间线分析** | 通过取证工件识别用户操作和系统事件 |
| **IOC 开发** | 提取、验证、记录和组织风险指标 |
| **威胁狩猎** | 调查可疑进程、网络活动和持久机制 |
| **分析思维** | 制定假设、验证发现和消除误报 |
| **文档** | 维护调查日志、证据记录和结构化发现 |
### 📊 专业能力
| 能力 | 通过以下方式展示 |
| ------------------------------ | ------------------------------------------------------------------------------------------- |
| **问题解决** | 解决取证工具、VM 配置问题和证据收集挑战 |
| **注重细节** | 工件验证、哈希验证和证据准确性检查 |
| **研究技能** | 调查恶意软件行为、取证技术和检测方法 |
| **技术报告** | 编写调查报告、记录发现和提出结论 |
| **网络安全操作** | 应用与行业实践一致的 DFIR 工作流程 |
| **实验室管理** | 构建和维护安全的恶意软件分析环境 |
| **文档标准** | 组织证据、截图、日志和调查输出 |
| **专业沟通** | 将技术发现转化为可理解的报告和项目 |
### 🛠️ 工具和技术
| 类别 | 工具 | 使用 |
|------------------------- | ------------------------ |------------------------ |
| **内存分析** | Volatility 3 | |
| **磁盘分析** | Autopsy, FTK Imager | |
| **网络分析** | Wireshark | |
| **静态分析** | PE Studio, CertUtil | |
| **检测工程** | YARA | |
| **虚拟化** | VMware Workstation | |
| **操作系统** | REMnux Linux, Windows 10 | |
| **文档** | Markdown, GitHub | |
### 🎯 关键学习成果
* 构建并运行了完整的 DFIR 实验室环境。
* 在内存、磁盘、网络和端点工件上执行了取证调查。
* 应用了行业标准取证方法和证据处理实践。
* 使用 YARA 签名开发了检测内容。
* 提取和记录了风险指标 (IOCs)。
* 提高了恶意软件分析和威胁调查能力。
* 生成适合个人资料和面试讨论的专业调查文档。
* 获得了 DFIR 分析师和 SOC 团队常用工具的实践经验。
## 📚 经验教训
- **证据胜于假设** — 初看起来可疑的工件(malfind 区域、POST 请求)没有产生足够的证据进行恶意分类
- **相关性至关重要** — 在得出结论之前,必须一起分析内存、磁盘、网络和端点工件
- **误报很常见** — PAGE_EXECUTE_READWRITE 内存区域和升高的熵本身并不具有结论性
- **工具限制是真实的** — Volatility 3 的 `netscan` 插件不支持 Windows XP SP3;分析师必须了解工具范围
- **文档很重要** — 详细的截图捕获和笔记直接促进了专业报告的生成
- **适应性是专业技能** — 由于硬件限制进行调整,同时保持取证准确性反映了现实世界的调查实践
有关完整反思,请参阅 [lessons-learned.md](lessons-learned.md)。
## 📁 仓库结构