Skip to content

RecentFileCache vs Amcache vs Prefetch vs ShimCache

Vier Windows-Evidence-of-Execution-Artefakte nebeneinander: was jedes speichert, was nicht, und welches du zuerst öffnen solltest.

Veröffentlicht am 3 Min. Lesezeit

"Evidence of Execution" ist ein Job, den mehrere Windows-Artefakte erledigen, nicht eines. Sie überlappen, widersprechen sich und verschwinden in unterschiedlichem Tempo. Dieser Post legt die vier nützlichsten — RecentFileCache, Amcache, Prefetch, ShimCache — auf denselben Tisch, damit du nicht mehr raten musst, welches zuerst zu öffnen ist.

Auf einen Blick

ArtefaktOrtWindowsGranularitätZeitstempel pro EintragReiche MetadatenÜbersteht Reboot
RecentFileCacheC:\Windows\AppCompat\Programs\RecentFileCache.bcfnur 7Nur PfadNein (nur Datei-mtime)KeineJa
AmcacheC:\Windows\AppCompat\Programs\Amcache.hve7→11Registry-Schlüssel pro EintragJa (Schlüssel-LastWritten u.a.)Pfad, SHA-1, PE, Herausgeber, InstallationsdatumJa
PrefetchC:\Windows\Prefetch\*.pfXP→11Pro ExecutableJa (letzte 8 Läufe)Lauf-Counter, referenzierte Dateien, Volume-InfoJa (Auto-Beschneidung auf ~1024 Einträge unter Win10+)
ShimCacheSYSTEM-Hive: ControlSet\Control\Session Manager\AppCompatCacheXP→11Pro Executable, in-memory bis ShutdownLastModified (Datei), nicht AusführungszeitKeineNur bei sauberem Shutdown

Was jedes wirklich beantwortet

  • RecentFileCache. "Welche Executables haben den Application-Experience-Scanner seit dem letzten ProgramDataUpdater-Lauf passiert?" Billig zu parsen, keine Metadaten, nur Win7.
  • Amcache. "Welche Programme und Dateien wurden auf dieser Maschine seit der OS-Installation installiert oder ausgeführt — mit Hashes und Herausgeber-Info?" Das, was einem systemweiten Installations-und-Ausführungs-Log auf modernem Windows am nächsten kommt.
  • Prefetch. "Was wurde tatsächlich ausgeführt, wann und wie oft — für die ~1024 jüngsten Binaries?" Die engste pro-Ausführungs-Beweisspur, die ohne dediziertes Logging verfügbar ist.
  • ShimCache. "Welche Executables hat die AppCompat-Shim-Infrastruktur gesehen? Wann wurde jedes zuletzt modifiziert?" Hinweis: Der Zeitstempel von ShimCache ist die LastModified der Datei, nicht die Ausführungszeit — das ist das in DFIR-Reports am häufigsten falsch gelesene Feld.

Wann nach welchem greifen

Ein kurzer Triage-Entscheidungsbaum für "lief Binary X?":

  1. Prefetch zuerst. Wenn *X*.pf existiert, hast du ein Ausführungs-Event mit Zeitstempel(n) und einem Lauf-Counter. Fertig.
  2. Amcache. Wenn ein SHA-1 in InventoryApplicationFile zu deiner Datei passt, wurde die Datei mindestens von AppCompat gesehen — in Kombination mit Prefetch ist das hochzuverlässige Ausführungsevidenz.
  3. RecentFileCache (Win7). Wenn du auf Win7 bist und Amcache spärlich ist, kann .bcf der einzige Ort sein, an dem ein jüngerer Pfad gelandet ist. Behandle als "von AppCompat zwischen den letzten beiden ProgramDataUpdater-Läufen gesehen".
  4. ShimCache. Bekräftigende Evidenz. Anwesenheit ≈ "die AppCompat-Infrastruktur sah eine Datei an diesem Pfad mit diesem LastModified". Lies seinen Zeitstempel nicht als Ausführungszeit.

Ein durchgespieltes Win7-Szenario

Stell dir einen Analysten vor, der an einem kompromittierten Win7-System arbeitet. Der Angreifer legte C:\Users\Public\update.exe ab, führte es einmal aus, löschte es dann. Das System wurde am nächsten Morgen ausgeschaltet.

Was überlebt?

  • Prefetch: UPDATE.EXE-XXXXXXXX.pf wahrscheinlich vorhanden, mit eingebettetem Ausführungs-Zeitstempel.
  • ShimCache: Eintrag vorhanden mit der Vor-Löschungs-LastModified der Datei — bestätigt, dass die AppCompat-Infrastruktur sie beobachtet hat, sagt aber nicht, wann sie lief.
  • Amcache: Wenn ProgramDataUpdater zwischen Ausführung und Shutdown gefeuert hat, existiert ein InventoryApplicationFile-Schlüssel mit dem SHA-1, Herausgeber (oder dessen Fehlen) und der LastWritten-Zeit des Registry-Schlüssels als nächstem an die Ausführungszeit heranreichenden Zeitstempel.
  • RecentFileCache: Pfad vorhanden, wenn ProgramDataUpdater ihn noch nicht zu Amcache befördert hatte. Wenn die Beförderung lief, kann der Pfad bereits aus .bcf verschwunden sein, während er in .hve vorhanden ist.

Dieselbe Ausführung kann also Spuren an 4 Stellen hinterlassen, die jeweils leicht unterschiedliche Dinge erzählen. Keine davon allein ist "Ausführungsevidenz". Zusammen gelesen, triangulieren sie sicher.

Tools in dieser Flotte

Jedes Artefakt in der Tabelle oben hat einen Schwester-Parser in dieser Sammlung — alle clientseitig in WebAssembly, kein Upload erforderlich:

  • recentfilecache-parser — diese Seite.
  • amcache-parser
  • prefetch-parser
  • shim-cache-parser

Sie teilen Code-Stil, UI und dasselbe Datenschutz-Modell: die Bytes verlassen niemals deinen Browser.

Verwandte Artikel

Die BCF und die AmCache lösen überlappende Probleme auf verschiedenen Windows-Versionen. Zu wissen, welche Sie haben und warum, entscheidet, was Sie behaupten können.
Eine kurze Einführung in das Windows-7-AppCompat-Artefakt: wo es lebt, was es aufzeichnet und warum es 2026 immer noch in Triage-Fällen auftaucht.
Der Lebenszyklus der BCF hängt an einer einzigen geplanten Aufgabe. Verstehen Sie, wann ProgramDataUpdater läuft, wann sie die Datei leert und wie Sie einen deaktivierten Appraiser erkennen.