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 :
- Le binaire a été supprimé avant la passe d'appraiser suivante. Courant pour les stagers / droppers qui s'auto-suppriment après exécution.
- 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 :
- Outil déposé en attente de déclencheur.
- Chargé uniquement via
rundll32.exe/regsvr32.exe/LoadLibrarydepuis un autre processus. - 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é#
- Parsez Amcache avec AmcacheParser.
- Parsez Prefetch avec PECmd.
- Chargez les deux CSV dans Timeline Explorer.
- Filtrez Amcache sur « PE non signé dans un chemin accessible en écriture par l'utilisateur ».
- Pour chaque hit Amcache, vérifiez si un
.pfexiste pour le mêmeName. Présent → exécution confirmée. Absent → présence uniquement. - 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.