mcpField
P
performing-windows-artifact-analysis-with-eric-zimmerman-tools

performing-windows-artifact-analysis-with-eric-zimmerman-tools

github.com/mukul975安全35.2k60 次安装8 周前更新
代码仓库

关于 performing-windows-artifact-analysis-with-eric-zimmerman-tools

面向数字取证人员和事件响应团队的 Windows 痕迹分析技能,介绍使用 EZ Tools 与 KAPE 收集、解析并可视化系统工件。输出的 CSV 可用于时间线调查及 SIEM 分析。

主要功能

  1. 01通过 KAPE 自动收集与处理工件
  2. 02解析 NTFS、注册表与事件日志
  3. 03分析 Prefetch、快捷方式和跳转列表
  4. 04以 CSV 输出结构化结果
  5. 05在 Timeline Explorer 中筛选时间线

适用场景

  1. 01调查恶意软件执行证据
  2. 02分析数据外泄相关活动
  3. 03排查横向移动与登录事件
  4. 04比较时间戳以识别时间篡改

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill performing-windows-artifact-analysis-with-eric-zimmerman-tools

安装后在 Claude Code 中输入/performing-windows-artifact-analysis-with-eric-zimmerman-tools确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

使用 Eric Zimmerman 工具进行 Windows 痕迹分析

概述

Eric Zimmerman 的 EZ Tools 套件是一组开源取证实用工具,已成为 Windows 数字取证调查的全球标准。这些工具最初由一位前 FBI 特工、现任 SANS 讲师开发,用于解析和分析关键的 Windows 痕迹,包括主文件表($MFT)、注册表配置单元、prefetch 文件、事件日志、快捷方式(LNK)文件以及跳转列表。该套件可与 KAPE(Kroll Artifact Parser and Extractor)集成,实现痕迹的自动化收集与处理,生成结构化 CSV 输出,可导入 Timeline Explorer 进行可视化分析。EZ Tools 被全球执法机构、企业事件响应人员和取证顾问广泛使用。

何时使用

  • 当开展涉及使用 Eric Zimmerman 工具进行 Windows 痕迹分析的安全评估时
  • 当遵循针对相关安全事件的事件响应流程时
  • 当执行计划内的安全测试或审计活动时
  • 当通过动手测试验证安全控制措施时

前置条件

  • Windows 10/11 或 Windows Server 2016+ 分析工作站
  • 已安装 .NET 6 Runtime(EZ Tools v2.x+ 所需)
  • 分析工作站上的管理员权限
  • 来自目标系统的取证磁盘镜像或分类采集数据
  • 至少 8 GB RAM(处理大型数据集建议 16 GB)
  • 熟悉 NTFS 文件系统结构和 Windows 内部机制

工具套件组件

KAPE(Kroll Artifact Parser and Extractor)

KAPE 是主要的编排工具,可自动化痕迹收集(Targets)和处理(Modules)。它使用配置文件(.tkape 和 .mkape)定义要收集哪些痕迹以及针对这些痕迹运行哪些 EZ Tools。

安装与设置:

# Download KAPE from https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape
# Extract to C:\Tools\KAPE

# Update KAPE targets and modules
C:\Tools\KAPE\gkape.exe  # GUI version
C:\Tools\KAPE\kape.exe   # CLI version

# Sync latest EZ Tools binaries
C:\Tools\KAPE\Get-KAPEUpdate.ps1

运行 KAPE 收集与处理:

# Collect artifacts from E: drive (mounted forensic image) and process with EZ Tools
kape.exe --tsource E: --tdest C:\Cases\Case001\Collection --target KapeTriage --mdest C:\Cases\Case001\Processed --module !EZParser

# Collect specific artifact categories
kape.exe --tsource E: --tdest C:\Cases\Case001\Collection --target FileSystem,RegistryHives,EventLogs --mdest C:\Cases\Case001\Processed --module MFTECmd,RECmd,EvtxECmd

# Live system triage collection (run as administrator)
kape.exe --tsource C: --tdest D:\LiveTriage\Collection --target KapeTriage --mdest D:\LiveTriage\Processed --module !EZParser --vhdx LiveTriageImage
MFTECmd - 主文件表解析器

MFTECmd 将 NTFS $MFT、$J(USN Journal)、$Boot、$SDS 和 $LogFile 解析为人类可读的 CSV 格式。

# Parse the $MFT file
MFTECmd.exe -f "C:\Cases\Evidence\$MFT" --csv C:\Cases\Output --csvf MFT_output.csv

# Parse the USN Journal ($J)
MFTECmd.exe -f "C:\Cases\Evidence\$J" --csv C:\Cases\Output --csvf USNJournal_output.csv

# Parse $Boot for volume information
MFTECmd.exe -f "C:\Cases\Evidence\$Boot" --csv C:\Cases\Output --csvf Boot_output.csv

# Parse $SDS for security descriptors
MFTECmd.exe -f "C:\Cases\Evidence\$SDS" --csv C:\Cases\Output --csvf SDS_output.csv

MFT 输出中的关键字段:

字段描述
EntryNumberMFT 记录编号
ParentEntryNumber父目录 MFT 记录
InUse该记录是活动还是已删除
FileName文件或目录的名称
Created0x10$STANDARD_INFORMATION 创建时间戳
Created0x30$FILE_NAME 创建时间戳
LastModified0x10$STANDARD_INFORMATION 修改时间戳
IsDirectory表示目录或文件的布尔值
FileSize逻辑文件大小(字节)
Extension文件扩展名
PECmd - Prefetch 文件解析器

PECmd 解析 Windows Prefetch 文件(.pf),以提供程序执行的证据,包括运行次数和时间戳。

# Parse all prefetch files from a directory
PECmd.exe -d "C:\Cases\Evidence\Windows\Prefetch" --csv C:\Cases\Output --csvf Prefetch_output.csv

# Parse a single prefetch file with verbose output
PECmd.exe -f "C:\Cases\Evidence\Windows\Prefetch\CMD.EXE-4A81B364.pf" --json C:\Cases\Output

# Parse prefetch with keyword filtering
PECmd.exe -d "C:\Cases\Evidence\Windows\Prefetch" -k "powershell,cmd,wscript,cscript,mshta" --csv C:\Cases\Output --csvf SuspiciousExec.csv
RECmd - 注册表资源管理器命令行

RECmd 使用定义要提取哪些键和值的批处理文件处理 Windows 注册表配置单元。

# Process all registry hives with the default batch file
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

# Process a single 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

# Process SYSTEM hive for USB device history
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 映射。

# Parse all event logs from a directory
EvtxECmd.exe -d "C:\Cases\Evidence\Windows\System32\winevt\Logs" --csv C:\Cases\Output --csvf EventLogs_output.csv

# Parse a single event log
EvtxECmd.exe -f "C:\Cases\Evidence\Security.evtx" --csv C:\Cases\Output --csvf Security_output.csv

# Parse with custom maps for enhanced field extraction
EvtxECmd.exe -d "C:\Cases\Evidence\Logs" --csv C:\Cases\Output --maps C:\Tools\KAPE\Modules\bin\EvtxECmd\Maps
LECmd 和 JLECmd - 快捷方式与跳转列表解析器
# Parse LNK files from Recent directory
LECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent" --csv C:\Cases\Output --csvf LNK_output.csv

# Parse Jump Lists (automatic destinations)
JLECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations" --csv C:\Cases\Output --csvf JumpLists_auto.csv

# Parse Jump Lists (custom destinations)
JLECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations" --csv C:\Cases\Output --csvf JumpLists_custom.csv
SBECmd - Shellbag 资源管理器命令行
# Parse shellbags from a directory of registry hives
SBECmd.exe -d "C:\Cases\Evidence\Registry" --csv C:\Cases\Output --csvf Shellbags_output.csv

# Parse shellbags from a live system (requires admin)
SBECmd.exe --live --csv C:\Cases\Output --csvf LiveShellbags_output.csv
Timeline Explorer - 可视化分析

Timeline Explorer 是用于分析所有 EZ Tools 生成的 CSV 输出的 GUI 工具。它支持筛选、排序、列分组和条件格式。

# Launch Timeline Explorer and open CSV output
TimelineExplorer.exe "C:\Cases\Output\MFT_output.csv"

Timeline Explorer 的主要功能:

  • 使用正则表达式进行列级筛选
  • 针对时间戳异常的条件格式
  • 用于时间线分析的多列排序
  • 将筛选结果导出为新的 CSV 文件
  • 为关注的行动添加书签

调查工作流

第 1 步:使用 KAPE 收集痕迹
# Full triage collection from forensic image mounted at E:
kape.exe --tsource E: --tdest C:\Cases\Case001\Collected --target KapeTriage --vhdx TriageImage --zv false
第 2 步:使用 EZ Tools 处理痕迹
# Process all collected artifacts
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 时间戳来识别时间戳篡改
  6. 使用书签记录发现结果,并导出筛选后的视图
步骤 4:时间戳篡改检测
# In Timeline Explorer, compare these columns:
# Created0x10 ($STANDARD_INFORMATION) vs Created0x30 ($FILE_NAME)
# If Created0x10 < Created0x30, timestomping is indicated
# $FILE_NAME timestamps are harder to manipulate than $STANDARD_INFORMATION

取证痕迹参考

工具痕迹位置
MFTECmd$MFTNTFS 卷根目录
MFTECmd$J(USN Journal)$Extend$UsnJrnl:$J
PECmdPrefetch 文件C:\Windows\Prefetch*.pf
RECmdNTUSER.DATC:\Users{user}\NTUSER.DAT
RECmdSYSTEM 配置单元C:\Windows\System32\config\SYSTEM
RECmdSAM 配置单元C:\Windows\System32\config\SAM
RECmdSOFTWARE 配置单元C:\Windows\System32\config\SOFTWARE
EvtxECmd事件日志C:\Windows\System32\winevt\Logs*.evtx
LECmdLNK 文件C:\Users{user}\AppData\Roaming\Microsoft\Windows\Recent\
JLECmd跳转列表C:\Users{user}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\
SBECmdShellbagsNTUSER.DAT 和 UsrClass.dat 注册表配置单元

常见调查场景

恶意软件执行证据
  1. 使用 PECmd 解析 Prefetch,识别已执行的二进制文件
  2. 与 MFT 交叉比对,获取文件创建时间戳
  3. 使用 RECmd 检查 Amcache.hve,获取可执行文件的 SHA1 哈希值
  4. 与进程创建的事件日志条目关联(事件 ID 4688)
数据外泄调查
  1. 使用 MFTECmd 解析 USN Journal,查找文件重命名/删除操作
  2. 使用 LECmd 分析 LNK 文件,查找最近访问的文档
  3. 使用 SBECmd 查看 Shellbags,了解目录浏览活动
  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 合并为超级时间线

参考资料

评论

支持 Markdown