Skip to content

RecentFileCache vs Amcache vs Prefetch vs ShimCache

Quatre artefacts Windows d’evidence-of-execution côte à côte : ce que chacun stocke, ce qu’il ne stocke pas, et lequel ouvrir en premier.

Publié le 4 min de lecture

"Evidence of execution" est un travail rempli par plusieurs artefacts Windows, pas un seul. Ils se chevauchent, se contredisent et disparaissent à des rythmes différents. Ce post met les quatre plus utiles — RecentFileCache, Amcache, Prefetch, ShimCache — sur la même table pour que vous arrêtiez de deviner lequel ouvrir en premier.

Vue d’ensemble

ArtefactEmplacementWindowsGranularitéHorodatages par entréeMétadonnées richesSurvit au reboot
RecentFileCacheC:\Windows\AppCompat\Programs\RecentFileCache.bcf7 uniquementChemin seulNon (mtime du fichier seul)AucuneOui
AmcacheC:\Windows\AppCompat\Programs\Amcache.hve7→11Clé registre par entréeOui (LastWritten de clé, plus)Chemin, SHA-1, PE, éditeur, date d’installOui
PrefetchC:\Windows\Prefetch\*.pfXP→11Par fichier exécutableOui (8 dernières exécutions)Compteur, fichiers référencés, infos de volumeOui (purge auto vers ~1024 entrées sur Win10+)
ShimCacheHive SYSTEM : ControlSet\Control\Session Manager\AppCompatCacheXP→11Par exécutable, en mémoire jusqu’au shutdownLastModified (fichier), pas exécutionAucuneUniquement à l’arrêt propre

Ce à quoi chacun répond réellement

  • RecentFileCache. "Quels exécutables ont croisé le scanner Application Experience depuis le dernier passage de ProgramDataUpdater ?" Peu coûteux à parser, pas de métadonnées, Win7 uniquement.
  • Amcache. "Quels programmes et fichiers ont été installés ou exécutés sur cette machine, avec hachages et infos d’éditeur, depuis l’installation de l’OS ?" Ce qui se rapproche le plus d’un journal système d’installation-et-exécution sur Windows moderne.
  • Prefetch. "Qu’est-ce qui a effectivement été exécuté, quand, et combien de fois — pour les ~1024 derniers binaires ?" La preuve d’exécution la plus serrée disponible sans logging dédié.
  • ShimCache. "Quels exécutables l’infrastructure de shim AppCompat a-t-elle vus ? Quand chacun a-t-il été modifié pour la dernière fois ?" Note : l’horodatage de ShimCache est le LastModified du fichier, pas le moment d’exécution — c’est le champ le plus souvent mal lu dans les rapports DFIR.

Lequel ouvrir quand

Un court arbre de triage pour "le binaire X s’est-il exécuté" :

  1. Prefetch en premier. Si *X*.pf existe, vous avez un événement d’exécution avec horodatage(s) et compteur. Terminé.
  2. Amcache. Si un SHA-1 dans InventoryApplicationFile correspond à votre fichier, le fichier a au moins été vu par AppCompat — combiné à Prefetch, c’est une preuve d’exécution à forte confiance.
  3. RecentFileCache (Win7). Si vous êtes sur Win7 et qu’Amcache est clairsemé, .bcf peut être le seul endroit où un chemin récent a atterri. À traiter comme "vu par AppCompat entre les deux derniers passages de ProgramDataUpdater".
  4. ShimCache. Preuve corroborante. Présence ≈ "l’infrastructure AppCompat a vu un fichier à ce chemin avec ce LastModified". Ne lisez pas son horodatage comme un moment d’exécution.

Un scénario Win7 illustré

Imaginez un analyste sur un poste Win7 compromis. L’attaquant a déposé C:\Users\Public\update.exe, l’a lancé une fois, puis l’a supprimé. Le système a été éteint le lendemain matin.

Que reste-t-il ?

  • Prefetch : UPDATE.EXE-XXXXXXXX.pf probablement présent, avec l’horodatage d’exécution intégré.
  • ShimCache : entrée présente avec le LastModified pré-suppression du fichier — confirme que l’infrastructure AppCompat l’a observé, ne dit pas quand il a été exécuté.
  • Amcache : si ProgramDataUpdater s’est déclenché entre l’exécution et l’extinction, une clé InventoryApplicationFile existe avec le SHA-1, l’éditeur (ou son absence), et le LastWritten de la clé registre comme horodatage le plus proche de l’exécution.
  • RecentFileCache : chemin présent si ProgramDataUpdater ne l’avait pas encore promu vers Amcache. Si la promotion a eu lieu, le chemin peut déjà avoir disparu de .bcf tout en étant présent dans .hve.

La même exécution peut donc laisser des traces à 4 endroits, racontant des choses légèrement différentes. Aucune, isolée, n’est "une preuve d’exécution". Lus ensemble, ils triangulent avec confiance.

Outils dans cette flotte

Chaque artefact du tableau ci-dessus a un parseur frère dans cette collection — tous en WebAssembly côté client, aucun upload requis :

  • recentfilecache-parser — ce site.
  • amcache-parser
  • prefetch-parser
  • shim-cache-parser

Ils partagent un style de code, une UI et le même modèle de confidentialité : les octets ne quittent jamais votre navigateur.

Articles liés

Le BCF et l'AmCache résolvent des problèmes qui se chevauchent sur des versions différentes de Windows. Savoir lequel vous avez, et pourquoi, décide de ce que vous pouvez affirmer.
Une courte introduction à l'artefact AppCompat de Windows 7 : où il vit, ce qu'il enregistre, et pourquoi il refait surface dans les dossiers de triage en 2026.
Le cycle de vie du BCF tient en une seule tâche planifiée. Comprenez quand ProgramDataUpdater s'exécute, quand il vide le fichier, et comment repérer un appraiser désactivé.