Was ist eine .pf-Datei vs. ein Amcache-Eintrag?

Eine .pf-Datei beweist Ausführung. Ein Amcache-Eintrag zeichnet Präsenz auf. Dasselbe Binärprogramm kann in beiden, in nur einem oder in keinem erscheinen — und welche Kombination Sie beobachten, ist selbst ermittlungstechnische Information.

Direkter Vergleich#

.pf-Datei (Prefetch) Amcache-Eintrag
Wo es lebt C:\Windows\Prefetch\NAME.EXE-1A2B3C4D.pf Unterschlüssel innerhalb von Amcache.hve
Erstellt wann Beim ersten Ausführen des Binärprogramms Beim ersten Inventarisieren des Binärprogramms durch den Appraiser
Gepflegt von Prefetcher-Subsystem Geplanter Task Compatibility Appraiser
Beweist Ausführung? Ja Nein
Beweist Präsenz? Ja (implizit — muss existiert haben, um zu laufen) Ja
Hat SHA-1-Hash? Nein (nur Pfad-Hash) Ja (SHA-1 der ersten 31 MiB)
Hat Herausgeber / Version? Nein Ja
Run-Zeitstempel? Ja, bis zu 8 (10 auf Win 11) Nein
Inventar-Zeitstempel? Nein Ja (KeyLastWriteTimestamp)
Überlebt Löschung des Binärprogramms? Ja (nur Datei-Löschung) Ja (Registry-Persistenz)
Standardmäßig auf Windows-Desktops aktiviert? Ja Ja
Standardmäßig auf Servern aktiviert? Oft deaktiviert Aktiviert (langsamerer Takt)

Die vier Zustände#

Für jedes gegebene Binärprogramm auf einem Host beobachten Sie einen von vier Zuständen. Jeder bietet eine andere Lesart:

Beide vorhanden#

Das Binärprogramm lief, und der Appraiser hat es inventarisiert. Sie haben Ausführungsbeweis (Prefetch-Run-Zeiten) und Identitätsbeweis (Amcache-Hash + Metadaten). Typischer Fall für normale Software.

Nur Prefetch#

Das Binärprogramm lief, aber Amcache hat es nicht aufgezeichnet. Zwei wahrscheinliche Gründe:

  1. Das Binärprogramm wurde vor dem nächsten Appraiser-Lauf gelöscht. Häufig bei Stagers / Droppers, die sich nach dem Ausführen selbst löschen.
  2. Das Binärprogramm lebt in einem Pfad, den der Appraiser nicht scannt.

Das ist ein starkes Signal für absichtliche Bereinigung — das klassische Cobalt-Strike / Sliver / Metasploit-Stager-Muster.

Nur Amcache#

Das Binärprogramm ist präsent, wurde aber nie ausgeführt (oder nur als DLL von einer anderen EXE geladen, was die .pf der anderen EXE aktualisiert). Gründe:

  1. Geparktes Tool, das auf einen Trigger wartet.
  2. Nur über rundll32.exe / regsvr32.exe / LoadLibrary aus einem anderen Prozess geladen.
  3. Prefetch ist auf diesem Host deaktiviert.

Ein „präsent, aber nie gelaufen"-Befund ist sehr anders als „ausgeführt". Nützlich zum Erkennen geparkter, aber ungenutzter Tools.

Beide abwesend#

Das Binärprogramm wurde nie ausgeführt und der Appraiser hat es nie inventarisiert. Am nächsten dran an „das ist auf diesem Host nie passiert" — aber nicht schlüssig. Beide Artefakte können gewischt werden, beide haben Abdeckungslücken, und Binärprogramme, die nur zwischen Appraiser-Durchläufen kurz auftauchen, können keine Spur hinterlassen.

Der kombinierte Workflow#

  1. Parsen Sie Amcache mit AmcacheParser.
  2. Parsen Sie Prefetch mit PECmd.
  3. Laden Sie beide CSVs in Timeline Explorer.
  4. Filtern Sie Amcache auf „unsignierte PE in benutzerbeschreibbarem Pfad".
  5. Prüfen Sie für jeden Amcache-Treffer, ob eine .pf für denselben Name existiert. Vorhanden → Ausführung bestätigt. Abwesend → nur Präsenz.
  6. Nehmen Sie für jede .pf den Namen der ausführbaren Datei und prüfen Sie Amcache auf Hash und Metadaten.

Für vollständige Abdeckung siehe Amcache vs Prefetch.

Verwandt#

Verwandte Beiträge

  • Amcache vs Prefetch: was jedes wirklich beweist

    Amcache zeichnet Präsenz auf; Prefetch zeichnet Ausführung auf. Eine praktische Referenz, wann man was verwendet, worin sie sich überschneiden und wie man sie in einer DFIR-Timeline kombiniert.

  • Warum ist meine Amcache.hve leer?

    Drei häufige Ursachen: Der Compatibility Appraiser ist deaktiviert, der Host wurde frisch installiert oder Sie sammeln von einem Server / Server Core, auf dem der Appraiser viel seltener läuft.

  • Wo ist der Amcache-Registry-Schlüssel?

    Amcache ist eine eigene Hive-Datei unter C:\Windows\AppCompat\Programs\Amcache.hve — kein Schlüssel unter HKLM. Beim Laden durch Tools oder durch Windows selbst wird sie als HKLM\Amcache eingehängt.

  • Was enthält Amcache.hve?

    Amcache.hve enthält Inventar-Datensätze für jedes PE-Binärprogramm, jeden Treiber und jedes verbundene Gerät, das der Windows Compatibility Appraiser gesehen hat — mit SHA-1-Hashes, Pfaden, Herausgebern und Zeitstempeln.

Zurück zu allen Beiträgen