Zum Inhalt springen

Wo ist der Amcache-Registry-Schlüssel?

Amcache ist eine eigenständige Hive-Datei, kein Schlüssel unter HKLM. Die Datei liegt unter:

C:\Windows\AppCompat\Programs\Amcache.hve
C:\Windows\AppCompat\Programs\Amcache.hve.LOG1
C:\Windows\AppCompat\Programs\Amcache.hve.LOG2

Wenn der Compatibility Appraiser sie lädt (oder wenn Sie sie selbst mit reg load laden), wird der Inhalt unter HKLM\Amcache eingehängt, mit:

Root\
├── InventoryApplicationFile     <- der zentrale Schlüssel
├── InventoryApplication
├── InventoryDriverBinary
├── InventoryDeviceContainer
├── InventoryDevicePnp
├── InventoryApplicationShortcut
├── Programs   (Legacy)
└── File       (Legacy)

Für die vollständige Tour Schlüssel für Schlüssel siehe Amcache-Registry-Struktur.

"Registry-Schlüssel" vs. "Hive-Datei" — die Unterscheidung, die Leute stolpern lässt#

Der Grund, warum "wo ist der Amcache-Registry-Schlüssel" eine verwirrende Frage ist: Amcache ist beides und keines in der Weise, wie Leute es erwarten:

  • Es ist kein Schlüssel, der wie die meisten Einstellungen dauerhaft unter HKLM\SOFTWARE oder HKLM\SYSTEM sitzt. Sie finden ihn nicht, indem Sie auf einem Standardsystem durch regedit browsen.
  • Es ist eine Registry-Hive — dasselbe Binärformat wie SYSTEM, SOFTWARE und NTUSER.DAT — als eigenständige Datei auf der Platte gespeichert. Eingehängt werden ihre Inhalte als Registry-Schlüssel unter HKLM\Amcache\Root\... adressiert.

Die ehrliche Antwort auf "wo ist der Schlüssel" lautet also: die Daten liegen in einer Datei (Amcache.hve) und werden erst dann zu einem Satz Registry-Schlüssel, wenn etwas — der Appraiser oder Sie — diese Datei einhängt. Forensisch berühren Sie die eingehängte Form fast nie; Sie kopieren die Datei und parsen sie offline. Der Speicherort der Datei wird in wo Amcache.hve auf der Platte liegt behandelt.

Warum es standardmäßig nicht in HKLM ist#

Amcache ist eine lazy-mounted Hive. Windows lädt sie, wenn der Appraiser sie braucht, und entlädt sie danach. Dasselbe Muster wie bei benutzerspezifischen NTUSER.DAT-Hives: nur eingehängt, wenn der Benutzer angemeldet ist.

Ob Amcache aktuell geladen ist, sehen Sie mit:

Get-ChildItem HKLM:\ | Where-Object Name -like '*Amcache*'

Mitten in einem Appraiser-Lauf sehen Sie möglicherweise HKLM\Amcache aufgeführt. Die meiste Zeit ist die Hive entladen und die Datei geschlossen.

Die Hive manuell laden#

Wenn Sie sie in regedit oder reg.exe durchlaufen wollen:

# Die Live-Hive kopieren (Datei ist gesperrt, solange geladen)
Copy-Item 'C:\Windows\AppCompat\Programs\Amcache.hve' 'C:\Triage\' -Force
 
# Die Kopie laden
reg load HKLM\TempAmcache 'C:\Triage\Amcache.hve'
 
# Abfragen
reg query HKLM\TempAmcache\Root
reg query HKLM\TempAmcache\Root\InventoryApplicationFile
 
# Immer entladen
reg unload HKLM\TempAmcache

Für echte DFIR-Arbeit verwenden Sie stattdessen AmcacheParser. Er parst die Hive direkt, ohne sie unter HKLM laden zu müssen, spielt die Transaktionsprotokolle automatisch ab und produziert strukturierte CSVs. reg.exe ist für gelegentliches Stöbern in Ordnung. Für echte Analyse ist es das nicht. Sobald Sie sie geparst haben, durchläuft wie man mit Amcache Ausführungsbeweise findet den Rest des Workflows.

Was unter jedem Schlüssel liegt#

Einmal eingehängt, sind die Schlüssel unter Root der Ort der Beweise. Der zentrale, InventoryApplicationFile, enthält einen Unterschlüssel pro PE mit ihrem SHA-1, Pfad und Herausgeber; InventoryDeviceContainer und InventoryDevicePnp enthalten die USB- und Gerätehistorie; InventoryDriverBinary enthält Treiberbinärdateien. Die Feld-für-Feld-Bedeutung jedes Werts steht in AmcacheParser-Ausgabespalten und der konzeptionelle Überblick in Amcache verstehen.

Verwandt#

Verwandte Beiträge

← Zurück zu allen Beiträgen