Wo Amcache.hve auf der Festplatte liegt (und wie man es sammelt)

Wenn Sie zu Amcache greifen, ist die erste praktische Frage „Wo liegt die Datei?". Diese Seite ist die definitive Antwort für jede Windows-Version, der Sie wahrscheinlich begegnen, plus der richtige Weg, die Hive zu sammeln, damit Sie nicht unbemerkt die neuesten Daten verlieren.

Für den breiteren Kontext, was Amcache aufzeichnet und warum, siehe die vollständige Amcache-Referenz.


Die kurze Antwort#

Auf jedem unterstützten Windows-Desktop- und Server-Build von Windows 8 an liegt die Hive unter:

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

Sie wollen alle drei Dateien, jedes Mal. Die .LOG1- und .LOG2-Dateien sind die Transaktionsprotokolle der Hive — wenn Sie nur Amcache.hve nehmen, können Sie die jüngsten Schreibvorgänge unbemerkt verpassen.


Die längere Antwort: pro Windows-Version#

Amcache hat sich in seinen frühen Tagen herumgetrieben. Die vollständige Historie:

Windows 7 / Windows Server 2008 R2#

Es gibt keine Amcache.hve. Das äquivalente Artefakt ist RecentFileCache.bcf, gespeichert unter:

C:\Windows\AppCompat\Programs\RecentFileCache.bcf

Es ist eine flache Binärdatei (keine Registry-Hive) mit weit weniger Metadaten als modernes Amcache — typischerweise nur Dateipfade und ein einzelner Zeitstempel. AmcacheParser parst sie nicht; für RecentFileCache.bcf benötigen Sie einen dedizierten Parser wie RecentFileCacheParser (ebenfalls in der Zimmerman-Suite) oder ein Python-Skript aus der DFIR-Community.

Wenn Sie dies 2026 lesen, werden Sie Windows 7 in der Produktion unwahrscheinlich begegnen, aber es taucht in Legacy-Umgebungen und alten Triage-Abbildern noch auf.

Windows 8 / 8.1 / Server 2012 / 2012 R2#

Die Hive Amcache.hve existiert am modernen Pfad, aber das Schema ist das Legacy-Schema mit nur den Schlüsseln Root\Programs und Root\File:

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

AmcacheParser behandelt das Legacy-Schema und erzeugt eine ProgramEntries.csv aus Root\Programs. Es gibt weit weniger Detail pro Datei als auf Windows 10+.

Windows 10 / 11 (aktuell)#

Derselbe Pfad wie unter Windows 8, aber die Hive enthält jetzt das vollständige Inventory*-Schema (hinzugefügt in Windows 10 Build 1709, Fall Creators Update). Das ist das Ziel der meisten modernen Analysen:

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

Windows Server 2016 / 2019 / 2022 / 2025#

Identischer Pfad wie unter Windows 10/11. Das Schema ist dasselbe. Der Appraiser läuft auf Servern seltener als auf Desktops (oft mehrere Tage zwischen Durchläufen statt täglich), sodass der „letzte Schreibvorgang"-Zeitstempel der Hive auf einem Server in der Regel älter ist als auf einer Workstation in derselben Umgebung. Siehe Amcache unter Windows Server für die serverspezifischen Eigenheiten.


In einem forensischen Festplatten-Image#

Wenn Sie mit einem erworbenen Abbild statt einem Live-System arbeiten, liegt die Datei am selben Pfad innerhalb der C:- Partition des Abbilds:

<image>\Windows\AppCompat\Programs\Amcache.hve
<image>\Windows\AppCompat\Programs\Amcache.hve.LOG1
<image>\Windows\AppCompat\Programs\Amcache.hve.LOG2

Wenn Sie das Abbild schreibgeschützt eingebunden haben (über Arsenal Image Mounter, FTK Imager oder losetup + mount -o ro unter Linux), ist der Pfad buchstäblich der Dateisystempfad unter dem Mount-Punkt. AmcacheParser nimmt einen normalen Dateipfad und liest die Hive ohne Locks — keine spezielle Behandlung erforderlich.

Volume Shadow Copies#

Auf einer Workstation, die monatelang gelaufen ist, finden Sie möglicherweise mehrere Kopien von Amcache.hve innerhalb der Volume Shadow Copies. Jede Schattenkopie ist ein Point-in-Time- Snapshot des Volumes und enthält ihren eigenen Snapshot von Amcache.hve und seinen Protokollen.

Für eine Untersuchung, in der Sie eine Anti-Forensik-Manipulation der Live-Hive vermuten, prüfen Sie immer die Schattenkopien. Sie werden an Pfaden wie folgendem eingebunden:

\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\AppCompat\Programs\Amcache.hve
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\Windows\AppCompat\Programs\Amcache.hve
...

Sie können sie mit vssadmin list shadows auf einem Live-System oder mit vshadowmount aus libvshadow auf einem forensischen Image auflisten. Jede Kopie ist ein separates Parse-Ziel — übergeben Sie sie alle an AmcacheParser und vergleichen Sie die Ausgaben per Diff, wenn Sie vermuten, dass die Live-Hive verändert wurde.


Auf einem Live-System#

Wenn Sie die Hive unbedingt auf einem laufenden Live-Windows-Host lesen müssen (zum Beispiel während einer Triage ohne Zeit für ein vollständiges Abbild):

Parsen Sie nicht C:\Windows\AppCompat\Programs\Amcache.hve direkt vor Ort. Die Hive ist vom System geöffnet; sie direkt zu lesen ist unzuverlässig und forensisch schlechte Praxis.

Kopieren Sie die Hive + beide Protokolle zuerst in ein Arbeitsverzeichnis. Das Standard-PowerShell-Muster:

$target = 'C:\Triage\Amcache'
New-Item -ItemType Directory -Path $target -Force | Out-Null
 
# Erfordert erhöhtes PowerShell. Hive + Protokolle zusammen kopieren.
Copy-Item 'C:\Windows\AppCompat\Programs\Amcache.hve'      $target -Force
Copy-Item 'C:\Windows\AppCompat\Programs\Amcache.hve.LOG1' $target -Force
Copy-Item 'C:\Windows\AppCompat\Programs\Amcache.hve.LOG2' $target -Force
 
# Alles für die Chain of Custody hashen
Get-ChildItem $target -Filter Amcache.hve* |
  ForEach-Object { Get-FileHash -Algorithm SHA256 $_.FullName }

Wenn das Dateisystem sich weigert, Amcache.hve zu kopieren, weil sie vom Appraiser offen gehalten wird, ist der Ausweg, einen Raw-Volume-Reader zu verwenden:

  • RawCopy.exe (aus der Joakim-Schicht-Suite) liest die Datei unter Umgehung der Dateisystem-Locks.
  • Get-RawFile in PowerShell macht dasselbe über CreateFile mit FILE_FLAG_BACKUP_SEMANTICS.
  • KAPE verwendet intern dieselbe Technik — siehe den nächsten Abschnitt.

Sammlung mit KAPE#

KAPEs Amcache-Target ist der einfachste korrekte Weg, die Hive auf einem Live- oder Image-System zu sammeln:

.\kape.exe `
  --tsource C: `
  --target Amcache `
  --tdest .\out\HOST01\collected

Was KAPE tut:

  1. Umgeht Dateisystem-Locks über seinen Raw-Volume-Reader.
  2. Kopiert Amcache.hve + Amcache.hve.LOG1 + Amcache.hve.LOG2 nach out\HOST01\collected\C\Windows\AppCompat\Programs\.
  3. Erhält Original-Zeitstempel und schreibt ein Protokoll dessen, was gesammelt wurde.

Paaren Sie das Amcache-Target mit dem AmcacheParser-Modul für eine einzeilige Sammel- und Parse-Pipeline. Siehe den AmcacheParser-CLI-Spickzettel für KAPE-Muster.


Sammlung mit Velociraptor#

Für Flottensammlungen erledigt Velociraptors Windows.Forensics.Amcache-Artefakt das remote:

artifacts:
  - Windows.Forensics.Amcache
  parameters:
    - name: AmcacheGlob
      value: 'C:\Windows\AppCompat\Programs\Amcache.hve*'

Das nachgestellte * im Glob ist beabsichtigt — es passt zur Hive und beiden Transaktionsprotokollen in einem Durchgang. Das Artefakt lädt AmcacheParser bei Bedarf herunter, führt es serverseitig aus und lädt die CSV-Ausgabe hoch. Paaren Sie es mit einem Hunt, um es nach einem Zeitplan über Tausende von Endpoints laufen zu lassen.


Häufige Sammelfehler#

Eine kurze Liste von Fehlern, die in der Incident-Arbeit immer wieder auftauchen, in grober Reihenfolge der Häufigkeit:

  1. Nur Amcache.hve ohne die .LOG1- / .LOG2-Dateien kopieren. Lässt unbemerkt die jüngsten Schreibvorgänge fallen. Kopieren Sie immer alle drei.
  2. Die Live-Hive direkt lesen. Funktioniert manchmal, erzeugt manchmal einen Parse-Fehler, erzeugt manchmal einen plausibel aussehenden, aber falschen Parse. Kopieren Sie immer zuerst.
  3. Volume Shadow Copies bei einer Manipulationsuntersuchung vergessen. Die Live-Hive wurde möglicherweise gelöscht; die Schattenkopien bewahren die Historie.
  4. Die Hive nach dem Parsen hashen. Hashen Sie auch vorher, damit Sie beweisen können, dass das Parsen sie nicht verändert hat.
  5. Zeitstempel auf gesammelten Kopien nicht erhalten. Verwenden Sie Copy-Item -Force (das erhält sie) oder robocopy mit /COPY:DAT. Die ursprüngliche LastWriteTime der Hive-Datei ist selbst nützliche Evidenz.

Siehe auch#

Wollen Sie sich eine gerade gesammelte Hive ansehen, ohne etwas zu installieren? Legen Sie sie auf der Startseite des Parsers ab — sie verlässt nie Ihren Browser.

Verwandte Beiträge

Zurück zu allen Beiträgen