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 artifacts

Phase 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

  1. Prefetch Priority

    • Collect FIRST - it's volatile

    • Proves execution (with caveats on Win10+)

    • Contains last 8 execution times

  2. Amcache is Unique

    • ONLY native source of SHA1 hashes

    • Does NOT prove execution

    • Excellent for malware identification

  3. ShimCache on Win10+

    • Does NOT prove execution

    • Only proves file existed

    • Useful for historical presence

  4. Cross-Reference Everything

    • Single artifact = low confidence

    • Multiple artifacts = high confidence

    • Build correlation matrix

  5. Understand Windows Versions

    • Win7/8 vs Win10/11 behavior differs

    • Prefetch compression on Win10/11

    • ShimCache reliability decreased

  6. Timeline is King

    • Build comprehensive super timeline

    • Correlate across all artifacts

    • Look for temporal patterns

  7. SHA1 Hashes Matter

    • Use Amcache for executable identification

    • Cross-reference with VirusTotal

    • Identify known good vs. known bad

  8. 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

  1. Prefetch - Proves execution, timing, run count

  2. Amcache - SHA1 hashes, metadata

  3. UserAssist - GUI program tracking

  4. Jump Lists - Application file access

  5. ShimCache - Historical presence (Win10+ caveat)

Top 5 User Activity Artifacts

  1. LNK Files - File/folder access, device info

  2. ShellBags - Folder navigation

  3. Jump Lists - Recent documents

  4. RecentDocs/MRU - Application usage

  5. Recycle Bin - Deleted files

Top 5 File System Artifacts

  1. $MFT - Complete file metadata

  2. $J - Change journal (creates, deletes, renames)

  3. $LogFile - NTFS transactions

  4. ADS - Hidden data streams

  5. Volume Shadow Copies - Historical snapshots

Top 5 Zimmerman Tools

  1. PECmd - Prefetch parsing

  2. MFTECmd - File system analysis

  3. JLECmd - Jump List parsing

  4. LECmd - LNK file parsing

  5. Registry Explorer - Registry analysis

Top Investigation Commands


For DFIR Practitioner

Last updated