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:
- 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.
- 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:
- Geparktes Tool, das auf einen Trigger wartet.
- Nur über
rundll32.exe/regsvr32.exe/LoadLibraryaus einem anderen Prozess geladen. - 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#
- Parsen Sie Amcache mit AmcacheParser.
- Parsen Sie Prefetch mit PECmd.
- Laden Sie beide CSVs in Timeline Explorer.
- Filtern Sie Amcache auf „unsignierte PE in benutzerbeschreibbarem Pfad".
- Prüfen Sie für jeden Amcache-Treffer, ob eine
.pffür denselbenNameexistiert. Vorhanden → Ausführung bestätigt. Abwesend → nur Präsenz. - Nehmen Sie für jede
.pfden 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.