TL;DR. Lesen Sie in dieser Reihenfolge: Prefetch (am stärksten, wenn aktiv) → BAM/DAM (letzte Ausführung pro Benutzer in Win10+, sträflich unterschätzt) → AmCache (SHA-1-Identifikation) → ShimCache (Datei-Existenz) → UserAssist (nur Explorer-initiiert, ROT13-kodiert). Triangulieren Sie; kein einzelnes Artefakt schließt einen Fall.
Es gibt kein einzelnes Windows-Artefakt, das die Frage „Ist dieses Programm gelaufen, wann, und durch wen?" perfekt beantwortet. Ermittler triangulieren zwischen mehreren. Hier ist die praktische Kurzliste — was jedes sagt und was nicht.
Die Kurzliste
| Artefakt | Ort | Zeichnet auf | Zuverlässigkeit für Ausführung |
|---|---|---|---|
| Prefetch | C:\Windows\Prefetch\*.pf | Pfad, Ausführungszähler, letzte 8 Ausführungen, geladene Dateien | Sehr hoch — nur beim Prozessstart geschrieben |
| AmCache | C:\Windows\AppCompat\Programs\Amcache.hve | Pfad, SHA-1, Größe, Hersteller, Install + erste Ausführung | Hoch — explizite Ausführungs-Zeitstempel |
| ShimCache | SYSTEM-Hive …\AppCompatCache | Pfad, Datei-mtime | Mittel — beweist Existenz, impliziert oft (nicht immer) Ausführung |
| UserAssist | NTUSER.DAT …\UserAssist | Per-User-GUI-Starts via Explorer | Hoch — aber nur Benutzer-initiiert, Namen ROT13-kodiert |
| BAM / DAM | SYSTEM-Hive …\bam\State | Letzte Ausführungszeit jeder Binärdatei pro Benutzer | Sehr hoch — Win10+, leicht zu parsen, oft vergessen |
In Prioritätsreihenfolge lesen
1. Prefetch zuerst. Eine .pf-Datei kommt einem „das lief"-Beleg auf Windows am nächsten. Sie speichert bis zu acht letzte Ausführungszeiten, und modernes Windows hat Prefetch auf Workstations standardmäßig aktiviert. Eric Zimmermans PECmd ist der Standardparser.
2. BAM / DAM als Zweites. Background und Desktop Activity Moderator sind Dienste, die Background-Apps drosseln. Sie halten einen „letzte Ausführung"-Zeitstempel pro Benutzer und pro Binärdatei in der SYSTEM-Hive unter …\bam\State und …\dam\State. Vorhanden in Windows 10/11, rauscharm, mit jedem Registry-Tool leicht zu lesen.
3. AmCache als Drittes. AmCache springt ein, wo Prefetch deaktiviert ist (Server!) und liefert SHA-1-Hashes für eindeutige Datei-Identifikation. Siehe ShimCache vs. AmCache für die Aufschlüsselung.
4. ShimCache als Viertes. Behandeln Sie ihn als „Datei existierte"-Anker, nicht als Ausführungs-Aussage. Der Artikel zu Ausführungsnachweisen erklärt genau, warum.
5. UserAssist zuletzt. Starker Beleg für interaktiven Programmstart (von Explorer initiiert), aber blind für alles, was aus Shell, Scheduled Task oder Service gestartet wurde. Nützlich für „Hat der Benutzer das geklickt?", nicht für „Wurde diese Binärdatei jemals ausgeführt?".
Häufige Fallstricke
- Prefetch kann deaktiviert sein auf SSDs oder per Richtlinie. Sein Fehlen heißt nicht, dass nichts gelaufen ist.
- AmCache rotiert und altert aus. Alte Einträge werden bereinigt. Sichern Sie das Artefakt früh in der Triage.
- ShimCache-Zeitstempel sind die mtime der Datei, nicht der Ausführungszeitpunkt. Viele Ermittler haben das schmerzlich gelernt.
- UserAssist-Namen sind ROT13-kodiert. Trivial zu dekodieren, aber stolpert beim Gelegenheitsleser.
- BAM wird sträflich unterschätzt. Es ist eines der saubersten „Hat diese Binärdatei für diesen Benutzer ausgeführt?"-Signale auf modernem Windows.
Werkzeuge
Für hochauflösendes Offline-Parsen ist die Eric-Zimmerman-Werkzeugsuite der De-facto-Standard — AppCompatCacheParser, AmcacheParser, PECmd, RBCmd und Co. Die Velociraptor-Artefaktbibliothek übernimmt Live-Triage. Speziell für ShimCache können Sie den Shimcache Parser direkt im Browser nutzen, ohne etwas zu installieren.
Weiterführende Quellen
- AppCompatCacheParser (Zimmerman) — Referenz-ShimCache-Parser.
- Velociraptor ShimCache-Artefakt — Live-System-Sammlungslogik.
- ShimCache & AmCache forensic analysis (Mehrnoush) — ausführlicher fallorientierter Walkthrough.