Amcache sur Windows 11 et Windows 10 : schéma, cadence et particularités
Amcache a atteint sa forme moderne et mature dans Windows 10 build 1709 (Fall Creators Update) et est resté cohérent dans ses grandes lignes depuis sur Windows 10 et Windows 11. La ruche sur un poste de travail Windows 11 aujourd'hui se lit et s'analyse de la même façon que sur un poste Windows 10 1809 en 2018 — mais une poignée de particularités spécifiques aux builds se sont accumulées au fil des années, et les connaître vous évite de mal lire les preuves.
Cette page est la référence par build pour Windows moderne. Pour les spécificités Serveur, voir Amcache sur Windows Server. Pour la référence plus large sur l'artefact, voir la référence complète Amcache.
Le schéma à travers les builds Windows 10#
Le schéma Inventory* a été ajouté dans Windows 10 build 1709
(Fall Creators Update, octobre 2017). Avant cela, Amcache sur
Windows 10 n'utilisait que les clés legacy Root\Programs et
Root\File — données bien plus pauvres par entrée.
Les clés Inventory* phares ajoutées dans 1709 :
Root\InventoryApplicationRoot\InventoryApplicationFileRoot\InventoryDriverBinaryRoot\InventoryDeviceContainerRoot\InventoryDevicePnp
Les feature updates Windows 10 ultérieures ont ajouté ou affiné des clés mais ont gardé la structure globale stable :
| Build | Changement Amcache notable |
|---|---|
| 1709 | Schéma Inventory* introduit. |
| 1803 | InventoryApplicationFramework ajouté. |
| 1809 | InventoryApplicationShortcut ajouté (menu Démarrer / raccourcis épinglés). |
| 1903 | InventoryDeviceInterface ajouté. |
| 1909 | Affinements de schéma ; aucune nouvelle clé majeure. |
| 2004 | InventoryDriverPackage ajouté (métadonnées de package pilote). |
| 20H2 | Schéma stable. |
| 21H1 / 21H2 | Schéma stable. |
| 22H2 | Dernière feature update ; schéma stable. |
En pratique : tout depuis Windows 10 build 1709 a le schéma
Inventory* moderne et s'analyse proprement avec les builds
AmcacheParser actuels.
Le schéma sur Windows 11#
Windows 11 hérite du schéma de fin de Windows 10 avec des ajouts mineurs :
InventoryMiscellaneousUUPInfoenregistre les métadonnées de packages Unified Update Platform. Rarement utile en DFIR.InventoryDeviceMediaClassenregistre plus agressivement les sous-classifications de périphériques audio / vidéo. Utile pour distinguer les périphériques USB-audio des périphériques USB de stockage de masse quand un seul conteneur USB expose plusieurs interfaces.- Les enregistrements de pilote sous
InventoryDriverBinaryincluent légèrement plus de champs de métadonnées de package, en particulier autour de l'état de signature WHQL.
Il n'y a pas de breaking changes entre Windows 10 (post-1709) et
Windows 11 du point de vue de l'analyse. Le même binaire
AmcacheParser.exe gère les deux.
Cadence de l'appraiser#
La tâche planifiée Compatibility Appraiser alimente la ruche. Sa cadence sur Windows moderne :
- Poste de travail Windows 11 : environ chaque jour, typiquement une fois pendant la nuit quand l'hôte est inactif. Le déclencheur exact est une combinaison de déclencheurs sur temps d'inactivité et d'un déclencheur temporel avec délai aléatoire.
- Poste de travail Windows 10 : même pattern.
- Tablette / convertible : moins fréquent — l'appraiser est conscient de l'alimentation et saute quand sur batterie.
- Poste de travail joint au domaine avec Microsoft Endpoint Manager : certaines politiques MEM ajustent la cadence ; le comportement peut varier.
La conséquence pratique : un hôte Windows 11 fraîchement installé qui tourne depuis moins de 24 heures peut avoir un Amcache très maigre. À l'inverse, un poste de travail allumé depuis des années a une ruche avec des milliers d'entrées couvrant toute l'histoire.
Taille de ruche sur Windows moderne#
Tailles typiques :
| Charge de travail | Taille de ruche typique | Notes |
|---|---|---|
| Install Windows 11 frais (1 semaine) | 2-4 Mo | Peu d'entrées ; données pilote / périphérique légères. |
| Poste de travail bureautique standard (6 mois) | 8-15 Mo | Centaines de lignes InventoryApplicationFile ; enregistrements pilote et périphérique complets. |
| Poste de travail développeur (1+ an) | 25-50 Mo | Milliers d'entrées de fichiers depuis artefacts de build ; nombreux clusters LinkDate. |
| Serveur (1+ an) | 5-15 Mo | Plus petit — moins d'apps interactives, périmètre plus étroit. |
Une ruche beaucoup plus petite que ce que la charge de travail suggère peut être un drapeau pour un appraiser désactivé (intentionnellement ou par sabotage) — voir Récupérer la preuve de binaires supprimés depuis Amcache.
Particularités par build à connaître#
Une poignée de particularités qui prennent les analystes au dépourvu :
Cas limite de troncature de hash sur Windows 10 1909 / 2004#
Sur un petit sous-ensemble de ruches Windows 10 1909 et 2004, les
binaires très grands (>~1 Go) ont occasionnellement un FileId
vide plutôt qu'un FileId prefix-hash. Le comportement a
apparemment été résolu dans les cumulative updates ultérieurs mais
apparaît dans les ruches archivées de cette époque. Traitez les
lignes avec Hash vide pour les gros fichiers comme « aucun hash
capturé » plutôt que « binaire est unique ».
Churn de device-container sur Windows 11 22H2+#
Windows 11 22H2 a introduit une ré-énumération plus agressive des
device containers lors des reboots Windows Update, ce qui peut
produire des « nouvelles » lignes InventoryDeviceContainer pour
des périphériques qui sont sur l'hôte depuis des mois. Le
KeyLastWriteTimestamp sur ces lignes reflète la ré-énumération,
pas la première connexion. Recroisez avec setupapi.dev.log et
USBSTOR pour les vrais horodatages de première connexion.
Instabilité de ProgramId à travers les feature upgrades Windows#
Un poste de travail qui a été mis à niveau de Windows 10 21H2 vers
Windows 11 22H2 peut avoir des valeurs ProgramId différentes
pour la même application avant et après la mise à niveau. Le pivot
cross-hôtes ProgramId fonctionne toujours pour les hôtes sur le
même build majeur ; entre upgrades, pivotez aussi sur Hash (plus
stable entre upgrades) — voir
ProgramId Amcache expliqué.
Churn d'apps inbox sur Windows 11#
Windows 11 livre et retire des apps inbox (les apps Store intégrées)
à une cadence plus rapide que Windows 10. Vous voyez de fréquentes
lignes InventoryApplicationFile pour la couche AppX qui vont et
viennent entre feature updates. Celles-ci se filtrent généralement
sans risque par Publisher = 'Microsoft Corporation' et un chemin
de style AppX sous \Program Files\WindowsApps\.
Modern Standby / connected standby et l'appraiser#
Sur les laptops en Modern Standby / connected standby, la sémantique de déclenchement de l'appraiser diffère d'un desktop. Vous pouvez voir des intervalles d'appraiser légèrement plus longs (parfois 36-48 heures) sur les laptops fortement utilisés car le déclencheur de temps d'inactivité se déclenche rarement. Tenez-en compte quand vous raisonnez sur les heures de first-seen.
Différences avec les Windows plus anciens#
Trois choses à retenir lors de comparaisons entre Amcache Windows 10 / 11 et Windows plus ancien :
vs Windows 7 / Server 2008 R2#
Pas d'équivalent — Windows 7 a RecentFileCache.bcf, un fichier
binaire à plat. Voir
Où se trouve Amcache.hve sur disque
pour le chemin et l'analyseur.
vs Windows 8 / 8.1 / Server 2012 / 2012 R2#
Amcache.hve existe mais avec seulement les clés legacy
Programs et File. AmcacheParser produit
*_ProgramEntries.csv mais pas *_UnassociatedFileEntries.csv.
Bien moins de détails par fichier.
vs Windows 10 ancien (pré-1709)#
Même schéma legacy-only que Windows 8.x. Le grand basculement vers
Inventory* était en 1709.
Implications pratiques pour le triage#
Quelques règles qui découlent de tout ce qui précède :
- Pour Windows 10 1709+ et Windows 11, les CSVs AmcacheParser
ont
*_UnassociatedFileEntries.csvet*_AssociatedFileEntries.csv. C'est le focus du triage. - Pour Windows 8 / 8.1 / Server 2012, concentrez-vous sur
*_ProgramEntries.csvet reconnaissez que les métadonnées par fichier sont maigres. - Pour Windows 7, utilisez un analyseur dédié de
RecentFileCache.bcf— AmcacheParser ne le gère pas. - Pour les builds Server, prévoyez des intervalles d'appraiser plus longs ; ne tirez pas de conclusions fines de first-seen sur des échelles horaires.
- Pour les laptops en Modern Standby, prévoyez une variabilité similaire.
Voir aussi#
- Référence complète Amcache — l'artefact en intégralité.
- Amcache sur Windows Server — comportement spécifique aux serveurs.
- Où se trouve Amcache.hve sur disque — chemins de fichier par version.
- Structure du registre Amcache —
le schéma moderne
Inventory*en intégralité. - Horodatages Amcache expliqués — comment gérer la variabilité de cadence de l'appraiser dans vos timelines.
Pour explorer une ruche Windows 10 ou 11 tout de suite sans rien installer, déposez le fichier sur la page d'accueil de l'analyseur — il s'analyse entièrement dans votre navigateur.
Articles liés
- Volatility et Amcache : extraire la ruche depuis des images mémoire
Un guide pratique pour récupérer Amcache depuis une image mémoire Windows en utilisant Volatility — quand la récupération côté mémoire est la seule option, quels plugins utiliser, et comment passer le relais à AmcacheParser.
- Plugin amcache de RegRipper : ce qu'il fait et quand l'utiliser
Un guide pratique sur le plugin amcache de RegRipper — ce qu'il analyse, comment sa sortie texte diffère du CSV d'AmcacheParser, et quand l'utiliser à la place (ou en complément) de l'outil Zimmerman.
- Les colonnes de sortie d'AmcacheParser expliquées : chaque champ CSV décodé
Référence champ par champ pour la sortie CSV d'AmcacheParser — FileId, PathHash, ProgramId, LinkDate, BinFileVersion, IsPeFile et toutes les autres colonnes, avec les pivots qui comptent en DFIR.
- Guide de téléchargement d'AmcacheParser : sources officielles, miroirs et vérification
Tous les moyens de télécharger AmcacheParser d'Eric Zimmerman — Get-ZimmermanTools, téléchargement direct, KAPE, Velociraptor — avec vérification par somme de contrôle et schémas d'installation en environnement isolé.