Qu'est-ce que Windows Prefetch ? (glossaire)

Windows Prefetch est un répertoire de fichiers .pf à C:\Windows\Prefetch\ maintenu par le sous-système Prefetcher. Chaque fichier .pf est créé la première fois qu'un binaire s'exécute et mis à jour lors des exécutions ultérieures. Le fichier enregistre jusqu'à 8 horodatages d'exécution (10 sur Windows 11), un compteur d'exécutions, et la liste des fichiers que le binaire a chargés dans ses 10 premières secondes d'exécution.

C'est l'artefact Windows le plus fort pour prouver l'exécution. Un .pf existe si et seulement si le binaire s'est réellement exécuté (en supposant que Prefetch soit activé, ce qui est le cas par défaut sur les desktops Windows).

Ce que chaque .pf contient#

Champ Valeur
Nom de l'exécutable À partir du nom de fichier, par ex. NOTEPAD.EXE.
Hash de chemin Suffixe du nom de fichier — pas un hash de contenu.
Compteur d'exécutions Combien de fois le binaire s'est exécuté.
Heure(s) de dernière exécution Jusqu'à 8 horodatages (10 sur Win 11).
Fichiers chargés DLL et fichiers de données référencés dans les ~10 premières s.
Volumes référencés Numéros de série des volumes sources.

Prefetch vs Amcache#

Prefetch Amcache
Prouve l'exécution ? Oui Non — présence uniquement
Enregistre le hash ? Non (hash de chemin uniquement) Oui (SHA-1)
Enregistre les heures d'exécution ? Oui, jusqu'à 8/10 Non
Enregistre éditeur / version ? Non Oui
Survit à la suppression du binaire ? Oui (suppression du fichier uniquement) Oui
Activé par défaut ? Oui (desktops) Oui
Par défaut courant sur Server ? Souvent désactivé Activé

Pour une couverture complète, voir Amcache vs Prefetch.

Quand Prefetch gagne#

  • « Ce binaire s'est-il réellement exécuté ? » — l'existence du .pf est définitive.
  • « Quand s'est-il exécuté ? » — jusqu'à 8/10 horodatages par binaire.
  • « Qu'a-t-il chargé ? » — la liste des fichiers chargés fait souvent remonter les DLL injectées par l'attaquant.

Quand Amcache gagne#

  • « Quel est le SHA-1 ? » — Prefetch n'a pas de hash de contenu.
  • « Ce binaire était-il présent mais jamais exécuté ? » — Amcache l'attrape ; Prefetch n'existe pas pour les binaires jamais exécutés.
  • « Preuves de pilote / périphérique » — Amcache a des schémas dédiés ; Prefetch n'enregistre que l'exécution PE en espace utilisateur.

Outils de parsing#

  • PECmd (Zimmerman) — produit un CSV structuré à partir d'un répertoire Prefetch. L'outil standard pour parser Windows Prefetch.
  • Windows-Prefetch-Parser — alternative Python plus ancienne.

Pour le tableau plus large des preuves d'exécution, voir Amcache vs ShimCache.

Termes apparentés#

  • Amcache.hve — l'artefact de preuve de présence.
  • ShimCache — le cache loader côté noyau.
  • SRUM — l'artefact d'utilisation de ressources sur longue fenêtre.

Articles liés

  • Qu'est-ce que SRUM (SRUDB.dat) ? (glossaire)

    SRUM est le System Resource Usage Monitor Windows — une base de données ESE enregistrant l'utilisation CPU, réseau et E/S par application en buckets horaires sur 30-60 jours.

  • Qu'est-ce qu'un fichier .pf vs une entrée Amcache ?

    Les fichiers .pf sont des enregistrements Windows Prefetch — preuve qu'un binaire s'est exécuté, avec horodatages d'exécution et listes de fichiers chargés. Les entrées Amcache enregistrent la présence, avec le hash SHA-1 et les métadonnées.

  • Qu'est-ce que ShimCache (AppCompatCache) ? (glossaire)

    ShimCache est un cache maintenu par le noyau dans la ruche du registre SYSTEM enregistrant jusqu'à 1024 binaires que le loader Windows a touchés. Différent d'Amcache.

  • Qu'est-ce que le ProgramId Amcache ? (glossaire)

    ProgramId est le hash d'identité applicative de 44 caractères qu'Amcache attribue à chaque application logique. Le même ProgramId sur différents hôtes signifie la même installation d'application.

Retour à tous les articles