Windows Forensic Artifacts – Investigation Workflow & Cheatsheet
🎯 Master Investigation Workflow
Phase 1: Evidence Identification & Scoping
1. Define Investigation Parameters
├─ Incident type (malware, data theft, insider threat, etc.)
├─ Timeline of interest
├─ Systems and users involved
└─ Initial indicators of compromise (IOCs)
2. Determine Artifact Priority
├─ Volatile artifacts (Prefetch, memory)
├─ Execution evidence
├─ User activity evidence
├─ Persistence mechanisms
└─ File system artifactsPhase 2: Systematic Artifact Collection
Collection Order (by Volatility & Importance)
Priority 1: VOLATILE DATA
├─ Prefetch files (overwritten at 1024 limit)
└─ Live registry (if live response)
Priority 2: EXECUTION EVIDENCE
├─ Amcache.hve
├─ ShimCache (SYSTEM hive)
├─ UserAssist (NTUSER.DAT)
├─ Jump Lists
└─ LNK Files
Priority 3: USER ACTIVITY
├─ ShellBags (USRCLASS.DAT, NTUSER.DAT)
├─ Recent Documents (RecentDocs registry)
├─ Last Visited MRU
└─ Recycle Bin
Priority 4: FILE SYSTEM ARTIFACTS
├─ $MFT
├─ $J (USN Journal)
├─ $LogFile
└─ Alternate Data Streams
Priority 5: PERSISTENCE
└─ AutoStart Extension Points (ASEPs)Phase 3: Artifact Analysis Framework
📂 1. EXECUTION EVIDENCE ARTIFACTS
🔹 Prefetch Analysis
Purpose: Prove program execution, identify execution patterns
Commands:
Key Metadata:
Executable name
8-character hash of executable path
Creation/modification/access timestamps
Run count (number of executions)
Last 8 run times
Files and directories referenced
Volume information
🔹 Amcache Analysis
Purpose: Identify program presence, validate with SHA1 hashes
Commands:
🔹 ShimCache (AppCompatCache) Analysis
Purpose: Historical program presence on system
Commands:
🔹 UserAssist Analysis
Purpose: Track GUI-based program launches
Commands:
Key Value: Tracks GUI program execution with timestamps and frequency
📂 2. USER ACTIVITY ARTIFACTS
🔹 Jump Lists Analysis
Purpose: Identify applications used and files accessed
Commands:
🔹 LNK (Shortcut) Files Analysis
Purpose: Track file and folder access by users
Commands:
🔹 ShellBags Analysis
Purpose: Track folder access and view settings
Commands:
Forensic Value: Proves user navigated to specific folders, even if deleted
🔹 Recycle Bin Analysis
Purpose: Identify deleted files and deletion timeline
Commands:
🔹 Last Visited MRU Analysis
Purpose: Track applications and last file locations accessed
Commands:
📂 3. FILE SYSTEM ARTIFACTS
🔹 Master File Table ($MFT) Analysis
Purpose: Comprehensive file system timeline and metadata
Commands:
🔹 USN Journal ($J) Analysis
Purpose: Track file system changes and operations
Commands:
Key Value: Shows file operations even after files are deleted
🔹 $LogFile Analysis
Purpose: NTFS transaction log for all metadata operations
Commands:
🔹 Alternate Data Streams (ADS) Analysis
Purpose: Detect hidden data within files
Commands:
📂 4. PERSISTENCE MECHANISMS
🔹 AutoStart Extension Points (ASEP) Analysis
Purpose: Identify malware persistence locations
Commands:
Investigation Focus:
Services with suspicious image paths (not in System32)
Unsigned executables in autostart locations
Recent registry LastWrite times during attack window
Base64 encoded commands in registry values
Scripts in startup folders
🔍 CROSS-ARTIFACT ANALYSIS MATRIX
Evidence Correlation Table
Investigation Question
Primary Artifacts
Secondary Artifacts
Validation Method
Confidence Level
Was program executed?
• Prefetch • UserAssist (GUI only)
• Jump Lists • Amcache • LNK files
Prefetch shows run count + last 8 times UserAssist shows GUI launches
HIGH ✅
When was program first run?
• Prefetch creation time (-10s) • UserAssist first run
• Amcache compilation time • ShimCache first appearance • $MFT file creation
Cross-reference timestamps across artifacts VSS for historical validation
HIGH ✅
When was program last run?
• Prefetch modified time (-10s) • UserAssist last run time
• Jump Lists modification • LNK file modification • $J recent operations
Compare last execution timestamps Check for temporal consistency
HIGH ✅
How many times was program executed?
• Prefetch run count • UserAssist run count
• Jump Lists entry count • Multiple LNK files
Run counts should correlate Note: GUI vs CLI differences
HIGH ✅
What files did program access?
• Prefetch file list • Jump Lists (by AppID)
• LNK files • RecentDocs registry • $J file operations
Map files to applications Timeline correlation
MEDIUM-HIGH ✓
What folders did program access?
• Prefetch directory list
• ShellBags • LNK files • OpenSavePidlMRU
Cross-reference paths Check for hidden directories
MEDIUM ✓
What is program's SHA1 hash?
• Amcache (ONLY SOURCE)
None (unique to Amcache)
Extract from Amcache Verify against VirusTotal Compare to known malware
HIGH ✅
Did program exist on system?
• ShimCache • Amcache
• $MFT • Prefetch • $J
ShimCache proves presence $MFT shows file existence Note: Win10+ ShimCache limitations
MEDIUM-HIGH ✓
Was file deleted?
• Recycle Bin (I/I/ I/R files) • $J USN records
• $MFT (deleted entry flag) • $LogFile • ShimCache (may persist)
$I file shows deletion time $J shows delete operation $MFT shows deleted flag
HIGH ✅
When was file deleted?
• Recycle Bin $I metadata • $J delete timestamp
• $LogFile transaction • $MFT timestamp analysis
Parse $I file for deletion time Correlate with $J entries
HIGH ✅
Was file renamed or moved?
• $J rename operations • $LogFile transactions
• $MFT parent directory changes • ShellBags path history
$J shows old and new names Sequence of operations in $LogFile
MEDIUM-HIGH ✓
What folders did user browse?
• ShellBags
• LNK files • Jump Lists • LastVisitedPidlMRU
ShellBags proves navigation LNK files show file access MRU shows application paths
HIGH ✅
Was USB device connected?
• ShellBags (device paths) • LNK files (volume info)
• Registry USBSTOR keys • Prefetch (volume data) • Jump Lists
Volume serial numbers match Drive letter assignments Timestamps correlate
HIGH ✅
When was USB first connected?
• Registry USBSTOR key creation • ShellBags first access
• LNK file with volume serial • Prefetch with volume info
Registry key timestamp First ShellBag entry for device
HIGH ✅
When was USB last connected?
• ShellBags last access • LNK file timestamps
• Registry USBSTOR last write • Prefetch last run (if program executed)
Most recent timestamp for volume serial Last file access from device
HIGH ✅
What files were accessed from USB?
• LNK files (volume serial match) • Jump Lists
• Prefetch (if executables run) • RecentDocs • ShellBags
Filter artifacts by volume serial Match drive letters to volume info
HIGH ✅
Were programs executed from USB?
• Prefetch (volume information) • UserAssist
• Jump Lists • LNK files
Prefetch shows source volume Cross-reference with USB timeline
HIGH ✅
What files were opened by user?
• Jump Lists (by application) • LNK files
• RecentDocs registry • LastVisitedPidlMRU • Office Recent files
Application-specific tracking Timeline of document access
HIGH ✅
What applications did user run?
• Prefetch • UserAssist
• Jump Lists • Amcache • ShimCache
Multiple sources confirm usage Frequency and timing data
HIGH ✅
Is malware persistent?
• ASEP registry keys • Startup folder contents
• Scheduled Tasks • Windows Services • WMI subscriptions
Check all autostart locations Verify signatures Compare across systems (stacking)
HIGH ✅
When was persistence established?
• Registry key LastWrite times • Scheduled Task creation time
• File creation time (startup folder) • Service creation time • $MFT timestamp
LastWrite time of Run keys Task file creation timestamp
HIGH ✅
What persistence mechanisms exist?
• Autoruns comprehensive scan • ASEP registry analysis
• Manual service review • WMI subscription query • DLL hijacking check
Enumerate all autostart points Identify unsigned/unusual entries
HIGH ✅
Is data hidden in files?
• ADS scan (streams.exe) • AlternateStreamView
• PowerShell Get-Item • dir /R command
Scan for non-Zone.Identifier streams Examine suspicious streams
HIGH ✅
Were files archived/compressed?
• Prefetch (7zip, WinRAR, WinZip) • Jump Lists (archive tools)
• $J (.zip, .rar, .7z creation) • UserAssist • $MFT
Archive tool execution evidence Archive file creation events
HIGH ✅
Were files uploaded/exfiltrated?
• Prefetch (FTP, cloud tools) • Jump Lists (upload apps)
• Browser artifacts • Network share access • $J file operations
Upload tool execution Large file movements Network connections
MEDIUM-HIGH ✓
Were files staged for exfiltration?
• ShellBags (new directories) • $J (directory creation)
• $MFT (staging folder) • Jump Lists (mass file access) • LNK files
New directory creation Mass file copy operations Temporal clustering
MEDIUM-HIGH ✓
What network shares were accessed?
• ShellBags (UNC paths) • LNK files (network info)
• Jump Lists • LastVisitedPidlMRU • RecentDocs
UNC path evidence Network share information Remote file access
HIGH ✅
Were system files modified?
• $LogFile transactions • $J operations
• $MFT timestamps • ShimCache updates • Prefetch for system tools
System file modification events Suspicious system tool execution
HIGH ✅
Were logs cleared?
• Prefetch (wevtutil.exe) • $J (log file deletions)
• Event log timestamps • UserAssist • ShimCache
Log clearing tool execution Event log file operations Suspicious gaps in logs
HIGH ✅
Were anti-forensic tools used?
• Prefetch (CCleaner, BleachBit, etc.) • UserAssist
• Jump Lists • Amcache SHA1 • ShimCache
Tool execution evidence Timeline of cleaning activity Hash matching
HIGH ✅
Was remote access tool used?
• Prefetch (RDP, VNC, TeamViewer) • Amcache
• ASEP (persistence check) • Services • Network artifacts
Remote tool execution Persistence mechanisms Connection timestamps
HIGH ✅
Were credentials dumped?
• Prefetch (mimikatz, pwdump) • Amcache SHA1
• $J (SAM/SYSTEM access) • Jump Lists • File access to credential stores
Credential dumping tool execution Access to credential files Hash identification
HIGH ✅
Was lateral movement performed?
• Prefetch (psexec, wmic) • UserAssist
• Scheduled Tasks (remote) • Services (remote creation) • Network artifacts
Lateral movement tool execution Remote task/service creation Timeline correlation
HIGH ✅
Were reconnaissance commands run?
• Prefetch (cmd, powershell, wmic) • UserAssist
• Jump Lists • RecentDocs • ShimCache
System enumeration tools Command line execution Unusual tool combinations
MEDIUM-HIGH ✓
Was malware downloaded?
• Browser artifacts • Prefetch (download locations)
• $J (file creation in Downloads) • Zone.Identifier ADS • LNK files
Download timestamp Zone.Identifier shows source File creation in Downloads
HIGH ✅
Was file opened from email attachment?
• Jump Lists (email client) • LNK files
• Zone.Identifier ADS • Outlook artifacts • Temp folder activity
Email client file access Temp folder execution Zone information
MEDIUM-HIGH ✓
Did program crash or fail?
• Prefetch (may exist without success) • Event logs
• $LogFile errors • Application crash dumps • Windows Error Reporting
Prefetch created ≠ successful execution Error events correlate
MEDIUM ⚠️
What was timeline of attack?
• ALL ARTIFACTS COMBINED
• Super timeline creation • VSS for historical depth
Build comprehensive timeline Correlate all timestamps Identify phases of attack
HIGH ✅
🎯 Artifact Combination Strategies
Maximum Confidence Combinations
Execution Proof (Highest Confidence):
File Access Proof:
USB Device Usage:
Persistence Confirmation:
Data Exfiltration:
🚨 INVESTIGATION RED FLAGS MASTER LIST
Execution-Based Indicators
🛠️ TOOL COMMAND REFERENCE LIBRARY
Zimmerman Tools Suite
PECmd (Prefetch)
AmcacheParser
AppCompatCacheParser (ShimCache)
JLECmd (Jump Lists)
LECmd (LNK Files)
SBECmd (ShellBags)
RBCmd (Recycle Bin)
MFTECmd (MFT, $J, etc.)
Registry Explorer
RECmd (Registry Explorer CLI)
KAPE (Kroll Artifact Parser and Extractor)
Sysinternals Tools
Autoruns
Streams (ADS)
FTK Imager
PowerShell Commands
Alternate Data Streams
Registry Access
Command Prompt Commands
Recycle Bin Manual Examination
Alternate Data Streams
📊 ARTIFACT RELIABILITY MATRIX
Artifact
Execution Proof
Timing Accuracy
Historical Depth
Data Richness
Forensic Value
Prefetch
✅ High (Win7-8) ⚠️ Medium (Win10+)
✅ Excellent (±10 sec)
⚠️ Limited (Last 8 times)
✅ High (Files accessed)
⭐⭐⭐⭐⭐
Amcache
❌ Low (Presence only)
✅ Good (Multiple timestamps)
✅ Excellent (Historical)
⭐ Very High (SHA1 hashes!)
⭐⭐⭐⭐⭐
ShimCache
❌ None (Win10+) ⚠️ Low (Win7-8)
⚠️ Limited (Mod time only)
✅ Excellent (1024 entries)
⚠️ Medium (Paths only)
⭐⭐⭐
UserAssist
✅ High (GUI only)
✅ Good
⚠️ Limited (Per application)
✅ High (Focus time)
⭐⭐⭐⭐
Jump Lists
✅ High (Indirect)
✅ Excellent
⚠️ Limited (Recent items)
✅ High (File associations)
⭐⭐⭐⭐
LNK Files
⚠️ Medium (File access)
✅ Excellent
⚠️ Limited (Latest only)
✅ Very High (Device info)
⭐⭐⭐⭐
ShellBags
⚠️ Medium (Folder access)
✅ Good
✅ Excellent
✅ Very High (Exotic items)
⭐⭐⭐⭐
$MFT
❌ None
✅ Excellent
✅ Excellent
✅ Very High
⭐⭐⭐⭐⭐
$J
❌ None
✅ Excellent
⚠️ Medium (Circular log)
⭐ Very High (Operations)
⭐⭐⭐⭐⭐
$LogFile
❌ None
✅ Excellent
❌ Low (Very recent)
⭐ Very High (Transactions)
⭐⭐⭐
🔑 KEY TAKEAWAYS
Critical Rules to Remember
Prefetch Priority
Collect FIRST - it's volatile
Proves execution (with caveats on Win10+)
Contains last 8 execution times
Amcache is Unique
ONLY native source of SHA1 hashes
Does NOT prove execution
Excellent for malware identification
ShimCache on Win10+
Does NOT prove execution
Only proves file existed
Useful for historical presence
Cross-Reference Everything
Single artifact = low confidence
Multiple artifacts = high confidence
Build correlation matrix
Understand Windows Versions
Win7/8 vs Win10/11 behavior differs
Prefetch compression on Win10/11
ShimCache reliability decreased
Timeline is King
Build comprehensive super timeline
Correlate across all artifacts
Look for temporal patterns
SHA1 Hashes Matter
Use Amcache for executable identification
Cross-reference with VirusTotal
Identify known good vs. known bad
Persistence Hunting
Check all ASEP locations
Review Scheduled Tasks
Examine Windows Services
Stack results across systems
📞 QUICK REFERENCE CARD
Top 5 Evidence of Execution Artifacts
Prefetch - Proves execution, timing, run count
Amcache - SHA1 hashes, metadata
UserAssist - GUI program tracking
Jump Lists - Application file access
ShimCache - Historical presence (Win10+ caveat)
Top 5 User Activity Artifacts
LNK Files - File/folder access, device info
ShellBags - Folder navigation
Jump Lists - Recent documents
RecentDocs/MRU - Application usage
Recycle Bin - Deleted files
Top 5 File System Artifacts
$MFT - Complete file metadata
$J - Change journal (creates, deletes, renames)
$LogFile - NTFS transactions
ADS - Hidden data streams
Volume Shadow Copies - Historical snapshots
Top 5 Zimmerman Tools
PECmd - Prefetch parsing
MFTECmd - File system analysis
JLECmd - Jump List parsing
LECmd - LNK file parsing
Registry Explorer - Registry analysis
Top Investigation Commands
For DFIR Practitioner
Last updated