Application Execution Forensics β SOC Analyst Cheatsheet
Practical Guide for Execution Analysis & Incident Response
Quick Reference: Execution Artifacts Matrix
Prefetch
β
β (Last 8)
β
β
~30 days
Win7-11 (Workstations)
BAM/DAM
β
β (Last)
β
β
~7 days
Win10 1709+
ShimCache
β
β
β
β
Until reboot
All Windows
Amcache
β
β (Install)
β
β
Persistent
Win7+
Jump Lists
β
β (Multi)
β
β
Persistent
Win7+
Investigation Priority Matrix
CRITICAL
Prefetch
Recent execution (30 days), run count
Both
Medium
CRITICAL
BAM/DAM
Last 7 days execution
Live
High
HIGH
ShimCache
Historical presence
Both
Medium
HIGH
Amcache
SHA1 hashes, installed apps
Both
Low
MEDIUM
Jump Lists
User file access patterns
Both
Low
Core Investigation Questions
The Three Critical Questions:
What executables ran? (Program identification)
When did they run? (Timeline construction)
Where did they run from? (Path analysis for anomalies)
Additional Context:
How many times? (Frequency analysis)
What files did they touch? (Associated files/DLLs)
Who ran them? (User attribution)
SOC Investigation Workflows
Workflow 1: Malware Detection & Triage (CRITICAL)
Scenario: Suspected malware execution on endpoint
Investigation Steps:
Step 1: Check Recent Execution (Last 7 Days) - BAM/DAM
Why first: Most recent activity, fastest to check
PowerShell - Parse BAM with Timestamps:
Red Flags in BAM/DAM:
β Executables from
%TEMP%,%APPDATA%,C:\Users\Publicβ Random filename patterns (e.g.,
a3f8b2c9.exe)β Known attacker tools (psexec, mimikatz, procdump)
β Script interpreters with suspicious arguments
β Execution from USB/removable media paths
Step 2: Analyse Prefetch (Last 30 Days + Run Count)
Why second: Shows execution history, frequency, file dependencies
Quick Check - List Recent Prefetch Files:
PowerShell - Check Prefetch Status:
Using PECmd (Zimmerman Tool) - RECOMMENDED:
Key Metadata from Prefetch:
Executable name and path
Run count (how many times executed)
Last 8 execution timestamps (Win10/11)
Files and DLLs loaded by executable
Directories accessed
Red Flags in Prefetch:
β Multiple prefetch files for same executable = ran from different locations
Example:
CMD.EXE-123ABC.pfANDCMD.EXE-456DEF.pf
β Executables from unusual paths
β Known malware/tool names
β High run count on suspicious files
β Recent execution of system tools (psexec, wmic, reg.exe)
Special Note on Multiple Prefetch Files:
Step 3: Check ShimCache (Historical Execution)
Why third: Shows files that existed/were accessed, even if deleted
Live System Query:
PowerShell - Manual ShimCache Query (Limited):
Using AppCompatCacheParser (REQUIRED):
Key Metadata from ShimCache:
Executable path
Last modification time
File size
Executed flag (older Windows only)
Critical Understanding:
Red Flags in ShimCache:
β Executables that no longer exist on disk
β Modifications to system tools
β Tools from temp directories
β Executables from external media
Step 4: Analyse Amcache (SHA1 Hashes + Installed Apps)
Why fourth: SHA1 hashes allow definitive malware identification
Location:
Using AmcacheParser (Zimmerman Tool):
Key Metadata from Amcache:
Executable name and full path
SHA1 hash (CRITICAL for identification)
File size
Compilation timestamp
Publisher information
Install timestamp
Investigative Value:
Red Flags in Amcache:
β Executables without valid digital signatures
β SHA1 hashes matching known malware (VirusTotal)
β Suspicious publisher names or no publisher
β Executables from temp/appdata locations
β Recent install timestamps during incident window
PowerShell Script: Comprehensive Execution Triage
Workflow 2: User Activity & Timeline Reconstruction
Scenario: Understand what user did during incident timeframe
Jump List Analysis (File Access Timeline)
Location:
PowerShell - List Jump Lists:
Using JLECmd (Zimmerman Tool):
Key Jump List AppIDs:
1b4dd67f29cb1962
Microsoft Word
Documents opened
1bc392b8e104a00e
Microsoft Excel
Spreadsheets accessed
2d9a7c5e0f5c0ad9
Microsoft PowerPoint
Presentations accessed
5f7b5f1e01b83767
Windows Explorer
Folders/files browsed
b8b2d1b5e3cd6f1e
Google Chrome
Recently accessed items
f214ca2f1b9c2c1a
Remote Desktop
RDP connections!
Jump List Forensic Value:
Files accessed per application
Remote Desktop connection history (destination IPs!)
MRU order (most recently used)
File metadata (path, size, timestamps)
Network share access
Red Flags in Jump Lists:
β Access to sensitive files (HR data, financial docs)
β Remote Desktop connections to unusual IPs
β File access from external drives
β Access to files that are now deleted
Cross-Artifact Timeline Correlation
Scenario: Build complete execution timeline for incident window
Steps:
Extract all execution artifacts
Merge timelines (use TimelineExplorer or Excel)
Sort by timestamp
Filter by incident timeframe
Look for correlated events
Correlation Example:
Workflow 3: Lateral Movement Detection
Scenario: Detect remote execution and lateral movement
Key Indicators in Execution Artifacts
1. PsExec Execution
Prefetch indicators:
PSEXEC.EXE-*.pfPSEXESVC.EXE-*.pf(PsExec service component)
Search command:
2. Remote Desktop Activity
Jump List indicators:
Remote Desktop AppID:
f214ca2f1b9c2c1aContains destination IPs and computer names
JLECmd analysis:
3. WMI Execution
Prefetch indicators:
WMIC.EXE-*.pfWMIPRVSE.EXE-*.pf(WMI Provider Host)
Search command:
4. Remote Service Creation
Prefetch indicators:
SC.EXE-*.pf(service control)NET.EXE-*.pforNET1.EXE-*.pf
Artifact-Specific Deep Dives
Prefetch Deep Dive
File Naming Convention:
Multiple Prefetch Files Scenarios:
NORMAL (Hosting Apps):
SUSPICIOUS (Standard Apps):
Prefetch Metadata (Win10/11):
Last 8 execution times (precise timeline)
Files/DLLs loaded (dependencies)
Directories accessed (file system activity)
Volume information (drive serial numbers)
Prefetch Limitations:
Prefetch Analysis with PECmd:
Output CSV Columns of Interest:
SourceFile- Prefetch filenameExecutable- Program that ranRunCount- Times executedLastRun- Most recent executionPreviousRun0-7- Previous 7 executions (Win10/11)FilesLoaded- DLLs and files accessedDirectoriesLoaded- Directories accessed
BAM/DAM Deep Dive
Background Activity Moderator (BAM):
Windows service controlling background app activity
Updated at boot
Stores last execution time per user
Desktop Activity Moderator (DAM):
Similar to BAM
Desktop-focused activity
Registry Location:
Data Structure:
Typical Retention:
~7 days of data
Cleared on system updates/reboots (inconsistent)
BAM/DAM Advantages:
BAM/DAM Limitations:
PowerShell Parsing (Advanced):
ShimCache Deep Dive
Application Compatibility Cache:
Tracks executables for compatibility shimming
Updated continuously during runtime
Written to registry at shutdown
Critical Understanding:
Older Windows (XP-8.1):
Has execution flag (more reliable)
Can prove execution
ShimCache Use Cases:
Investigative Patterns:
AppCompatCacheParser Output:
LastModifiedTimeUTC- File modification timePath- Full executable pathSize- File sizeExecuted- Execution flag (pre-Win10 only)
Amcache Deep Dive
Amcache Unique Value:
SHA1 hashes for executables and drivers
Definitive file identification
Survives file rename/move
Amcache Key Locations (Internal):
SHA1 Hash Investigation Workflow:
Extract SHA1 from Amcache:
Check VirusTotal:
Upload SHA1 to VirusTotal
Or use API for batch lookups
OSINT Research:
Search SHA1 in threat intel feeds
Check against known malware databases
Review MISP, AlienVault OTX, etc.
Amcache Metadata:
Executable path and name
SHA1 hash
File size
Compilation timestamp
Publisher/signer information
First installation timestamp
Program ID
Detection Patterns:
Jump List Deep Dive
Jump List Types:
AutomaticDestinations:
Automatically tracked files
Recent items accessed via application
MRU order maintained
CustomDestinations:
User-pinned items
Persistent across sessions
Jump List Structure:
Jump List Contents:
LNK stream per accessed item
Target file path
Timestamps (accessed, modified, created)
File size
Network share information
MRU position
Critical AppIDs for SOC:
f214ca2f1b9c2c1a
Remote Desktop
Lateral movement destinations
5f7b5f1e01b83767
Windows Explorer
File system navigation
adecfb853d77462
Microsoft Outlook
Email attachments
1b4dd67f29cb1962
Microsoft Word
Document access
fb3b0dbfee58fac8
7-Zip
Compressed file access
RDP Jump List Analysis (Critical):
Remote Desktop Jump List contains:
Destination IP addresses
Computer names
Connection timestamps
User accounts used
JLECmd for RDP Connections:
Common Attack Scenarios & Detection
Scenario 1: Ransomware Execution
Execution Artifact Indicators:
Prefetch:
BAM:
Timeline Pattern:
PowerShell Detection Script:
Scenario 2: Credential Dumping
Execution Artifact Indicators:
Prefetch:
Jump Lists:
Timeline Pattern:
Detection Commands:
Scenario 3: Lateral Movement
Execution Artifact Indicators:
Prefetch:
Jump Lists:
Timeline Pattern:
Detection Script:
SOC Quick Reference Commands
Rapid Triage Commands
Check Prefetch Enabled:
List Recent Executions (Prefetch):
Query BAM (Last 7 Days):
Search Specific Tool:
Amcache Location:
Jump Lists Location:
Collection Commands (Live Response)
Collect All Execution Artifacts:
Zimmerman Tools Batch Processing
Parse Everything (Requires Zimmerman Tools):
Detection Rules & IOCs
High-Confidence Malware Indicators
Prefetch Patterns:
Run Count Anomalies:
Path-Based IOCs:
Known Attack Tool Prefetch Signatures
Mimikatz
MIMIKATZ.EXE-*.pf
Credential dumping
PsExec
PSEXEC.EXE-*.pf, PSEXESVC.EXE-*.pf
Lateral movement
ProcDump
PROCDUMP.EXE-*.pf
LSASS dumping
Cobalt Strike
BEACON.EXE-*.pf
C2 implant
Netcat
NC.EXE-*.pf
Reverse shell
Meterpreter
METERPRETER.EXE-*.pf
Post-exploitation
PowerSploit
POWERSPLOIT*.pf
PowerShell attacks
Tools Reference
Essential Tools (Eric Zimmerman Suite)
Download: https://ericzimmerman.github.io/
PECmd
Prefetch parsing
CSV, JSON
AppCompatCacheParser
ShimCache parsing
CSV
AmcacheParser
Amcache parsing
CSV
JLECmd
Jump List parsing
CSV
TimelineExplorer
Timeline viewing
GUI
RegistryExplorer
Registry viewing (BAM/DAM)
GUI
Installation:
Alternative Tools
NirSoft:
WinPrefetchView - Prefetch viewer (GUI)
Commercial:
X-Ways Forensics - All artifacts
Magnet AXIOM - Automated parsing
EnCase - Enterprise forensics
Open Source:
RegRipper - Registry parsing (BAM/DAM)
KAPE - Artifact collection
Best Practices
Live Response
β DO:
Collect Prefetch directory FIRST (volatile if tools run)
Export SYSTEM hive for offline analysis
Document all commands executed
Use write-protected USB for tool execution
Hash all collected evidence
β DON'T:
Run excessive tools (creates new prefetch files)
Modify prefetch directory
Run from C: drive (use external media)
Forget to check Prefetch status first
Offline Analysis
β DO:
Parse all artifacts to CSV for timeline correlation
Check Volume Shadow Copies (--vss flag)
Cross-reference multiple artifacts
Validate timestamps with system timezone
Document tool versions used
β DON'T:
Rely on single artifact
Ignore timezone offsets
Forget to check artifact retention periods
Skip SHA1 hash validation (Amcache)
Timeline Construction
Best Practice Workflow:
Parse all artifacts to CSV
Prefetch β prefetch.csv
ShimCache β shimcache.csv
Amcache β amcache.csv
Jump Lists β jumplists.csv
BAM β bam_export.txt (convert to CSV)
Merge timelines
Use TimelineExplorer or Excel
Sort by timestamp
Filter by incident timeframe
Correlate events
Look for related executions
Identify process trees
Track file access patterns
Visualize
Create timeline diagram
Highlight critical events
Document attack chain
Investigation Checklists
Malware Investigation
[ ] Check BAM for recent executions (last 7 days)
[ ] Parse Prefetch for execution history
[ ] Identify executables from suspicious paths
[ ] Check run counts for persistence indicators
[ ] Parse ShimCache for deleted executables
[ ] Extract SHA1 hashes from Amcache
[ ] Cross-reference SHA1 with VirusTotal
[ ] Review Jump Lists for file access patterns
[ ] Build execution timeline
[ ] Document all findings with timestamps
Lateral Movement Investigation
[ ] Search Prefetch for PsExec, WMIC, SC.EXE
[ ] Parse Remote Desktop Jump Lists
[ ] Check BAM for remote execution tools
[ ] Review network share access (Jump Lists)
[ ] Identify reconnaissance tools (net.exe, nltest.exe)
[ ] Document remote connection destinations
[ ] Cross-reference with network logs
[ ] Build lateral movement map
Credential Theft Investigation
[ ] Search for Mimikatz, ProcDump prefetch
[ ] Check Jump Lists for .dmp file access
[ ] Look for compression tool execution (7z, rar)
[ ] Review BAM for dumping tools
[ ] Check Amcache for attacker tool SHA1s
[ ] Document credential access timeline
[ ] Identify potential exfiltration
Summary: Critical Takeaways
Artifact Strengths
Prefetch:
Best for: Execution proof, frequency, timeline
Limitation: ~30 days retention, not on servers
BAM/DAM:
Best for: Very recent activity (7 days)
Limitation: Only last execution, may not survive reboot
ShimCache:
Best for: Deleted file evidence, historical presence
Limitation: Doesn't prove execution (Win10+)
Amcache:
Best for: SHA1 hashes, definitive identification
Limitation: Doesn't prove execution, only presence
Jump Lists:
Best for: File access patterns, RDP connections
Limitation: User-specific, application-dependent
Investigation Strategy
Start with BAM (fastest, most recent)
Parse Prefetch (execution proof, timeline)
Check ShimCache (historical context)
Extract Amcache (SHA1 validation)
Analyse Jump Lists (file access, RDP)
Correlate everything (build complete picture)
Key Principle
Multiple artifacts provide different views of the same event. Cross-correlation is essential for accurate investigation.
Remember: Execution artifacts survive file deletion, anti-forensics, and log clearing. They are your most reliable evidence that a program ran on a system.
Last updated