Communitygithub.com

Analyse von Windows Amcache-Artefakten

Parst die Windows Amcache.hve-Registrierungsstruktur mit Eric Zimmermans Werkzeugen.

Was ist Analyse von Windows Amcache-Artefakten?

Dieses Skill ermöglicht die forensische Analyse der Windows Amcache.hve-Registrierungsstruktur, um installierte und ausgeführte Programme, Treiber und Dateien auf einem Windows-System zu identifizieren. Es nutzt Eric Zimmermans AmcacheParser, um die Hive-Datei zu parsen und strukturierte CSV-Dateien zu erzeugen, die unter anderem SHA-1-Hashes, Dateipfade, Installationsdaten und Treiberdetails enthalten. Die Ergebnisse lassen sich mit Bedrohungsdatenbanken wie VirusTotal und CIRCL abgleichen und mit anderen Artefakten wie ShimCache und Prefetch kombinieren, um eine vollständige Ausführungshistorie zu erstellen. Das Skill unterstützt Plattformen wie Windows 7, 8, 10 und 11 und hilft bei Incident Response, Malware-Analyse und der Aufdeckung von Insider-Bedrohungen, indem es auch gelöschte Dateien erfasst und Timestomping-Angriffe erkennt. Es ist in PowerShell und mit den EZ-Tools umsetzbar, wobei Timeline Explorer für die visuelle Analyse der CSV-Ausgabe empfohlen wird.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-windows-amcache-artifacts

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Analysieren von Windows Amcache-Artefakten

Wann anwenden

  • Feststellen, welche Programme auf einem Windows-System während der Incident Response vorhanden waren oder ausgeführt wurden
  • Abgleichen von SHA-1-Hashes aus der Amcache mit bekannten Malware-Datenbanken (VirusTotal, CIRCL, MISP)
  • Erstellen einer Anwendungsinstallations- und Ausführungszeitachse für forensische Untersuchungen
  • Identifizieren gelöschter ausführbarer Dateien, die auch nach dem Entfernen Spuren in der Amcache hinterlassen
  • Untersuchen von Insider-Bedrohungen durch Dokumentation, welche portablen oder nicht autorisierten Anwendungen vorhanden waren
  • Analysieren des Treiberladungsverlaufs zur Erkennung von Rootkits oder bösartigen Kernelmodulen

Nicht verwenden als alleiniger Beweis für die Programmausführung. Die Amcache belegt die Dateiexistenz und Metadaten-Registrierung, aber ShimCache (AppCompatCache) und Prefetch liefern stärkere Ausführungsbelege. Verwenden Sie alle drei Artefakte gemeinsam für eine schlüssige Analyse.

Voraussetzungen

  • Ein forensisches Image oder eine Live-Triage-Kopie von C:\Windows\appcompat\Programs\Amcache.hve (sowie zugehörige .LOG1, .LOG2-Transaktionsprotokolle)
  • Eric Zimmermans AmcacheParser (AmcacheParser.exe) heruntergeladen von https://ericzimmerman.github.io/
  • Eric Zimmermans Timeline Explorer zum Anzeigen der geparsten CSV-Ausgabe
  • Optional: Registry Explorer für manuelle Hive-Inspektion
  • Eine SHA-1-Whiteliste bekannter gutartiger ausführbarer Dateien (z. B. NSRL-Hashset) zum Filtern
  • .NET 6+ Laufzeitumgebung installiert (erforderlich für aktuelle EZ-Tools)
  • Schreibzugriff auf ein Ausgabeverzeichnis für CSV-Ergebnisse

Arbeitsablauf

Schritt 1: Erwerben der Amcache.hve-Datei

Extrahieren Sie die Amcache-Hive aus einem forensischen Image oder einem Live-System:

# Von einem Live-System (erhöhte Rechte und Raw-Kopierwerkzeug erforderlich)
# Amcache.hve ist vom System gesperrt; verwenden Sie ein Raw-Disk-Kopierwerkzeug
# Option A: FTK Imager – Image einbinden und navigieren zu:
# C:\Windows\appcompat\Programs\Amcache.hve
# Auch sammeln: Amcache.hve.LOG1, Amcache.hve.LOG2

# Option B: Verwenden von KAPE für automatisierte Triage-Sammlung
kape.exe --tsource C: --tdest D:\Evidence\%m --target Amcache

# Option C: Von einem eingebundenen forensischen Image (E: = eingebundenes Image)
copy "E:\Windows\appcompat\Programs\Amcache.hve" D:\Evidence\
copy "E:\Windows\appcompat\Programs\Amcache.hve.LOG1" D:\Evidence\
copy "E:\Windows\appcompat\Programs\Amcache.hve.LOG2" D:\Evidence\

Sammeln Sie immer die Transaktionsprotokolldateien (.LOG1, .LOG2) zusammen mit der Hive. AmcacheParser spielt nicht bestätigte Transaktionen aus diesen Protokollen ab, um die vollständigsten Daten wiederherzustellen.

Schritt 2: Parsen der Amcache mit AmcacheParser

Führen Sie AmcacheParser gegen die erworbene Hive aus:

# Basis-Parsing mit CSV-Ausgabe
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" --csv "D:\Evidence\Output"

# Parsen mit einer SHA-1-Whiteliste zum Ausschließen bekannter gutartiger Einträge (NSRL)
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" -w "D:\Whitelists\nsrl_sha1.txt" --csv "D:\Evidence\Output"

# Parsen mit einer SHA-1-Einschlussliste (nur Übereinstimmungen mit bekannten bösartigen Hashes anzeigen)
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" -b "D:\IOCs\malware_sha1.txt" --csv "D:\Evidence\Output"

# Gelöschte Einträge mit hochpräzisen Zeitstempeln einbeziehen
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" --csv "D:\Evidence\Output" -i --mp

AmcacheParser erzeugt mehrere CSV-Dateien im Ausgabeverzeichnis:

AusgabedateiInhalt
Amcache_AssociatedFileEntries.csvDateieinträge mit SHA-1-Hashes, Pfaden, Größen und Zeitstempeln
Amcache_UnassociatedFileEntries.csvVerwaiste Dateieinträge aus älterem Amcache-Format
Amcache_ProgramEntries.csvInstallierte Programm-Metadaten (Name, Herausgeber, Version, Installationsdatum)
Amcache_DeviceContainers.csvUSB- und Geräteverbindungsverlauf
Amcache_DevicePnps.csvPlug-and-Play-Gerätetreiberinformationen
Amcache_DriverBinaries.csvGeladene Treiberbinärdateien mit Pfaden und Hashes

Schritt 3: Analysieren von Dateieinträgen auf verdächtige Programme

Öffnen Sie die Datei AssociatedFileEntries.csv im Timeline Explorer und prüfen Sie die wichtigsten Spalten:

Wichtige zu prüfende Spalten:
- ProgramId          : Verknüpft die Datei mit ihrem übergeordneten Programmeintrag
- SHA1               : Hash für Bedrohungsanalyse-Abfragen
- FullPath           : Ursprünglicher Dateispeicherort auf der Festplatte
- FileSize           : Größe der ausführbaren Datei
- FileKeyLastWriteTimestamp : Wann der Amcache-Eintrag zuletzt aktualisiert wurde
- Name               : Dateiname
- Publisher           : Herausgeber der Codesignatur (leer = unsigniert)
- BinProductVersion  : Versionszeichenfolge aus dem PE-Header
- LinkDate           : PE-Übersetzungszeitstempel (nützlich zum Erkennen von Timestomping)

Filtern Sie nach verdächtigen Indikatoren:

# Im Timeline Explorer diese Filter anwenden:

# 1. Unsignierte ausführbare Dateien finden (potenziell bösartig)
Publisher-Spalte = (leer)

# 2. Ausführbare Dateien von verdächtigen Pfaden finden
FullPath enthält: \temp\, \appdata\, \downloads\, \public\, \programdata\

# 3. Ausführbare Dateien mit aktuellen Zeitstempeln während des Vorfallzeitfensters finden
FileKeyLastWriteTimestamp zwischen: 2026-03-15 00:00:00 und 2026-03-16 00:00:00

# 4. Ausführbare Dateien mit verdächtigen Übersetzungsdaten finden (Timestomping)
LinkDate Jahr < 2015 UND FileKeyLastWriteTimestamp Jahr = 2026

Schritt 4: Abgleichen von SHA-1-Hashes mit Bedrohungsdaten

Extrahieren Sie SHA-1-Hashes und prüfen Sie sie gegen Malware-Datenbanken:

# Eindeutige SHA-1-Hashes aus der geparsten Ausgabe extrahieren
# Verwenden von PowerShell zum Extrahieren der SHA1-Spalte
Import-Csv "D:\Evidence\Output\Amcache_AssociatedFileEntries.csv" |
  Select-Object -ExpandProperty SHA1 -Unique |
  Where-Object { $_ -ne "" } |
  Out-File "D:\Evidence\Output\extracted_hashes.txt"

# Hashes gegen VirusTotal mit vt-cli prüfen
foreach ($hash in Get-Content "D:\Evidence\Output\extracted_hashes.txt") {
    vt file $hash --format json | Select-Object -Property meaningful_name, last_analysis_stats
}

# Hashes gegen CIRCL hashlookup prüfen
foreach ($hash in Get-Content "D:\Evidence\Output\extracted_hashes.txt") {
    Invoke-RestMethod -Uri "https://hashlookup.circl.lu/lookup/sha1/$hash"
}

# Mit NSRL abgleichen, um bekannte gute vs. unbekannte zu identifizieren
# Unbekannte Hashes, die nicht in NSRL sind, rechtfertigen eine genauere Untersuchung

Schritt 5: Analysieren von Programmeinträgen auf nicht autorisierte Installationen

Prüfen Sie die Datei ProgramEntries.csv auf Software, die der Angreifer möglicherweise installiert hat:

Wichtige Spalten in ProgramEntries:
- ProgramName        : Anzeigename der installierten Anwendung
- ProgramVersion     : Versionszeichenfolge
- Publisher          : Software-Herausgeber
- InstallDate        : Wann das Programm installiert wurde
- Source             : Installationsquelle (msi, exe, usw.)
- UninstallKey       : Deinstallationspfad der Registrierung
- PathsList         : Installationsverzeichnisse

Suchen Sie nach:

  • Remote-Zugriffswerkzeugen (AnyDesk, TeamViewer, ngrok, Chisel)
  • Hacking-Werkzeugen (Mimikatz, PsExec, Cobalt Strike)
  • Tunnel-Dienstprogrammen (plink, socat, WireGuard)
  • Programmen, die während des Vorfallzeitfensters installiert wurden
  • Programmen, die an nicht standardmäßigen Speicherorten installiert wurden

Schritt 6: Analysieren von Treiberbinärdateien auf Rootkit-Hinweise

Prüfen Sie die Datei DriverBinaries.csv auf verdächtige geladene Treiber:

Wichtige Spalten in DriverBinaries:
- DriverName         : Name des Treibers
- DriverInBox        : Ob er mit Windows ausgeliefert wurde (false = Drittanbieter)
- DriverSigned       : Ob der Treiber eine gültige Signatur hat
- DriverTimeStamp    : Übersetzungszeitstempel
- Product            : Produkt, das mit dem Treiber verknüpft ist
- ProductVersion     : Treiberversion
- SHA1               : Hash der Treiberbinärdatei

Filtern Sie nach DriverInBox = false und DriverSigned = false, um unsignierte Drittanbieter-Treiber zu finden, bei denen es sich um Rootkits oder anfällige Treiber handeln könnte, die bei BYOVD-Angriffen (Bring Your Own Vulnerable Driver) verwendet werden.

Schritt 7: Erstellen einer Zeitachse aus Amcache-Daten

Kombinieren Sie Amcache-Daten mit anderen Artefakten für eine umfassende Zeitachse:

# Zusammenführen der Amcache-CSV mit anderen EZ-Tools-Ausgaben mit Timeline Explorer
# Laden Sie die folgenden CSVs in Timeline Explorer:
# - Amcache_AssociatedFileEntries.csv (Dateibeweise)
# - Amcache_ProgramEntries.csv (Installationsbeweise)
# - Prefetch-Ausgabe von PECmd.exe (Ausführungsbeweise)
# - ShimCache-Ausgabe von AppCompatCacheParser.exe (Ausführungsbeweise)

# Sortieren aller Einträge nach Zeitstempel, um die Angriffssequenz zu rekonstruieren
# Timeline Explorer unterstützt das Laden mehrerer Dateien und spaltenbasiertes Sortieren

# Exportieren der kombinierten Zeitachse
# Datei > Speichern unter CSV > combined_timeline.csv

Schlüsselkonzepte

BegriffDefinition
Amcache.hveEine Windows-Registrierungsstruktur unter C:\Windows\appcompat\Programs\Amcache.hve, die Metadaten zu Anwendungen, Dateien und Treibern für Anwendungskompatibilitätszwecke speichert
Zugehöriger DateieintragEin Amcache-Datensatz, der mit einer bestimmten Programminstallation verknüpft ist und Dateipfad, Größe, Hash und Zeitstempel enthält
Nicht zugehöriger DateieintragEin verwaister Amcache-Datensatz aus einem älteren Format, der nicht mit einem Programmeintrag verknüpft ist; häufig auf Windows 7/8-Systemen
ProgrammeintragAmcache-Datensatz mit Installationsmetadaten: Programmname, Version, Herausgeber, Installationsdatum und Deinstallationsschlüssel
SHA-1-HashKryptografischer Hash, der in der Amcache für jede registrierte Datei gespeichert wird und die Malware-Identifizierung durch Bedrohungsdaten-Abfragen ermöglicht
LinkDateDer PE-Übersetzungszeitstempel, der im ausführbaren Header eingebettet ist; Diskrepanz zu Dateisystem-Zeitstempeln kann auf Timestomping hinweisen
Transaktionsprotokolle.LOG1- und .LOG2-Dateien mit nicht bestätigten Registrierungstransaktionen, die AmcacheParser für eine vollständige Datenwiederherstellung abspielt
NSRL (National Software Reference Library)Von NIST verwaltete Datenbank mit SHA-1-Hashes für bekannte kommerzielle Software, die als Whiteliste zum Filtern gutartiger Einträge verwendet wird

Überprüfung

  • Amcache.hve und Transaktionsprotokolle (LOG1, LOG2) wurden aus dem forensischen Image gesammelt
  • AmcacheParser hat alle erwarteten CSV-Ausgabedateien fehlerfrei erzeugt
  • SHA-1-Hashes wurden extrahiert und gegen VirusTotal oder CIRCL hashlookup geprüft
  • Unsignierte ausführbare Dateien in verdächtigen Pfaden wurden zur weiteren Analyse markiert
  • Programmeinträge zeigen alle Softwareinstallationen innerhalb des Vorfallzeitfensters
  • Treiberbinärdateien wurden auf unsignierte oder nicht zum Lieferumfang gehörende Einträge geprüft
  • LinkDate- vs. FileKeyLastWriteTimestamp-Vergleich wurde zur Erkennung von Timestomping durchgeführt
  • Amcache-Ergebnisse sind mit Prefetch und ShimCache zur Ausführungsbestätigung korreliert
  • Die endgültige Zeitachse integriert Amcache-Daten mit anderen forensischen Artefakten

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Verwandte Skills