performing-windows-artifact-analysis-with-eric-zimmerman-tools
使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。
Best use case
performing-windows-artifact-analysis-with-eric-zimmerman-tools is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。
Teams using performing-windows-artifact-analysis-with-eric-zimmerman-tools should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/performing-windows-artifact-analysis-with-eric-zimmerman-tools/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How performing-windows-artifact-analysis-with-eric-zimmerman-tools Compares
| Feature / Agent | performing-windows-artifact-analysis-with-eric-zimmerman-tools | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 使用 Eric Zimmerman 工具执行 Windows 制品分析
## 概述
Eric Zimmerman 的 EZ Tools 套件是一组开源取证工具,已成为 Windows 数字取证调查的全球标准。这些工具最初由一位前 FBI 特工(现任 SANS 讲师)开发,用于解析和分析关键 Windows 制品,包括主文件表(Master File Table,$MFT)、注册表 hive、预取文件(Prefetch)、事件日志、快捷方式(LNK)文件和跳转列表(Jump List)。该套件与 KAPE(Kroll Artifact Parser and Extractor)集成,实现制品的自动化收集和处理,生成结构化 CSV 输出,可导入 Timeline Explorer 进行可视化分析。EZ Tools 被全球各地的执法机构、企业事件响应人员和取证顾问广泛使用。
## 前置条件
- Windows 10/11 或 Windows Server 2016+ 分析工作站
- 已安装 .NET 6 运行时(EZ Tools v2.x+ 必需)
- 分析工作站上的管理员权限
- 目标系统的取证磁盘镜像或分类采集数据
- 至少 8 GB 内存(大型数据集建议 16 GB)
- 熟悉 NTFS 文件系统结构和 Windows 内部机制
## 工具套件组件
### KAPE(Kroll Artifact Parser and Extractor)
KAPE 是主要的编排工具,通过配置文件(.tkape 和 .mkape)自动化制品收集(Targets)和处理(Modules),定义要收集的制品以及要对其运行的 EZ Tools。
**安装和设置:**
```powershell
# 从 https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape 下载 KAPE
# 解压到 C:\Tools\KAPE
# 更新 KAPE Targets 和 Modules
C:\Tools\KAPE\gkape.exe # GUI 版本
C:\Tools\KAPE\kape.exe # CLI 版本
# 同步最新 EZ Tools 二进制文件
C:\Tools\KAPE\Get-KAPEUpdate.ps1
```
**运行 KAPE 收集和处理:**
```powershell
# 从挂载的取证镜像 E: 盘收集制品并使用 EZ Tools 处理
kape.exe --tsource E: --tdest C:\Cases\Case001\Collection --target KapeTriage --mdest C:\Cases\Case001\Processed --module !EZParser
# 收集特定制品类别
kape.exe --tsource E: --tdest C:\Cases\Case001\Collection --target FileSystem,RegistryHives,EventLogs --mdest C:\Cases\Case001\Processed --module MFTECmd,RECmd,EvtxECmd
# 实时系统分类采集(以管理员身份运行)
kape.exe --tsource C: --tdest D:\LiveTriage\Collection --target KapeTriage --mdest D:\LiveTriage\Processed --module !EZParser --vhdx LiveTriageImage
```
### MFTECmd - 主文件表解析器
MFTECmd 将 NTFS $MFT、$J(USN 日志)、$Boot、$SDS 和 $LogFile 解析为人类可读的 CSV 格式。
```powershell
# 解析 $MFT 文件
MFTECmd.exe -f "C:\Cases\Evidence\$MFT" --csv C:\Cases\Output --csvf MFT_output.csv
# 解析 USN 日志($J)
MFTECmd.exe -f "C:\Cases\Evidence\$J" --csv C:\Cases\Output --csvf USNJournal_output.csv
# 解析 $Boot 获取卷信息
MFTECmd.exe -f "C:\Cases\Evidence\$Boot" --csv C:\Cases\Output --csvf Boot_output.csv
# 解析 $SDS 获取安全描述符
MFTECmd.exe -f "C:\Cases\Evidence\$SDS" --csv C:\Cases\Output --csvf SDS_output.csv
```
**MFT 输出关键字段:**
| 字段 | 描述 |
|------|------|
| EntryNumber | MFT 记录编号 |
| ParentEntryNumber | 父目录 MFT 记录 |
| InUse | 记录是否处于活跃或已删除状态 |
| FileName | 文件或目录名称 |
| Created0x10 | $STANDARD_INFORMATION 创建时间戳 |
| Created0x30 | $FILE_NAME 创建时间戳 |
| LastModified0x10 | $STANDARD_INFORMATION 修改时间戳 |
| IsDirectory | 布尔值,指示目录或文件 |
| FileSize | 逻辑文件大小(字节) |
| Extension | 文件扩展名 |
### PECmd - 预取文件解析器
PECmd 解析 Windows 预取文件(.pf),提供程序执行证据,包括运行次数和时间戳。
```powershell
# 解析目录中所有预取文件
PECmd.exe -d "C:\Cases\Evidence\Windows\Prefetch" --csv C:\Cases\Output --csvf Prefetch_output.csv
# 解析单个预取文件并输出详细信息
PECmd.exe -f "C:\Cases\Evidence\Windows\Prefetch\CMD.EXE-4A81B364.pf" --json C:\Cases\Output
# 使用关键词过滤解析预取文件
PECmd.exe -d "C:\Cases\Evidence\Windows\Prefetch" -k "powershell,cmd,wscript,cscript,mshta" --csv C:\Cases\Output --csvf SuspiciousExec.csv
```
### RECmd - 注册表资源管理器命令行
RECmd 使用批处理文件处理 Windows 注册表 hive,批处理文件定义要提取的键和值。
```powershell
# 使用默认批处理文件处理所有注册表 hive
RECmd.exe --bn C:\Tools\KAPE\Modules\bin\RECmd\BatchExamples\RECmd_Batch_MC.reb -d "C:\Cases\Evidence\Registry" --csv C:\Cases\Output --csvf Registry_output.csv
# 处理单个 NTUSER.DAT hive
RECmd.exe -f "C:\Cases\Evidence\Users\suspect\NTUSER.DAT" --bn C:\Tools\KAPE\Modules\bin\RECmd\BatchExamples\RECmd_Batch_MC.reb --csv C:\Cases\Output
# 处理 SYSTEM hive 获取 USB 设备历史
RECmd.exe -f "C:\Cases\Evidence\Registry\SYSTEM" --bn C:\Tools\KAPE\Modules\bin\RECmd\BatchExamples\RECmd_Batch_MC.reb --csv C:\Cases\Output
```
### EvtxECmd - Windows 事件日志解析器
EvtxECmd 将 Windows 事件日志(.evtx)文件解析为结构化 CSV 格式,支持可定制的事件 ID 映射。
```powershell
# 解析目录中所有事件日志
EvtxECmd.exe -d "C:\Cases\Evidence\Windows\System32\winevt\Logs" --csv C:\Cases\Output --csvf EventLogs_output.csv
# 解析单个事件日志
EvtxECmd.exe -f "C:\Cases\Evidence\Security.evtx" --csv C:\Cases\Output --csvf Security_output.csv
# 使用自定义映射增强字段提取
EvtxECmd.exe -d "C:\Cases\Evidence\Logs" --csv C:\Cases\Output --maps C:\Tools\KAPE\Modules\bin\EvtxECmd\Maps
```
### LECmd 和 JLECmd - 快捷方式和跳转列表解析器
```powershell
# 解析 Recent 目录中的 LNK 文件
LECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent" --csv C:\Cases\Output --csvf LNK_output.csv
# 解析跳转列表(自动目标)
JLECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations" --csv C:\Cases\Output --csvf JumpLists_auto.csv
# 解析跳转列表(自定义目标)
JLECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations" --csv C:\Cases\Output --csvf JumpLists_custom.csv
```
### SBECmd - ShellBag 资源管理器命令行
```powershell
# 从注册表 hive 目录解析 ShellBag
SBECmd.exe -d "C:\Cases\Evidence\Registry" --csv C:\Cases\Output --csvf Shellbags_output.csv
# 从实时系统解析 ShellBag(需要管理员权限)
SBECmd.exe --live --csv C:\Cases\Output --csvf LiveShellbags_output.csv
```
### Timeline Explorer - 可视化分析
Timeline Explorer 是用于分析所有 EZ Tools CSV 输出的 GUI 工具,支持过滤、排序、列分组和条件格式化。
```powershell
# 启动 Timeline Explorer 并打开 CSV 输出
TimelineExplorer.exe "C:\Cases\Output\MFT_output.csv"
```
**Timeline Explorer 关键功能:**
- 支持正则表达式的列级过滤
- 时间戳异常的条件格式化
- 用于时间顺序分析的多列排序
- 将过滤结果导出为新 CSV 文件
- 对感兴趣的行添加书签
## 调查工作流程
### 步骤 1:使用 KAPE 收集制品
```powershell
# 从挂载在 E: 的取证镜像进行完整分类采集
kape.exe --tsource E: --tdest C:\Cases\Case001\Collected --target KapeTriage --vhdx TriageImage --zv false
```
### 步骤 2:使用 EZ Tools 处理制品
```powershell
# 处理所有已收集的制品
kape.exe --msource C:\Cases\Case001\Collected --mdest C:\Cases\Case001\Processed --module !EZParser
```
### 步骤 3:时间线分析
1. 在 Timeline Explorer 中打开已处理的 CSV 文件
2. 按时间戳列排序以建立时间顺序
3. 按特定文件扩展名、路径或事件 ID 过滤
4. 交叉参考 MFT 时间戳与事件日志条目
5. 通过比较 $SI 和 $FN 时间戳识别时间戳篡改(Timestomping)
6. 使用书签和导出的过滤视图记录发现
### 步骤 4:时间戳篡改检测
```powershell
# 在 Timeline Explorer 中比较以下列:
# Created0x10($STANDARD_INFORMATION)vs Created0x30($FILE_NAME)
# 若 Created0x10 < Created0x30,则表明存在时间戳篡改
# $FILE_NAME 时间戳比 $STANDARD_INFORMATION 更难被篡改
```
## 取证制品参考
| 工具 | 制品 | 位置 |
|------|------|------|
| MFTECmd | $MFT | NTFS 卷根目录 |
| MFTECmd | $J(USN 日志) | $Extend\$UsnJrnl:$J |
| PECmd | 预取文件 | C:\Windows\Prefetch\*.pf |
| RECmd | NTUSER.DAT | C:\Users\{user}\NTUSER.DAT |
| RECmd | SYSTEM hive | C:\Windows\System32\config\SYSTEM |
| RECmd | SAM hive | C:\Windows\System32\config\SAM |
| RECmd | SOFTWARE hive | C:\Windows\System32\config\SOFTWARE |
| EvtxECmd | 事件日志 | C:\Windows\System32\winevt\Logs\*.evtx |
| LECmd | LNK 文件 | C:\Users\{user}\AppData\Roaming\Microsoft\Windows\Recent\ |
| JLECmd | 跳转列表 | C:\Users\{user}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\ |
| SBECmd | ShellBag | NTUSER.DAT 和 UsrClass.dat 注册表 hive |
## 常见调查场景
### 恶意软件执行证据
1. 使用 PECmd 解析预取文件以识别已执行的二进制文件
2. 与 MFT 交叉参考以获取文件创建时间戳
3. 使用 RECmd 检查 Amcache.hve 获取可执行文件的 SHA1 哈希值
4. 与事件日志中的进程创建条目关联(事件 ID 4688)
### 数据渗出调查
1. 使用 MFTECmd 解析 USN 日志以获取文件重命名/删除操作
2. 使用 LECmd 分析 LNK 文件以获取最近访问的文档
3. 使用 SBECmd 审查 ShellBag 以获取目录浏览活动
4. 使用 RECmd 检查 SYSTEM 注册表中的 USB 设备连接记录
### 横向移动检测
1. 使用 EvtxECmd 解析 Security.evtx 获取登录事件(4624、4625)
2. 分析 RDP 相关事件日志(Microsoft-Windows-TerminalServices)
3. 与 SMB 日志中的网络共享访问交叉参考
4. 审查计划任务和服务以发现持久化机制
## 输出格式与集成
所有 EZ Tools 生成的 CSV 输出均可:
- 在 Timeline Explorer 中进行可视化调查分析
- 导入 Splunk、Elastic 或其他 SIEM 平台
- 通过 Python/PowerShell 脚本进行自动化分析
- 使用 log2timeline/Plaso 整合为超级时间线
## 参考资料
- Eric Zimmerman 工具:https://ericzimmerman.github.io/
- KAPE 文档:https://ericzimmerman.github.io/KapeDocs/
- SANS EZ Tools 培训:https://www.sans.org/tools/ez-tools
- SANS FOR508:高级事件响应与威胁狩猎
- SANS FOR498:战场取证与数据采集Related Skills
performing-yara-rule-development-for-detection
通过识别可执行文件中的唯一字节模式、字符串和行为指标,开发精准的 YARA 恶意软件检测规则,同时将误报率降至最低。
performing-wireless-security-assessment-with-kismet
使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。
performing-wireless-network-penetration-test
执行无线网络渗透测试,通过捕获握手包、破解 WPA2/WPA3 密钥、检测流氓接入点以及使用 Aircrack-ng 和相关工具测试无线网络分段,评估 WiFi 安全性。
performing-wifi-password-cracking-with-aircrack
在授权无线安全评估中捕获 WPA/WPA2 握手包,并使用 aircrack-ng、hashcat 和字典攻击进行离线密码破解, 以评估密码短语强度和无线网络安全状况。
performing-web-cache-poisoning-attack
在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。
performing-web-cache-deception-attack
通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。
performing-web-application-vulnerability-triage
使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。
performing-web-application-scanning-with-nikto
Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。
performing-web-application-penetration-test
遵循 OWASP Web 安全测试指南(WSTG)方法论,对 Web 应用程序执行系统化安全测试,识别认证、授权、 输入验证、会话管理和业务逻辑中的漏洞。测试人员以 Burp Suite 作为主要拦截代理,结合手动测试技术 发现自动化扫描器遗漏的缺陷。适用于 Web 应用渗透测试、OWASP 测试、应用安全评估或 Web 漏洞测试等请求场景。
performing-web-application-firewall-bypass
使用编码技术、HTTP 方法操控、参数污染和载荷混淆绕过 Web 应用防火墙保护,将 SQL 注入、XSS 及其他攻击载荷穿透 WAF 检测规则。
performing-vulnerability-scanning-with-nessus
使用 Tenable Nessus 执行认证和未认证漏洞扫描,识别网络基础设施、服务器和应用程序中的已知漏洞、 错误配置、默认凭据和缺失补丁。扫描器将发现与 CVE 数据库和 CVSS 评分关联,生成优先级修复指导。 适用于漏洞扫描、Nessus 评估、补丁合规检查或自动化漏洞检测等请求场景。
performing-vlan-hopping-attack
在授权环境中使用交换机欺骗(Switch Spoofing)和双标签(Double Tagging)技术模拟 VLAN 跳转攻击, 测试 VLAN 分段有效性,并验证交换机端口安全配置对二层旁路攻击的抵御能力。