AmcacheParser: der vollständige Leitfaden zu Eric Zimmermans Tool
AmcacheParser ist das De-facto-Open-Source-Tool zum Parsen der
Windows-Registry-Hive Amcache.hve. Geschrieben wurde es von
Eric Zimmerman, einem erfahrenen Praktiker der digitalen Forensik,
dessen Tool-Suite (MFTECmd, RECmd, PECmd, EvtxECmd, …) das
Rückgrat moderner Windows-Forensik-Workflows bildet. Wer jemals ein
Windows-Endpoint triagiert hat, hat fast sicher AmcacheParser benutzt
— direkt oder über einen Wrapper wie
KAPE.
Dieser Leitfaden ist die kanonische Referenz zum Tool: was es parst, wie man es installiert, wie man die Ausgabe liest, wo es in einem DFIR-Workflow steht und wann es sinnvoll sein kann, dieselbe Parsing-Logik im Browser auszuführen, ohne irgendetwas zu installieren (genau das tut diese Website).
Anerkennung dort, wo sie hingehört. AmcacheParser ist Eric Zimmermans Werk. Der Browser-Parser auf amcacheparser.com ist ein unabhängiges Projekt, das den Lesepfad in Rust + WebAssembly für Triage und Lehre neu implementiert. Er ist weder mit Eric noch mit seinem Arbeitgeber verbunden.
Was ist AmcacheParser?#
AmcacheParser ist ein Kommandozeilenprogramm (AmcacheParser.exe),
das:
- Eine Windows-
Amcache.hve-Registry-Hive öffnet (oder eine Kopie inklusive Transaktionsprotokolle). - Die relevanten Unterschlüssel
Root\InventoryApplicationFile,Root\InventoryApplication,Root\InventoryDriverBinary,Root\InventoryDeviceContainer,Root\Programs,Root\Fileund die übrigenInventory*-Schlüssel durchläuft. - Die Werte (Windows-FILETIMEs, SHA-1-FileIds, Versionsstrings, GUIDs, ...) in lesbare Felder dekodiert.
- Eine CSV pro Kategorie schreibt, plus eine kombinierte Timeline.
Es ist bewusst ein reiner Leseparser mit einem Zweck: er interpretiert, bewertet oder alarmiert nicht. Die Ausgabe ist dafür gedacht, in Ihr Analystennotizbuch, SIEM, Timeline Explorer oder ein anderes Tool aus der Zimmerman-Suite zu fließen.
Warum Analysten sich für Amcache interessieren#
Amcache.hve ist eines der reichhaltigsten Artefakte für
Programmpräsenz und -ausführung auf einem Windows-Host. Anders
als Prefetch (das beweist, dass ein Binärprogramm tatsächlich
ausgeführt wurde) zeichnet Amcache oft Binärprogramme auf, die
lediglich auf der Festplatte vorhanden waren — einschließlich
Binärprogramme, die vor Ihrer Ankunft gelöscht wurden. Für jede
erfasste Datei erhalten Sie typischerweise:
- Den vollständigen Pfad zum Zeitpunkt der Inventarisierung.
- Einen SHA-1-Hash der ersten ~31 MiB der Datei (die
FileId). - Das PE-Linkdatum und die Dateigröße.
- Herausgeber, Version und Produktname aus dem PE-Ressourcenabschnitt.
- Einen Zeitstempel, wann das Inventar erstellt wurde.
Diese Kombination — Pfad + Hash + Linkdatum + Inventarzeit — ist Gold wert für die Incident Response. Sie ermöglicht es, in Sekunden von „ein verdächtiges Binärprogramm lief auf einem benachbarten Host" auf „existierte dieses genaue Binärprogramm jemals auf diesem Host, auch nur kurz?" zu pivotieren.
Wer ist Eric Zimmerman?#
Eric Zimmerman ist ein ehemaliger FBI Special Agent und derzeit
Senior Director bei Kroll, wo er das Tooling für die
Incident-Response-Praxis leitet. Er veröffentlicht seit über einem
Jahrzehnt Open-Source-DFIR-Tools auf
ericzimmerman.github.io.
AmcacheParser gehört zur Get-ZimmermanTools-Familie neben:
MFTECmd— Parser für$MFT,$LogFile,$J,$Boot,$SDSRECmd— Kommandozeilen- und Batch-Prozessor für Registry-HivesRBCmd— Papierkorb-ParserPECmd— Prefetch-ParserEvtxECmd— Parser für Windows-EreignisprotokolleJLECmd— Jump-List-ParserLECmd— LNK-ParserSBECmd— Shellbag-Explorer-CLI
Wenn Sie nur ein einziges DFIR-Toolset lernen, ist die Zimmerman-Suite das, das die meisten Arbeitgeber erwarten.
Wie AmcacheParser intern funktioniert#
Amcache.hve ist eine standardmäßige Windows-Registry-Hive-Datei —
dasselbe Binärformat wie SYSTEM, SOFTWARE, SAM oder
NTUSER.DAT. AmcacheParser öffnet die Datei, durchläuft die Bins
und Zellen der Hive, folgt dem Schlüssel-/Wertbaum und dekodiert
typisierte Werte. Die Felder, die für Analysten am wichtigsten
sind, sind auf drei leicht nervige Weisen kodiert:
- Windows-FILETIMEs — 64-Bit-Werte, die 100-ns-Ticks seit 1601-01-01 UTC zählen. AmcacheParser konvertiert diese in ISO-8601 UTC.
- PE-Linkdaten — 32-Bit-
time_t-Werte aus dem PE-HeaderIMAGE_FILE_HEADER.TimeDateStamp. Das sind keine Dateisystem-Zeiten; sie werden zur Kompilier-/Linkzeit gesetzt und sind ein nützlicher Pivot. - SHA-1-
FileId— 41-Zeichen-String"0000" + sha1_hex. Das führende0000ist ein historischer Typ-Tag; die hinteren 40 Hex-Zeichen sind der SHA-1 der ersten 31 MiB der Datei, wie Amcache sie sah.
Die Hive selbst wird vom geplanten Task Microsoft Compatibility
Appraiser
(\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser)
geschrieben. Auf modernen Windows-10/11-Builds läuft er etwa
täglich, weshalb Amcache.hve eines der besten Artefakte für
„langfristige Präsenz" ist.
Transaktionsprotokolle sind wichtig#
Wie jede Registry-Hive hat Amcache.hve begleitende
.LOG1-/.LOG2-Transaktionsprotokolle. Wenn Sie nur die Hive
ohne ihre Protokolle kopieren, können Sie die jüngsten Schreibvorgänge
verpassen. AmcacheParser behandelt Transaktionsprotokolle korrekt,
wenn Sie es auf ein Verzeichnis zeigen oder die Protokolle neben
der Hive übergeben — sammeln Sie sie immer zusammen.
AmcacheParser installieren#
Es gibt drei gängige Wege, das Tool zu bekommen. Alle produzieren dasselbe Binary; wählen Sie den, der zu Ihrer Umgebung passt.
Option 1 — Get-ZimmermanTools (empfohlen)#
Der offizielle Installer ist ein kleines PowerShell-Skript, das die gesamte Suite in einen Zielordner herunterlädt und aktuell hält.
# Tools-Ordner anlegen und die neuesten .NET-6-Builds holen
mkdir C:\Tools\ZTools
cd C:\Tools\ZTools
Invoke-WebRequest `
-Uri 'https://raw.githubusercontent.com/EricZimmerman/Get-ZimmermanTools/master/Get-ZimmermanTools.ps1' `
-OutFile Get-ZimmermanTools.ps1
.\Get-ZimmermanTools.ps1 -Dest C:\Tools\ZTools -NetVersion 6Nach Abschluss liegt AmcacheParser.exe unter
C:\Tools\ZTools\net6\AmcacheParser\. Erneutes Ausführen des
Skripts aktualisiert später jedes Tool an Ort und Stelle.
Option 2 — Direkter Download von ericzimmerman.github.io#
Die Startseite ericzimmerman.github.io verlinkt für jedes Tool ein ZIP. Das ist der richtige Weg, wenn PowerShell-Egress auf dem Analystenrechner blockiert ist.
Option 3 — In KAPE oder Velociraptor eingebettet#
Wenn Sie KAPE oder Velociraptor verwenden, ist AmcacheParser bereits in deren Modul-/Artefaktkatalogen enthalten. Sie installieren es normalerweise nicht separat — Sie rufen es über eine Target-/Moduldefinition auf, die auch die Hive für Sie sammelt.
Für eine vollständige Übersicht über Mirrors, Prüfsummen und Air-Gap-Installationsmuster siehe den AmcacheParser-Download-Leitfaden.
Schnellstart: eine Hive parsen#
Der minimale Aufruf besteht aus zwei Flags:
AmcacheParser.exe `
-f "C:\Triage\Windows\AppCompat\Programs\Amcache.hve" `
--csv "C:\Triage\Output\Amcache"Das schreibt eine CSV pro Inventory*-Kategorie in den Ausgabeordner.
Für einen echten Incident wollen Sie fast immer ein paar zusätzliche
Flags:
AmcacheParser.exe `
-f "C:\Triage\Windows\AppCompat\Programs\Amcache.hve" `
--csv "C:\Triage\Output\Amcache" `
--csvf "HOSTNAME_amcache.csv" `
-i `
--mp--csvfsteuert den Basisdateinamen, damit Multi-Host-Triage navigierbar bleibt.-ischließt Einträge mitIsOSComponent = trueein (standardmäßig aus, weil sie den Lärm aufblähen).--mp(„Multi-Pass") parst verwaiste / nicht zugeordnete Einträge, die sonst fallen gelassen würden.
Die vollständige Flag-Matrix steht im AmcacheParser-CLI-Spickzettel.
Die Ausgabe in Timeline Explorer laden#
Die CSVs sind für Erics
Timeline Explorer gemacht. Ziehen
Sie eine beliebige *_UnassociatedFileEntries.csv oder
*_AssociatedFileEntries.csv in Timeline Explorer und Sie erhalten
sortierbare, filterbare Spalten und eine sofortige „alle Aktivitäten
in diesem Fenster"-Sicht.
Die CSV-Ausgabe lesen#
AmcacheParser schreibt ein unterschiedliches Schema pro Kategorie. Die vier, die Sie in fast jedem Fall anfassen werden:
| Datei | Inhalt |
|---|---|
*_UnassociatedFileEntries.csv |
Dateien, die Amcache auf der Festplatte gesehen hat und die nicht an eine registrierte Inventory Application gebunden sind. Die reichhaltigste Pivottabelle für unbekannte Binärprogramme. |
*_AssociatedFileEntries.csv |
Dateien, die mit einer InventoryApplication (installiertes Produkt) verknüpft sind. |
*_DriverBinaries.csv |
Geladene Treiber-Binärdateien — kritisch für Kernel-Rootkit-Untersuchungen. |
*_DeviceContainers.csv |
Historie verbundener Geräte (Drucker, Monitore, Wechseldatenträger-Controller). |
Die Spalten, auf die Sie am häufigsten pivotieren:
ApplicationName/Name— Anzeigename, wie Windows ihn aufgelöst hat.FullPath— vollständiger Pfad zur Inventarzeit.FileExtension— praktisch zum Filtern auf.exe/.dll.Hash(SHA-1) — dieFileIdohne das"0000"-Präfix.LinkDate— PE-Kompilierzeit.FileVersionString,ProductName,Publisher,PublisherName.Size— Dateigröße in Bytes zur Inventarzeit.IsPeFile,IsOsComponent— schnelle Filter.KeyLastWriteTimestamp— Registry-Last-Write des umschließenden Schlüssels. Behandeln Sie dies als den „Inventarzeit"-Pivot.
Jede Spalte, einschließlich der selteneren Inventory-Kategorien, ist in AmcacheParser-Ausgabespalten erklärt dokumentiert.
Praxisbeispiele#
Ein paar Abfragen, die ihr Geld auf echten Fällen verdienen:
Unsignierte PE-Dateien in benutzerbeschreibbaren Pfaden finden (Nachverarbeitung in PowerShell):
Import-Csv .\HOST_amcache_UnassociatedFileEntries.csv |
Where-Object {
$_.IsPeFile -eq 'True' -and
-not $_.Publisher -and
$_.FullPath -match '\\Users\\|\\ProgramData\\|\\AppData\\'
} |
Select-Object KeyLastWriteTimestamp, FullPath, Hash, Size |
Sort-Object KeyLastWriteTimestampAuf einen bekannt-bösartigen SHA-1 über viele Hosts pivotieren:
Get-ChildItem -Recurse -Filter *_UnassociatedFileEntries.csv |
ForEach-Object {
Import-Csv $_.FullName |
Where-Object { $_.Hash -eq 'da39a3ee5e6b4b0d3255bfef95601890afd80709' } |
Select-Object @{n='Host';e={$_.PSChildName.Split('_')[0]}}, FullPath, KeyLastWriteTimestamp
}Wo AmcacheParser in einem DFIR-Workflow steht#
Die meisten Ermittler greifen zu Amcache nach Prefetch und Ereignisprotokollen, weil es eine andere Frage beantwortet:
| Artefakt | Antwortet |
|---|---|
| Prefetch | „Wurde dieses Binärprogramm auf diesem Host ausgeführt?" |
| Ereignisprotokoll (4688 / Sysmon 1) | „Lief dieser Prozess, mit welcher Befehlszeile, von welchem Elternprozess?" |
ShimCache (AppCompatCache) |
„Wurde dieses Binärprogramm kürzlich vom Loader berührt?" |
| Amcache | „War dieses Binärprogramm jemals auf diesem Host vorhanden, mit welchem Hash und an welchem Pfad?" |
Amcaches Killer-Feature ist die Wiederherstellung gelöschter Binärdateien: Ein Wiper kann die Datei von der Festplatte entfernen, aber der Inventar-Snapshot bleibt in der Hive bis zum nächsten Appraiser-Lauf bestehen — und selbst dann ist der vorherige Lauf oft noch in den Transaktionsprotokollen. Wir behandeln die Amcache-vs-Prefetch-vs-ShimCache-Unterscheidung ausführlich in Amcache für Windows-Forensik verstehen.
Pipeline-Muster#
Die zwei häufigsten Produktionsmuster:
-
KAPE collect + KAPE parse. KAPEs
Amcache-Target sammelt die Hive + Protokolle; seinAmcacheParser-Modul führt den Parser in einen Ausgabeordner pro Host aus. Ein Befehl, fertig für Timeline Explorer. -
Velociraptor
Windows.Forensics.Amcache. Velociraptors Artefakt zieht die Hive, führt AmcacheParser serverseitig aus und lädt die CSV hoch. Mit einem Hunt kombinieren, um es über Tausende von Endpoints zu fächern.
Beide Muster werden mit kopierbaren Befehlen im CLI-Spickzettel behandelt.
Die browserbasierte Alternative#
Das auf dieser Seite gehostete Tool ist eine Neuimplementierung des Lesepfads in Rust + WebAssembly. Es existiert, weil es Situationen gibt, in denen die Windows-CLI im Moment das falsche Werkzeug ist:
- Ein Nicht-Windows-Analyst öffnet eine
.hvein seinem Browser, ohne das .NET-Runtime oder einen Zimmerman-Build zu installieren. - Ein Student möchte sehen, wie Amcache aussieht, bevor er für ein vollständiges DFIR-Labor bezahlt.
- Triage auf einem gesperrten Host, wo das Bereitstellen neuer Binaries ein Change-Control-Ticket braucht.
- Eine Hive einem Stakeholder per Bildschirmfreigabe zeigen, ohne sie einem Drittanbieter-Server auszusetzen.
Die Datei verlässt niemals Ihren Browser. Das Parsing erfolgt clientseitig in WebAssembly; kein Upload, keine serverseitige Verarbeitung, keine Telemetrie. Legen Sie eine Hive auf die Startseite, um es auszuprobieren.
Für vollständige Untersuchungen auf einem Windows-Analystenrechner
bleibt Erics offizielle AmcacheParser.exe das richtige Tool — es
behandelt jeden Grenzfall, integriert sich in den Rest der Suite und
produziert das CSV-Format, das jedes nachgelagerte Tool erwartet.
Die Browser-Version ist für Triage, Lehre und die Fälle, in denen
das Installieren irgendetwas die falsche Antwort ist.
Häufig gestellte Fragen#
Ist AmcacheParser kostenlos?#
Ja. Es ist unter einer permissiven Lizenz von Eric Zimmerman veröffentlicht und für jeden Zweck frei, einschließlich kommerzieller DFIR-Einsätze.
Auf welchen Betriebssystemen läuft AmcacheParser?#
AmcacheParser.exe ist eine .NET-6-/.NET-9-Anwendung. Es läuft
nativ unter Windows und auf Linux/macOS über das .NET-Runtime
(dotnet AmcacheParser.dll auf Nicht-Windows-Hosts mit dem
Framework-dependent-Build).
Verändert AmcacheParser die Hive?#
Nein. Es öffnet die Hive nur lesend und schreibt nur die CSV-Ausgabe
in den mit --csv angegebenen Pfad.
Was ist der Unterschied zwischen AmcacheParser und dem#
amcache-Plugin von RegRipper?
Beide parsen dieselbe Hive. Das RegRipper-Plugin gibt einen lesbaren Textbericht aus; AmcacheParser gibt strukturiertes CSV mit einer Zeile pro Inventareintrag aus, was dramatisch einfacher in eine Tabellenkalkulation, ein SIEM oder Timeline Explorer zu laden ist. Die meisten modernen Playbooks verwenden AmcacheParser; RegRipper bleibt für die einmalige interaktive Analyse beliebt.
Zeichnet Amcache jedes ausgeführte Binärprogramm auf?#
Nein. Amcache zeichnet Präsenz und Inventar-Metadaten auf, nicht Ausführung. Ein Binärprogramm kann in Amcache erscheinen, ohne jemals gelaufen zu sein, und ein Binärprogramm kann laufen, ohne in Amcache zu erscheinen, wenn der Appraiser seitdem nicht nachgesweept hat. Koppeln Sie es mit Prefetch und Prozesserstellungs-Events, um Ausführung zu beweisen.
Wo befindet sich Amcache.hve auf einem Live-System?#
C:\Windows\AppCompat\Programs\Amcache.hve, mit den
Transaktionsprotokollen Amcache.hve.LOG1 und Amcache.hve.LOG2
daneben. KAPEs Amcache-Target sammelt alle drei.
Kann ich AmcacheParser auf einem Speicherabbild verwenden?#
Nicht direkt. AmcacheParser parst das On-Disk-Hive-Format. Um Amcache aus dem Arbeitsspeicher zu analysieren, verwenden Sie Volatilitys Registry-Plugins, um die Hive zu extrahieren, und geben Sie sie dann an AmcacheParser weiter.
Weiterführende Literatur#
- AmcacheParser-Download-Leitfaden — Quellen, Mirrors, Integritätsprüfung und Air-Gap-Installationen.
- AmcacheParser-Ausgabespalten erklärt — jede CSV-Spalte, was sie bedeutet und wie man darauf pivotiert.
- AmcacheParser-CLI-Spickzettel — jede Kommandozeilen-Option mit Praxisbeispielen und Pipeline-Mustern.
- Amcache für Windows-Forensik verstehen — was die Hive tatsächlich aufzeichnet und warum es wichtig ist.
- Amcache-Parser im Vergleich — AmcacheParser vs Browser-Tool vs Volatility vs RegRipper und wann welches einzusetzen ist.
Bereit, sich jetzt eine Hive anzusehen? Legen Sie eine auf die Startseite des Parsers — sie verlässt niemals Ihren Browser.
Verwandte Beiträge
- AmcacheParser-Ausgabespalten erklärt: jedes CSV-Feld dekodiert
Eine Feld-für-Feld-Referenz für die CSV-Ausgabe von AmcacheParser — FileId, PathHash, ProgramId, LinkDate, BinFileVersion, IsPeFile und jede andere Spalte, mit den Pivots, die in DFIR zählen.
- AmcacheParser-Download-Leitfaden: offizielle Quellen, Mirrors und Verifizierung
Alle Wege, AmcacheParser von Eric Zimmerman herunterzuladen — Get-ZimmermanTools, direkter Download, KAPE, Velociraptor — mit Prüfsummen-Verifizierung und Air-Gap-Installationsmustern.
- AmcacheParser-CLI-Spickzettel: jede Option, mit Praxisbeispielen
Eine praktische Kommandozeilen-Referenz für AmcacheParser von Eric Zimmerman — jede Option erklärt, mit KAPE-, Velociraptor- und PowerShell-Batch-Verarbeitungsmustern zum Kopieren und Einfügen.
- Amcache-Parser im Vergleich: AmcacheParser CLI, Browser-Tool, Volatility, RegRipper
Direkter Vergleich der vier Wege, eine Windows-Amcache.hve-Hive 2026 zu parsen — Eric Zimmermans AmcacheParser CLI, Browser-Tool, Volatility 3 und RegRipper.