Analyzing Windows Amcache Artifacts
Overview
Cybersecurity skill for analyzing windows amcache artifacts. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"analyzing windows amcache artifacts"
"Parses and analyzes the Windows Amcache"
Determining which programs have existed or executed on a Windows system during incident response
Correlating SHA-1 hashes from Amcache against known malware databases (VirusTotal, CIRCL, MISP)
Building an application installation and execution timeline for forensic investigations
Identifying deleted executables that leave traces in Amcache even after file removal
Investigating insider threats by documenting which portable or unauthorized applications were present
Analyzing driver loading history to detect rootkits or malicious kernel modules
Do not use as sole proof of program execution. Amcache proves file existence and metadata registration, but ShimCache (AppCompatCache) and Prefetch provide stronger execution evidence. Use all three artifacts together for conclusive analysis.
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- A forensic image or live triage copy of
C:\Windows\appcompat\Programs\Amcache.hve(and associated.LOG1,.LOG2transaction logs) - Eric Zimmerman's AmcacheParser (
AmcacheParser.exe) downloaded from https://ericzimmerman.github.io/ - Eric Zimmerman's Timeline Explorer for viewing parsed CSV output
- Optionally: Registry Explorer for manual hive inspection
- A SHA-1 whitelist of known-good executables (e.g., NSRL hashset) for filtering
- .NET 6+ runtime installed (required by current EZ tools)
- Write access to an output directory for CSV results
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Scope the Analysis — Define what windows amcache artifacts artifacts or data sources to examine and the investigation timeline.
- Preserve Evidence — Create forensic copies of relevant data. Maintain chain of custody documentation.
- Extract Key Indicators — Parse and extract relevant windows amcache artifacts data points from collected artifacts.
- Correlate Findings — Cross-reference extracted data with other sources (threat intel, logs, timelines).
- Build Timeline — Construct a chronological sequence of events related to windows amcache artifacts.
- Document Analysis — Write findings report with evidence, conclusions, and recommendations.
Tools
- Forensic Toolkit — Evidence collection and analysis
- Timeline Tools — Chronological event reconstruction
- Log Analysis Platform — Centralized log parsing and search
Process
- Scope — Define research questions, identify data sources, set time boundaries
- Gather — Collect data from primary sources, APIs, and public records
- Synthesize — Analyze findings, identify patterns, produce actionable report
Verification
- All windows amcache artifacts procedures executed completely and documented
- Findings validated against multiple data sources
- False positives identified and filtered
- Results documented with evidence and timestamps
- Recommendations provided with risk-based prioritization
Anti-Rationalization Table
| Rationalization | Reality |
|---|---|
| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |
| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |