Application Execution Forensics – SOC Analyst Cheatsheet

Practical Guide for Execution Analysis & Incident Response


Quick Reference: Execution Artifacts Matrix

Artifact
What Ran
When Ran
Where From
Count
Persistence
OS Support

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

Priority
Artifact
Best For
Live/Dead
Volatility

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:

  1. What executables ran? (Program identification)

  2. When did they run? (Timeline construction)

  3. Where did they run from? (Path analysis for anomalies)

Additional Context:

  1. How many times? (Frequency analysis)

  2. What files did they touch? (Associated files/DLLs)

  3. 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.pf AND CMD.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:

AppID
Application
Forensic Value

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:

  1. Extract all execution artifacts

  2. Merge timelines (use TimelineExplorer or Excel)

    • Sort by timestamp

    • Filter by incident timeframe

    • Look for correlated events

  3. 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-*.pf

  • PSEXESVC.EXE-*.pf (PsExec service component)

Search command:

2. Remote Desktop Activity

Jump List indicators:

  • Remote Desktop AppID: f214ca2f1b9c2c1a

  • Contains destination IPs and computer names

JLECmd analysis:

3. WMI Execution

Prefetch indicators:

  • WMIC.EXE-*.pf

  • WMIPRVSE.EXE-*.pf (WMI Provider Host)

Search command:

4. Remote Service Creation

Prefetch indicators:

  • SC.EXE-*.pf (service control)

  • NET.EXE-*.pf or NET1.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 filename

  • Executable - Program that ran

  • RunCount - Times executed

  • LastRun - Most recent execution

  • PreviousRun0-7 - Previous 7 executions (Win10/11)

  • FilesLoaded - DLLs and files accessed

  • DirectoriesLoaded - 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 time

  • Path - Full executable path

  • Size - File size

  • Executed - 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:

  1. Extract SHA1 from Amcache:

  2. Check VirusTotal:

    • Upload SHA1 to VirusTotal

    • Or use API for batch lookups

  3. 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:

AppID
Application
Investigation Value

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

Tool
Prefetch Name
Purpose

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/

Tool
Purpose
Output Format

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:

  1. 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)

  2. Merge timelines

    • Use TimelineExplorer or Excel

    • Sort by timestamp

    • Filter by incident timeframe

  3. Correlate events

    • Look for related executions

    • Identify process trees

    • Track file access patterns

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

  1. Start with BAM (fastest, most recent)

  2. Parse Prefetch (execution proof, timeline)

  3. Check ShimCache (historical context)

  4. Extract Amcache (SHA1 validation)

  5. Analyse Jump Lists (file access, RDP)

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