Zum Inhalt springen

Amcache verstehen: was es ist und warum DFIR sich dafür interessiert

Amcache.hve ist die Windows-Registry-Hive, in die der Compatibility Appraiser Inventarmetadaten für jede PE-Binärdatei schreibt, die er auf dem Host sieht. SHA-1 der ersten 31 MiB, vollständiger Pfad, Herausgeber, Linkdatum und eine Key-Schreibzeit pro Eintrag. Eines der reichhaltigsten Einzelartefakte des Windows-DFIR.

Es ist die Hive, zu der Sie greifen, wenn Sie wissen müssen "war diese Binärdatei je auf diesem Host, und was war sie?" — selbst wenn die Binärdatei selbst längst verschwunden ist.

Woher Amcache kommt#

Amcache ist ein Nebenprodukt von Windows' Application-Compatibility-Maschinerie, kein Sicherheits-Feature. Microsoft führte es in Windows 8 ein (als Ablösung des älteren RecentFileCache.bcf aus Windows 7), um den Compatibility Appraiser zu speisen, die Komponente, die entscheidet, ob installierte Software ein OS-Upgrade übersteht. Um diese Entscheidung zu treffen, muss der Appraiser die Software auf der Maschine inventarisieren — und dieses Inventar, geschrieben nach Amcache.hve, erwies sich als Goldgrube für Ermittler. Das kanonische Reverse Engineering ist Yogesh Khatris Arbeit von 2013; das Artefakt ist seitdem nur reicher geworden.

Die praktische Folge: Amcache existiert auf praktisch jedem modernen Windows-Host, es ist standardmäßig aktiviert, und es sammelt einen Datensatz von Binärdateien an, von dem ein Angreifer keinen leichten Weg hat zu wissen, geschweige denn ihn selektiv zu bereinigen. Für den Speicherort der Datei auf der Platte und wie man sie kopiert, siehe wo Amcache.hve liegt; für die Registry-Sicht wo ist der Amcache-Registry-Schlüssel.

Wie der Appraiser es aufbaut#

Der Microsoft Compatibility Appraiser läuft als geplanter Task, ungefähr täglich, gedrosselt durch Leerlauf- und Energiezustand. Bei jedem Lauf durchläuft er das Dateisystem und das Inventar der installierten Software und aktualisiert Amcache.hve an Ort und Stelle. Zwei Dinge folgen daraus, die jede Untersuchung prägen:

  • Es gibt eine Verzögerung. Eine Binärdatei, die vor einer Stunde auftauchte, ist vielleicht noch nicht inventarisiert. Abwesenheit ist nie ein Beweis der Abwesenheit — siehe warum ist mein Amcache leer und wie oft Amcache aktualisiert wird.
  • Es ist ein Inventar, kein Protokoll. Ein Eintrag pro Datei, an Ort und Stelle aktualisiert. Keine Lauf-Zähler, keine Zeilen pro Ausführung. Das ist Prefetchs Abteilung.

Was dieses Tool tut#

Dieser Parser kompiliert einen Rust-Reader für Registry-Hives (nt-hive) nach WebAssembly. Ihre Amcache.hve wird im Speicher Ihres Browsers eingelesen und geparst. Sie wird nie hochgeladen.

Das zählt, wenn die Hive aus einer regulierten Umgebung stammt, in der Datei-Uploads an Drittanbieter unzulässig sind, oder wenn Sie einfach schnell hineinschauen wollen, ohne die volle DFIR-Toolchain aufzubauen. Legen Sie eine Hive auf der Startseite ab, um jeden Wert zu sehen, zu filtern und nach JSON oder CSV zu exportieren — oder verwenden Sie Eric Zimmermans AmcacheParser für den Offline-Kommandozeilen-Workflow.

Die Keys, die zählen#

Alles liegt unter einem einzigen Root-Key. Die Sub-Keys, die Sie tatsächlich verwenden:

Key Was er aufzeichnet Warum es zählt
InventoryApplicationFile Pro-Datei-Metadaten — SHA-1 (FileId), vollständiger Pfad, Name, Herausgeber, Größe, Linkdatum Der zentrale Key. Programm-Präsenz und der Hash-Pivot.
InventoryApplication Installierte Anwendungen Software-Inventar, Installationsdaten.
InventoryDriverBinary Geladene Treiberbinärdateien, mit Hashes BYOVD- und Rootkit-Jagd.
InventoryDeviceContainer Verbundene Geräte (Friendly Names) USB-/Peripherie-Historie.
InventoryDevicePnp PnP-Geräteschnittstellen Technische Gerätesicht; verbindet mit DeviceContainer.
InventoryApplicationShortcut .lnk-Verknüpfungen Beleg für installierte/gestartete Apps.
Programs, File (Legacy) Äquivalente älterer Builds Windows-8-/Frühe-10-Hives.

Der mit Abstand reichste davon ist InventoryApplicationFile. Die Feld-für-Feld-Aufschlüsselung steht in AmcacheParser-Ausgabespalten und die vollständige Schema-Tour in Amcache-Registry-Struktur.

Warum DFIR-Analysten danach greifen#

Drei Eigenschaften machen Amcache überproportional nützlich:

  1. Es trägt den SHA-1. Die meisten Windows-Ausführungsartefakte geben Ihnen einen Pfad und eine Zeit. Amcache gibt Ihnen den Hash der Datei, der sauber in die Threat Intel und über jeden Host im Bestand pivotiert. Siehe SHA-1-Hashes für die Malware-Jagd.
  2. Es überlebt die Löschung. Der Inventareintrag bleibt nach dem Verschwinden der Binärdatei erhalten — der klassische Grund, Amcache zuerst zu öffnen, wenn ein Tool sich selbst gelöscht hat. Siehe Amcache und gelöschte Dateien.
  3. Es pivotiert über Hosts hinweg. ProgramId und SHA-1 lassen Sie dieselbe Software bestandsweit mit einer Abfrage finden — und verwandeln einen Einzelhost-Befund in eine Scoping-Antwort.

Was es Ihnen nicht sagt#

Amcache zu verstehen heißt, seine Grenzen ebenso zu verstehen wie seine Stärken:

  • Ein Eintrag ist Präsenz, nicht Ausführung. Der Appraiser inventarisiert PEs, die auf der Platte waren; in den meisten Fällen fällt das mit der Ausführung zusammen, aber Sie bestätigen mit Prefetch, ShimCache oder Prozess-Erstellungs-Events, bevor Sie es Ausführung nennen. Die volle Nuance steht in was Amcache aussagt.
  • Skripte sind unsichtbar. Kein PE-Header, kein Eintrag. PowerShell- und Batch-getriebene Aktivität hinterlässt keine Amcache-Spur für die Skriptlogik selbst.
  • Zeitstempel sind Schranken, keine Ereignisse. KeyLastWriteTimestamp ist die Schreibzeit des Appraisers; LinkDate ist ein fälschbarer Kompilierzeitstempel. Keiner ist "wann es lief" — siehe Zeitstempel entschlüsselt.

Es in die Praxis umsetzen#

Wenn Sie hierhergekommen sind, um Amcache zu verwenden statt es zu verstehen, ist der nächste Schritt der Workflow: wie man mit Amcache Ausführungsbeweise findet durchläuft sammeln → parsen → filtern → pivotieren → bestätigen von Anfang bis Ende. Für die erschöpfende Artefaktreferenz siehe die vollständige Amcache-Referenz.

Weiterführende Quellen#

Verwandt#

Verwandte Beiträge

← Zurück zu allen Beiträgen