Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Perform comprehensive Windows forensic artifact analysis using Eric Zimmerman's open-source EZ Tools suite including KAPE, MFTECmd, PECmd, LECmd, JLECmd, and Timeline Explorer for parsing registry hives, prefetch files, event logs, and file system metadata.
.claude/skills/performing-windows-artifact-analysis-with-eric-zimmerman-tools/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | — | — |
| case-18 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-07 | ✓→✓ | = Same ✓ | — | — |
| case-10 | ✓→✓ | = Same ✓ | — | — |
Eric Zimmerman's EZ Tools suite is a collection of open-source forensic utilities that have become the global standard for Windows digital forensics investigations. Originally developed by a former FBI agent and current SANS instructor, these tools parse and analyze critical Windows artifacts including the Master File Table ($MFT), registry hives, prefetch files, event logs, shortcut (LNK) files, and jump lists. The suite integrates with KAPE (Kroll Artifact Parser and Extractor) for automated artifact collection and processing, producing structured CSV output that can be ingested into Timeline Explorer for visual analysis. EZ Tools are widely used by law enforcement, corporate incident responders, and forensic consultants worldwide.
KAPE is the primary orchestration tool that automates artifact collection (Targets) and processing (Modules). It uses configuration files (.tkape and .mkape) to define what artifacts to collect and which EZ Tools to run against them.
Installation and Setup:
powershell# 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
Running KAPE Collection and Processing:
powershell# 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 parses the NTFS $MFT, $J (USN Journal), $Boot, $SDS, and $LogFile into human-readable CSV format.
powershell# 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
Key Fields in MFT Output:
| Field | Description | |-------|-------------| | EntryNumber | MFT record number | | ParentEntryNumber | Parent directory MFT record | | InUse | Whether the record is active or deleted | | FileName | Name of the file or directory | | Created0x10 | $STANDARD_INFORMATION creation timestamp | | Created0x30 | $FILE_NAME creation timestamp | | LastModified0x10 | $STANDARD_INFORMATION modification timestamp | | IsDirectory | Boolean indicating directory or file | | FileSize | Logical file size in bytes | | Extension | File extension |
PECmd parses Windows Prefetch files (.pf) to provide evidence of program execution, including run counts and timestamps.
powershell# 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 processes Windows registry hives using batch files that define which keys and values to extract.
powershell# 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 parses Windows Event Log (.evtx) files into structured CSV format with customizable event ID maps.
powershell# 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
powershell# 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
powershell# 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 is the GUI tool for analyzing CSV output from all EZ Tools. It supports filtering, sorting, column grouping, and conditional formatting.
powershell# Launch Timeline Explorer and open CSV output TimelineExplorer.exe "C:\Cases\Output\MFT_output.csv"
Key Timeline Explorer Features:
powershell# Full triage collection from forensic image mounted at E: kape.exe --tsource E: --tdest C:\Cases\Case001\Collected --target KapeTriage --vhdx TriageImage --zv false
powershell# Process all collected artifacts kape.exe --msource C:\Cases\Case001\Collected --mdest C:\Cases\Case001\Processed --module !EZParser
powershell# 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
| Tool | Artifact | Location | |------|----------|----------| | MFTECmd | $MFT | Root of NTFS volume | | MFTECmd | $J (USN Journal) | $Extend\$UsnJrnl:$J | | PECmd | Prefetch files | 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 | Event logs | C:\Windows\System32\winevt\Logs\.evtx | | LECmd | LNK files | C:\Users\{user}\AppData\Roaming\Microsoft\Windows\Recent\ | | JLECmd | Jump lists | C:\Users\{user}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\ | | SBECmd | Shellbags | NTUSER.DAT and UsrClass.dat registry hives |
All EZ Tools produce CSV output that can be:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +14 percentage points is the difference between those two pass rates over the 21 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.