Jamiucloud/Memory-Forensics-DFIR-Volatility-Investigation
GitHub: Jamiucloud/Memory-Forensics-DFIR-Volatility-Investigation
基于 Volatility 2.6 对被入侵 Windows XP 主机内存转储进行全流程取证调查的 DFIR 实战项目,涵盖进程异常检测、数据窃取追踪、C2 连接映射和持久化分析。
Stars: 0 | Forks: 0
# DFIR:内存取证与应急响应调查
## 执行摘要
本项目模拟了一次真实的应急响应 (IR) 行动。给定一个来自潜在被入侵 Windows XP 主机的原始内存转储 (`xp-laptop-2005-06-25.img`),我执行了全面的取证分诊,以识别恶意活动、映射攻击者行为并提取可操作的情报。
调查成功识别了数据窃取工具、异常网络信标和系统痕迹——展示了使用开源取证工具重建安全漏洞时间线的能力。
## 展示的核心能力
- **内存取证**:熟练使用 Volatility 2.6(配置文件选择、进程列出、DLL 注入追踪和句柄枚举)。
- **威胁狩猎**:能够优先于合法的 Windows 服务,对可疑进程进行优先级排序(异常检测)。
- **网络取证**:从内存痕迹中重建出站 C2 (命令与控制) 连接并映射攻击者基础设施。
- **注册表与文件系统分诊**:提取自启动项、用户账户 (SAM hive)、键入的 URL 和挂载的设备,以构建完整的攻击者画像。
- **应急响应最佳实践**:遵守严格的证据保存规则(沙盒环境、禁用网络/共享、不对原始镜像进行写入操作)。
## 调查方法与证据(截图)
### 阶段 1:进程分诊与异常检测
- **识别出的 3 个最可疑进程**:
1. **`dd.exe` (PID 4012)**:一款原始磁盘镜像工具,在终端用户工作站上极少出现。这是数据复制/窃取的直接危险信号。
2. **`PluckUpdater.exe` (PID 3076 & 1916)**:表现出异常行为(零线程、立即终止),表明存在潜在的 shellcode 执行或失败/崩溃的恶意 payload。
3. **`cmd.exe` (PID 2624)**:被用于启动 `dd.exe`,证实了攻击者通过命令行进行了手动交互。
### 阶段 2:数据窃取与权限滥用
- **文件句柄调查**:在 `dd.exe` 上使用 `handles` 插件,我发现它打开了 `\Device\PhysicalMemory` 对象。
- **影响**:这证明攻击者使用 `dd.exe` 直接读取系统的物理 RAM 并将其写入硬盘上的一个文件 (`xp-laptop-2005-06-25.img`) 中,有效地创建了“内存转储中的内存转储”——一种经典的数据窃取技术。
### 阶段 3:网络威胁狩猎 (C2 与信标)
- 通过 `connscan` 映射了所有活动和已终止的网络连接。
- **发现**:`PluckUpdater.exe` (PID 1916) 正在主动向各种外部 IP 发起超过 **8 个出站 HTTP 连接**,外加一个到 `66.135.211.87:443` 的 HTTPS 连接——这对于本地更新程序来说极不寻常,表明存在潜在的 C2 信标或广告欺诈。
- **排除**:验证了 `iexplore.exe` 仅联系了标准的 Web 主机,并且*未发现*连接到 `192.168.1.100:443` 的证据,确保了归因的准确性。
### 阶段 4:持久化与用户痕迹分析
- **自启动项 (HKLM\Run)**:提取了 14 个启动项。标记了 `C:\WINDOWS\pictometry.vbs` 以供进一步审查,因为其存在通过注册表执行脚本的行为。
- **用户账户**:提取了 SAM hive 以识别本地用户 (`Administrator`, `Sarah`, `phoenix`)。将分析重点放在“Sarah”的 NTUSER.DAT hive 上。
- **浏览历史记录**:检查了 Internet Explorer 的 `TypedURLs` 键。只发现了默认的 MSN 重定向——表明攻击者可能使用了其他方法(或 Firefox)进行恶意浏览,这与通过 `filescan` 发现的 28 个缓存的 GIF 文件进行了交叉比对。
### 阶段 5:物理与系统识别
- **主机名**:确认受入侵的机器为 **SPLATITUDE**。
- **外部媒体**:发现 **D: 驱动器** 是一个卷序列号为 **EFB8-B88B** 的可移动 USB 设备——这是追踪数据如何从物理上被窃取出场所的关键证据。
## 技术工具集
| 工具 | 用途 |
| :--- | :--- |
| **Volatility 2.6** | 内存分析框架(Linux 独立可执行文件) |
| **Ubuntu 24.04** | 用于安全调查的隔离沙盒环境 |
| **Linux CLI** | `grep`, `sort`/`uniq` 用于日志/数据解析 |
| **Registry Hives** | 手动提取 SAM、SYSTEM 和 NTUSER.DAT 痕迹 |
## 防御建议(对企业的价值)
基于在此内存转储中发现的模拟攻击模式,我建议实施:
1. **应用程序白名单**:限制在生产工作站上执行未经签名的镜像工具(如 `dd.exe`),以防止内存抓取。
2. **网络分段与出站过滤**:拦截发往非白名单 IP 的出站 HTTP/HTTPS 流量,以中断 C2 信标。
3. **增强 EDR 日志记录**:确保终端检测与响应工具配置为捕获对 `\Device\PhysicalMemory` 的进程句柄访问(高危事件)。
4. **USB 设备控制**:实施策略以限制未经授权的可移动介质使用,从而追踪物理数据窃取(降低 D: 驱动器带来的风险)。
**作者:** Jamiu Idowu
**专业领域:** 数字取证与应急响应 (DFIR) / 威胁情报
*本次调查是在完全隔离的离线虚拟环境中进行的,以保持取证完整性(无网络适配器,无主机-客户机共享)。*
### 阶段 4:持久化与用户痕迹分析
- **自启动项 (HKLM\Run)**:提取了 14 个启动项。标记了 `C:\WINDOWS\pictometry.vbs` 以供进一步审查,因为其存在通过注册表执行脚本的行为。
- **用户账户**:提取了 SAM hive 以识别本地用户 (`Administrator`, `Sarah`, `phoenix`)。将分析重点放在“Sarah”的 NTUSER.DAT hive 上。
- **浏览历史记录**:检查了 Internet Explorer 的 `TypedURLs` 键。只发现了默认的 MSN 重定向——表明攻击者可能使用了其他方法(或 Firefox)进行恶意浏览,这与通过 `filescan` 发现的 28 个缓存的 GIF 文件进行了交叉比对。
### 阶段 5:物理与系统识别
- **主机名**:确认受入侵的机器为 **SPLATITUDE**。
- **外部媒体**:发现 **D: 驱动器** 是一个卷序列号为 **EFB8-B88B** 的可移动 USB 设备——这是追踪数据如何从物理上被窃取出场所的关键证据。
## 技术工具集
| 工具 | 用途 |
| :--- | :--- |
| **Volatility 2.6** | 内存分析框架(Linux 独立可执行文件) |
| **Ubuntu 24.04** | 用于安全调查的隔离沙盒环境 |
| **Linux CLI** | `grep`, `sort`/`uniq` 用于日志/数据解析 |
| **Registry Hives** | 手动提取 SAM、SYSTEM 和 NTUSER.DAT 痕迹 |
## 防御建议(对企业的价值)
基于在此内存转储中发现的模拟攻击模式,我建议实施:
1. **应用程序白名单**:限制在生产工作站上执行未经签名的镜像工具(如 `dd.exe`),以防止内存抓取。
2. **网络分段与出站过滤**:拦截发往非白名单 IP 的出站 HTTP/HTTPS 流量,以中断 C2 信标。
3. **增强 EDR 日志记录**:确保终端检测与响应工具配置为捕获对 `\Device\PhysicalMemory` 的进程句柄访问(高危事件)。
4. **USB 设备控制**:实施策略以限制未经授权的可移动介质使用,从而追踪物理数据窃取(降低 D: 驱动器带来的风险)。
**作者:** Jamiu Idowu
**专业领域:** 数字取证与应急响应 (DFIR) / 威胁情报
*本次调查是在完全隔离的离线虚拟环境中进行的,以保持取证完整性(无网络适配器,无主机-客户机共享)。*标签:DAST, SecList, 内存取证, 安全, 库, 应急响应, 恶意软件分析, 数字取证, 自动化脚本, 超时处理