Zurück zu allen Beiträgen

Windows-Prefetch-Parser im Vergleich

Für das Auslesen von Prefetch-Dateien gibt es gute Open-Source-Tools. Keines davon ist für jeden Workflow die richtige Antwort. Hier erfahren Sie, worauf jedes Tool optimiert ist, was es weglässt und wann Sie zwischen ihnen wechseln sollten.

PECmd (Eric Zimmerman)

PECmd ist der De-facto- Standard auf der Kommandozeile in DFIR. Geschrieben in .NET, läuft unter Windows, wird sowohl als CLI als auch als Bibliothek (Prefetch.dll) ausgeliefert. Unterstützt jede SCCA-Version von XP bis Windows 11.

Stärken: vollständige Feldabdeckung, einschließlich der File-Metric-Flags, Trace-Chains und der Verzeichnis-Stringlisten pro Datei. CSV/JSON-Ausgabe, sauber in Erics Triage-Suite (KAPE) integriert.

Schwächen: nur unter Windows. Der .NET-Startaufwand macht die Verarbeitung Datei für Datei langsam, wenn man iteriert; üblicherweise arbeitet man ordnerweise im Batch. Die CSV-Ausgabe ist dicht — nützlich für nachgelagertes Tooling, weniger für die Sichtprüfung auf einen Blick.

Am besten geeignet für: skriptgesteuerte DFIR-Pipelines, KAPE-Module, alles, was einen strukturierten Datensatz erzeugt, den ein weiteres Tool weiterverarbeitet.

WinPrefetchView (NirSoft)

WinPrefetchView von NirSoft ist die klassische Windows-GUI zum Durchsehen eines lokalen Prefetch\-Ordners.

Stärken: keinerlei Einarbeitung, sofortige visuelle Antwort auf „Was lief?". Rechtsklick-Kontextmenü für Eigenschaften, ausgewählte Einträge speichern, HTML-Berichte erzeugen.

Schwächen: nur unter Windows. Keine strukturierte Ausgabe jenseits von einfachem HTML oder tabseparierter Kopie. Etwas in die Jahre gekommen — Oberfläche und Funktionsumfang haben sich seit Langem kaum bewegt. Nicht ideal für die Stapelverarbeitung oder für Systeme, auf denen das Ausführen unsignierter Utilities eingeschränkt ist.

Am besten geeignet für: schnelle Triage auf einer Windows-Analystenmaschine, wenn der Prefetch\-Ordner bereits exportiert vorliegt.

libscca / scca-Tools (libyal)

libscca ist die plattform- übergreifende C-Bibliothek hinter mehreren Tool-Ketten (Plaso, log2timeline). Sie veröffentlicht außerdem die gründlichste öffentliche Dokumentation des SCCA-Formats.

Stärken: plattformübergreifend, gut dokumentiert, in Bibliotheksqualität geschrieben. Python-Bindings existieren über pyscca. Das mitgelieferte CLI sccainfo gibt pro Datei einen sauberen Textdump aus.

Schwächen: keine GUI, keine eingebaute Stapel-Berichterstattung; die Ausgabe ist standardmäßig eher menschenlesbar als maschinenfreundlich.

Am besten geeignet für: den Bau eigener Tools, insbesondere auf Nicht-Windows-Analysehosts. In Kombination mit Plaso für die Timeline-Integration.

Browserbasierte Parser

Browserbasierte Parser — einschließlich dieses hier — laden einen in reinem Rust geschriebenen, zu WebAssembly kompilierten SCCA-Decoder und führen ihn in einem Web Worker aus. Keine lokale Installation, keine Windows-Voraussetzung, die Dateien verlassen den Browser nie.

Stärken: keinerlei Installation, läuft auf jedem Betriebssystem und auf jedem Gerät, keine Chain-of-Custody-Probleme durch das Versenden von Beweismaterial an Dritte (weil eben nichts versendet wird). Sortierbare und durchsuchbare Tabelle, Detailpanel zum Aufklappen, JSON-Export. Nützlich für die spontane Triage, wenn Ihre gewohnte Tool-Kette nicht zur Hand ist.

Schwächen: hängt für die SCCA-Versionsabdeckung von der Aktualität des zugrunde liegenden Rust-Crates ab. Weniger anpassbar als das Skripten gegen PECmd oder libscca direkt.

Am besten geeignet für: schnelle Triage, das Teilen von Befunden mit Nicht-DFIR-Kollegen, den Einsatz auf restriktiv konfigurierten Workstations, auf denen die Installation von Analyse-Tools nicht erlaubt ist, oder einfach das Ende-zu-Ende-Verifizieren einer einzelnen .pf-Datei.

Welches Tool wann

Ein sinnvoller Workflow:

  1. Erster Blick — Ziehen Sie den Ordner in den Browser-Parser, um schnell zu triagieren und die Zeilen zu identifizieren, die Sie genauer betrachten wollen.
  2. Massensicherung — Lassen Sie PECmd über denselben Ordner laufen, um einen CSV/JSON-Feed für Ihre Fall-Timeline zu erzeugen.
  3. Detail in Beweisqualität — Für jede einzelne .pf-Datei, die Sie sauber dokumentieren müssen, lassen Sie sowohl PECmd als auch sccainfo laufen und vergleichen die Ergebnisse. Das Format ist ausreichend wohldefiniert, dass zwei unabhängige Parser übereinstimmen sollten; Abweichungen verdienen Aufmerksamkeit.

Kein einzelnes Tool ist eine vollständige Antwort, aber die Kombination aus einem Browser-Parser für die Triage und PECmd oder libscca für die archivierungsfähige Ausgabe deckt nahezu jede Prefetch-Frage ab, die in der Praxis auftritt.