Zurück zu allen Beiträgen

Windows-Prefetch-Parsing-Tools im Vergleich

Es gibt vier Parser, die 2026 zählen. Keiner davon ist die richtige Antwort für jeden Workflow. Die Trade-offs sind real, und der Fehlerfall, den falschen zu wählen — stillschweigend falsche Ausgaben auf MAM-komprimierten Dateien — ist schlimm genug, dass es sich lohnt, vorher darüber nachzudenken.

PECmd (Eric Zimmerman)

PECmd ist der De-facto-Kommandozeilen-Standard. .NET, läuft auf Windows (und Linux/macOS über die jüngsten .NET-Runtimes), wird sowohl als CLI als auch als Prefetch.dll-Bibliothek ausgeliefert. Unterstützt jede SCCA-Version von v17 bis v31 sauber.

Stärken: vollständige Feldabdeckung, einschließlich File-Metric-Flags, Trace-Chains und Per-File-Directory-String-Listen. CSV/JSON-Ausgabe. Integriert sich direkt in KAPE, wo die meisten produktiven DFIR-Pipelines es ausführen. Aktive Wartung.

Schwächen: .NET-Startkosten machen die Per-File-Verarbeitung beim Iterieren langsam — batchen Sie einen Ordner auf einmal. Die CSV-Ausgabe ist dicht; nützlich für nachgelagertes Tooling, weniger nützlich für die schnelle Sichtung.

Am besten für: gescriptete Pipelines, KAPE-Module, alles, was einen strukturierten Datensatz erzeugt, den ein anderes Tool konsumiert.

WinPrefetchView (NirSoft)

NirSofts WinPrefetchView ist die klassische Windows-GUI zum Durchsuchen eines lokalen Prefetch\-Verzeichnisses. Existiert seit über einem Jahrzehnt im Wesentlichen unverändert.

Stärken: keine Lernkurve, sofortige visuelle Triage, Rechtsklick-Kontextmenü für Eigenschaften, HTML-Export. Nützlich, um einem Nicht-DFIR-Kollegen zu zeigen, was er ansieht.

Schwächen: nur Windows. Keine strukturierte Ausgabe über einfaches HTML oder Tab-Separated-Copy hinaus. Altert — die Oberfläche und das Feature-Set haben sich seit Jahren kaum bewegt. Nicht ideal für Batch-Verarbeitung oder für Umgebungen, in denen das Ausführen unsignierter Drittanbieter-Utilities per Policy eingeschränkt ist.

Am besten für: schnelle visuelle Triage auf einer Windows-Analyst-Workstation, wenn Sie das Prefetch\-Verzeichnis bereits gezogen haben.

libscca / pyscca (libyal)

libscca ist die plattformübergreifende C-Bibliothek, die Plaso/log2timeline unterlegt. Sie veröffentlicht auch die gründlichste öffentliche Dokumentation des SCCA-Formats — wenn Sie das exakte Feldlayout für v31 wissen müssen, schauen Sie hier.

Stärken: plattformübergreifend, gut dokumentiert, Bibliotheks-Code-Qualität. Python-Bindings über pyscca. Das mitgelieferte sccainfo-CLI gibt einen sauberen Text-Dump pro Datei. Wird unter Plaso als Parser verwendet, was bedeutet, dass es gegen ein großes Korpus echter Prefetch validiert wurde.

Schwächen: keine GUI, kein eingebautes Batch-Reporting. Die Ausgabe ist standardmäßig menschenlesbar statt maschinenfreundlich. Der Build auf Windows ist nicht immer angenehm; die meisten Leute konsumieren es über pyscca oder Plaso statt direkt.

Am besten für: maßgeschneidertes Tooling auf Nicht-Windows-Analyse-Hosts. Timeline-Integration über Plaso.

python-prefetch-parser und Verwandte

Die verschiedenen prefetchparser.py-Derivate — windowsprefetch, das originale Adam-Witt-Python-Tool, mehrere Forks — werden in älteren Berichten noch zitiert. Die meisten sind unmaintained. Die meisten verarbeiten MAM-Kompression überhaupt nicht oder verarbeiten v26/v30, brechen aber bei v31. Sie geben stillschweigend falsche Felder aus, statt einen Fehler zu produzieren.

Wenn Sie eine Pipeline erben, die eines dieser verwendet, ersetzen Sie es. Die Kosten, einen falschen Ausführungszähler in einem gerichtsfesten Bericht zu finden, sind höher als die Kosten, auf PECmd oder pyscca zu wechseln.

Browser-basierte Parser

Browser-basierte Parser — einschließlich des auf dieser Seite — laden einen reinen Rust-SCCA-Decoder (frnsc-prefetch), kompiliert zu WebAssembly, und führen ihn in einem Web Worker aus. Keine lokale Installation, keine Windows-Anforderung, Dateien verlassen den Browser nie.

Stärken: keine Installation, funktioniert auf jedem OS oder Gerät, keine Beweiskettenprobleme durch Versenden von Beweisen an Dritte, weil nichts gesendet wird. Sortierbare und durchsuchbare Tabellen, Drilldown-Detailpanels, JSON-Export. Besonders nützlich für Ad-hoc-Triage, wenn Sie nicht Ihr übliches Tooling zur Hand haben, und auf gehärteten Hosts, auf denen Sie nichts installieren können.

Schwächen: hängt von der zugrundeliegenden Crate für SCCA-Versionsabdeckung ab. Weniger anpassbar als Scripting gegen PECmd oder libscca. Keine native Integration mit Plaso, KAPE oder dem, was auch immer Ihre Fall-Timeline ist.

Am besten für: schnelle Triage, das Teilen von Befunden mit Nicht-DFIR-Kollegen, das Ausführen auf gehärteten Workstations, auf denen das Installieren von Analyse-Tooling nicht erlaubt ist, oder die End-to-End-Verifikation einer einzelnen .pf gegen einen zweiten unabhängigen Parser.

Wann welches verwenden

Ein Workflow, der in der Praxis funktioniert:

  1. Erster Blick — den Ordner in einen Browser-Parser ablegen. Triage nach Dateianzahl, Versionsverteilung und offensichtlichen Anomalien. Die zu untersuchenden Zeilen auswählen.
  2. Bulk-Extraktion — PECmd über denselben Ordner laufen lassen und CSV/JSON in Ihre Fall-Timeline schreiben. Das ist das Archivartefakt, auf das Sie im Bericht verweisen.
  3. Untersuchungsdetail — für jede einzelne .pf, die Sie rigoros schreiben müssen, führen Sie sowohl PECmd als auch sccainfo aus. Zwei unabhängige Parser sollten sich bei einem wohldefinierten Format einig sein; Meinungsverschiedenheiten verdienen Aufmerksamkeit.

Kein einzelnes Tool deckt alles ab. Die Kombination eines Browser-Parsers für die Triage plus PECmd oder libscca für archivierten Output bewältigt nahezu jede Prefetch-Frage, die in echter Fallarbeit aufkommt.

Weiterführende Literatur