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

Un fichier .pf prouve l'exécution. Une entrée Amcache enregistre la présence. Un même binaire peut apparaître dans les deux, dans un seul, ou dans aucun — et quelle combinaison vous observez est en soi une information d'enquête.

Côte à côte#

Fichier .pf (Prefetch) Entrée Amcache
Où il vit C:\Windows\Prefetch\NAME.EXE-1A2B3C4D.pf Sous-clé à l'intérieur d'Amcache.hve
Créé quand Première exécution du binaire Première fois que l'appraiser inventorie le binaire
Maintenu par Sous-système Prefetcher Tâche planifiée Compatibility Appraiser
Prouve l'exécution ? Oui Non
Prouve la présence ? Oui (implicite — devait exister pour s'exécuter) Oui
A un hash SHA-1 ? Non (hash de chemin uniquement) Oui (SHA-1 des 31 premiers Mio)
A éditeur / version ? Non Oui
Horodatages d'exécution ? Oui, jusqu'à 8 (10 sur Win 11) Non
Horodatages d'inventaire ? Non Oui (KeyLastWriteTimestamp)
Survit à la suppression du binaire ? Oui (suppression du fichier uniquement) Oui (persistance registre)
Activé par défaut sur desktops Windows ? Oui Oui
Activé par défaut sur Server ? Souvent désactivé Activé (cadence plus lente)

Les quatre états#

Pour tout binaire donné sur un hôte, vous observez l'un des quatre états. Chacun porte une lecture différente :

Les deux présents#

Le binaire s'est exécuté, et l'appraiser l'a inventorié. Vous avez une preuve d'exécution (heures d'exécution Prefetch) et une preuve d'identité (hash + métadonnées Amcache). Cas typique pour les logiciels normaux.

Prefetch uniquement#

Le binaire s'est exécuté, mais Amcache ne l'a pas enregistré. Deux raisons probables :

  1. Le binaire a été supprimé avant la passe d'appraiser suivante. Courant pour les stagers / droppers qui s'auto-suppriment après exécution.
  2. Le binaire vit dans un chemin que l'appraiser ne scanne pas.

C'est un signal fort de nettoyage délibéré — le pattern classique de stager Cobalt Strike / Sliver / Metasploit.

Amcache uniquement#

Le binaire est présent mais jamais exécuté (ou exécuté uniquement comme DLL chargée par un autre EXE, ce qui met à jour le .pf de l'autre EXE). Raisons :

  1. Outil déposé en attente de déclencheur.
  2. Chargé uniquement via rundll32.exe / regsvr32.exe / LoadLibrary depuis un autre processus.
  3. Prefetch désactivé sur cet hôte.

Une conclusion « présent mais jamais exécuté » est très différente de « exécuté ». Utile pour détecter les outils déposés mais inutilisés.

Les deux absents#

Le binaire ne s'est jamais exécuté et l'appraiser ne l'a jamais inventorié. Le plus proche de « ceci ne s'est jamais produit sur cet hôte » — mais pas concluant. Les deux artefacts peuvent être effacés, les deux ont des lacunes de couverture, et les binaires transitoires intra-passe d'appraiser peuvent ne laisser aucune trace.

Le workflow combiné#

  1. Parsez Amcache avec AmcacheParser.
  2. Parsez Prefetch avec PECmd.
  3. Chargez les deux CSV dans Timeline Explorer.
  4. Filtrez Amcache sur « PE non signé dans un chemin accessible en écriture par l'utilisateur ».
  5. Pour chaque hit Amcache, vérifiez si un .pf existe pour le même Name. Présent → exécution confirmée. Absent → présence uniquement.
  6. Pour chaque .pf, prenez le nom de l'exécutable et vérifiez Amcache pour le hash et les métadonnées.

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

Voir aussi#

Articles liés

  • Amcache vs Prefetch : ce que chacun prouve vraiment

    Amcache enregistre la présence ; Prefetch enregistre l'exécution. Une référence pratique pour savoir quand utiliser chacun, sur quoi ils se recoupent, et comment les combiner dans une timeline DFIR.

  • Pourquoi mon Amcache.hve est-il vide ?

    Trois causes courantes : le Compatibility Appraiser est désactivé, l'hôte vient d'être fraîchement imagé, ou vous collectez depuis un Server / Server Core où l'appraiser s'exécute beaucoup moins souvent.

  • Où se trouve la clé de registre Amcache ?

    Amcache est sa propre ruche située à C:\Windows\AppCompat\Programs\Amcache.hve — pas une clé sous HKLM. Quand elle est chargée par des outils ou par Windows lui-même, elle est montée comme HKLM\Amcache.

  • Que contient Amcache.hve ?

    Amcache.hve contient des enregistrements d'inventaire pour chaque binaire PE, pilote et périphérique connecté que le Compatibility Appraiser Windows a vu — avec hashes SHA-1, chemins, éditeurs et horodatages.

Retour à tous les articles