Qu'est-ce que Windows Prefetch ? (glossaire)
Windows Prefetch est le dossier de fichiers .pf que le Prefetcher écrit pour accélérer le démarrage des applications. Le Prefetcher enregistre quelles DLL et quels fichiers de données un binaire charge pendant ses ~10 premières secondes, afin que Windows puisse les pré-charger la prochaine fois. La valeur forensique est un effet de bord : le .pf n'existe que si le binaire a réellement été exécuté (en supposant que Prefetch soit actif, ce qui est le cas par défaut sur les builds desktop).
Cela fait de Prefetch l'artefact Windows le plus solide pour prouver l'exécution. C'est l'élément canonique à apparier avec Amcache lorsque « ce binaire a-t-il été exécuté ? » importe.
Ce que porte chaque .pf#
| Champ | Signification |
|---|---|
| Nom de l'exécutable | À partir du nom de fichier. |
| Hash de chemin | Le suffixe du nom de fichier. Pas un hash de contenu. |
| Compteur d'exécutions | Combien de fois le binaire a été lancé. |
| Derniers temps d'exécution | Jusqu'à 8 (Win 7/8/10), 10 sur Win 11. |
| Fichiers chargés | DLL et fichiers de données référencés dans les ~10 premières secondes d'exécution. |
| Volumes référencés | Numéros de série des volumes source. |
Prefetch vs Amcache#
| Prefetch | Amcache | |
|---|---|---|
| Prouve l'exécution | Oui | Non, présence seulement |
| Enregistre un hash de contenu | Non (hash de chemin uniquement) | Oui (SHA-1) |
| Enregistre les temps d'exécution | Oui, jusqu'à 8 ou 10 | Non |
| Enregistre éditeur / version | Non | Oui |
| Survit à la suppression du binaire | Oui | Oui |
| Activé par défaut sur desktop | Oui | Oui |
| Activé par défaut sur Server | Souvent désactivé | Activé (cadence plus lente) |
Pour la comparaison complète, voir Amcache vs Prefetch.
Quand chacun l'emporte#
Prefetch l'emporte sur : « cela s'est-il exécuté ? », « quand ? », « qu'a-t-il chargé ? ». La liste des fichiers chargés fait souvent ressortir des DLL injectées que vous ne verriez pas autrement.
Amcache l'emporte sur : « quel est son SHA-1 ? », « était-il présent mais jamais exécuté ? », « qu'en est-il des pilotes et des périphériques ? ». Et Amcache survit régulièrement bien plus longtemps que Prefetch, qui tourne autour de 1024 entrées sur Windows moderne.
Outils d'analyse#
- PECmd (Eric Zimmerman). Standard.
- Windows-Prefetch-Parser. Alternative Python plus ancienne, occasionnellement encore utile.
Termes liés#
Articles liés
- Qu'est-ce que SRUM (SRUDB.dat) ? (glossaire)
SRUM est la base ESE que Windows utilise pour suivre l'usage des ressources par application, par heure, sur 30 à 60 jours. Le seul artefact Windows avec des totaux d'octets réseau par application. Critique pour l'exfiltration.
- Qu'est-ce que Shimcache (AppCompatCache) ? (glossaire)
Shimcache est le cache du loader maintenu par le noyau dans la ruche SYSTEM. 1024 entrées, pas de hash, périmé jusqu'au redémarrage. Différent d'Amcache ; appariez-les.
- Qu'est-ce que le ProgramId Amcache ? (glossaire)
ProgramId est le hash d'identité d'application de 44 caractères qu'Amcache stocke. Stable entre hôtes pour la même installation. Attrape les recompilations et renommages que Hash rate.
- Qu'est-ce que LinkDate dans Amcache ? (glossaire)
LinkDate est le PE TimeDateStamp. Contrôlable par l'attaquant. Utilisez-le pour le regroupement de builds, pas pour les chronologies d'hôte.