Comparatif des outils de parsing Prefetch Windows
Il existe de bons outils open source pour lire les fichiers prefetch. Aucun n'est la bonne réponse pour tous les flux de travail. Voici ce pour quoi chacun est optimisé, ce qu'il laisse de côté, et quand passer de l'un à l'autre.
PECmd (Eric Zimmerman)
PECmd est le standard de
facto en ligne de commande dans le DFIR. Écrit en .NET, il tourne sous
Windows et est livré à la fois comme CLI et comme bibliothèque
(Prefetch.dll). Il prend en charge toutes les versions SCCA, de XP à
Windows 11.
Forces : couverture complète des champs, y compris les flags des
métriques de fichiers, les chaînes de trace et les listes de chaînes de
répertoire par fichier. Sortie CSV/JSON, s'intègre proprement dans la
suite Triage d'Eric (KAPE).
Faiblesses : Windows uniquement. Le coût de démarrage de .NET rend le traitement fichier par fichier lent en itération ; vous traiterez généralement un dossier à la fois en lot. La sortie CSV est dense — utile pour un outillage en aval, moins pour une revue au coup d'œil.
Idéal pour : pipelines DFIR scriptés, modules KAPE, tout ce qui produit un jeu de données structuré destiné à un autre outil.
WinPrefetchView (NirSoft)
Le WinPrefetchView
de NirSoft est l'interface graphique Windows classique pour parcourir un
dossier Prefetch\ local.
Forces : courbe d'apprentissage nulle, réponse visuelle instantanée à « qu'est-ce qui a été exécuté ». Menu contextuel pour les propriétés, sauvegarde des entrées sélectionnées, génération de rapports HTML.
Faiblesses : Windows uniquement. Pas de sortie structurée au-delà d'un simple HTML ou d'une copie séparée par tabulations. Vieillissant — l'interface et l'ensemble des fonctionnalités n'ont guère bougé depuis des années. Pas idéal pour le traitement par lot ou pour les systèmes où l'exécution d'utilitaires non signés est restreinte.
Idéal pour : un triage rapide sur un poste d'analyste Windows
quand vous avez déjà exporté le dossier Prefetch\.
libscca / outils scca (libyal)
libscca est la bibliothèque C multiplateforme qui sous-tend plusieurs chaînes d'outils (Plaso, log2timeline). Elle publie également la documentation publique la plus exhaustive du format SCCA.
Forces : multiplateforme, bien documentée, code de qualité
bibliothèque. Des bindings existent pour Python via pyscca. Le CLI
sccainfo fourni avec donne un dump texte propre par fichier.
Faiblesses : pas d'interface graphique, pas de génération de rapport par lot intégrée, sortie lisible par humain plutôt que conviviale pour la machine par défaut.
Idéal pour : construire de l'outillage, en particulier sur des hôtes d'analyse non Windows. À combiner avec Plaso pour l'intégration en timeline.
Parseurs dans le navigateur
Les parseurs dans le navigateur — y compris celui-ci — chargent un décodeur SCCA en pur Rust compilé vers WebAssembly et l'exécutent dans un Web Worker. Aucune installation locale, aucun prérequis Windows, les fichiers ne quittent jamais le navigateur.
Forces : installation nulle, fonctionne sur tout OS ou appareil, pas de problème de chaîne de garde lié à l'envoi de preuves à un tiers (parce qu'elles ne sont pas envoyées du tout). Tableau triable et filtrable, panneau de détail détaillé, export JSON. Utile pour un triage ad-hoc quand vous n'avez pas votre chaîne d'outils habituelle sous la main.
Faiblesses : dépend de la modernité de la crate Rust sous-jacente pour la couverture des versions SCCA. Moins personnalisable que de scripter directement autour de PECmd ou libscca.
Idéal pour : un triage rapide, le partage de résultats avec des
collègues non-DFIR, l'exécution sur des postes de travail verrouillés
où l'installation d'outils d'analyse n'est pas autorisée, ou simplement
la vérification de bout en bout d'un seul fichier .pf.
Quel outil pour quand
Un flux de travail raisonnable :
- Premier coup d'œil — déposez le dossier dans le parseur web pour trier rapidement et identifier les lignes qui vous intéressent.
- Extraction en masse — lancez PECmd sur le même dossier pour un flux CSV/JSON injecté dans la timeline de votre dossier.
- Détail pour rapport d'expertise — pour tout
.pfunique sur lequel vous devez rédiger rigoureusement, exécutez à la fois PECmd etsccainfo, puis comparez. Le format est suffisamment bien défini pour que deux parseurs indépendants soient d'accord ; les désaccords méritent attention.
Aucun outil unique n'est une réponse complète, mais la combinaison d'un parseur web pour le triage et de PECmd ou libscca pour la sortie archivable couvre presque toutes les questions prefetch qui se posent en pratique.