按证据源分工的工具链
Windows 取证的常用工具按证据源划分:事件日志解析一份,文件系统记录解析一份,用户痕迹(快捷方式、跳转列表、Shellbag、预取文件)再解析一份。每类工具把二进制或私有格式转成扁平的 CSV,之后统一转换时间基准并合并成主时间线。工具链的价值在于「同一份证据能被不同工具反复解析」,因此版本与命令行必须记录在案,否则后续无法复现或解释字段差异。
基本信息
| 适用平台 | Windows 分析机(多数为命令行工具,输出 CSV/JSON) |
|---|---|
| 组合思路 | 事件日志 + 文件系统记录 + 用户痕迹三层并行,再合并时间线 |
| 事件日志 | EvtxECmd 解析 evtx,输出 CSV/JSON |
| 文件系统 | MFTECmd 解析 $MFT、USN 日志($J)、$Boot |
| 用户痕迹 | LECmd 解析快捷方式、JLECmd 解析跳转列表、SBECmd 解析 Shellbag、PECmd 解析预取 |
| 记录要求 | 报告注明工具名称、版本与完整命令行 |
典型使用场景
- 把事件日志批量转换成可筛选、可合并的时间线
- 从 MFT 还原文件创建、修改与删除的时间分布
- 用预取记录判断程序是否执行过、执行过几次
- 用快捷方式与跳转列表还原用户访问过的文件与路径
- 用 Shellbag 判断目录是否被浏览过(即使文件已被删除)
- 把三层输出统一到 UTC 后合并成主时间线
工具对照
| 证据源 | 工具 | 输出与用途 |
|---|---|---|
| 事件日志 | EvtxECmd | CSV 时间线,含事件 ID 与关键字段 |
| MFT / USN | MFTECmd | 文件系统时间线与变更记录 |
| 快捷方式 | LECmd | LNK 文件指向的路径与首次出现的卷信息 |
| 跳转列表 | JLECmd | 最近访问的文件与应用记录 |
| Shellbag | SBECmd | 资源管理器浏览过的目录痕迹 |
| 预取 | PECmd | 程序执行时间与执行次数 |
解析与合并
解析与合并
# 解析事件日志目录,输出 CSV
EvtxECmd.exe -d C:\evidence\evtx --csv C:\out\evtx --csvf evtx.csv
# 解析 MFT 与 USN 日志
MFTECmd.exe -f C:\evidence\'$MFT' --csv C:\out\mft
MFTECmd.exe -f C:\evidence\'$J' --csv C:\out\usn
# 解析用户痕迹
LECmd.exe -d C:\evidence\lnk --csv C:\out\lnk
PECmd.exe -d C:\evidence\prefetch --csv C:\out\prefetch
# 各输出统一转换为 UTC 后合并,形成主时间线
Get-ChildItem C:\out\*.csv | ForEach-Object { $_.FullName, (Get-Date -Format o) }各工具输出统一转换为 UTC 后再合并,否则不同工具默认时区不一致,主时间线会出现整体或分段偏移。
解析大卷前先估算体量与预留磁盘与内存空间:MFT 与事件日志的解析输出可能远大于原始文件,中途空间不足会导致结果不完整。