Les colonnes de sortie d'AmcacheParser expliquées : chaque champ CSV décodé
AmcacheParser écrit un CSV différent par catégorie Inventory*. La
plupart des analystes passent 90 % de leur temps dans deux de ces
fichiers — *_UnassociatedFileEntries.csv et
*_AssociatedFileEntries.csv — mais chaque colonne de chaque fichier
est potentiellement utile. Voici la référence sur ce que signifie
chacune.
Pour le contexte plus large sur l'outil, voir le guide complet d'AmcacheParser.
Les sept fichiers CSV#
Après une exécution typique avec --csv .\out, vous verrez :
| Fichier | Clé source | Volume typique |
|---|---|---|
*_AssociatedFileEntries.csv |
Root\InventoryApplicationFile lié à une InventoryApplication |
centaines à milliers |
*_UnassociatedFileEntries.csv |
Root\InventoryApplicationFile sans application parente |
centaines à milliers |
*_ProgramEntries.csv |
Root\Programs (ancienne liste logiciels installés) |
centaines |
*_ShortcutEntries.csv |
Root\InventoryApplicationShortcut |
dizaines |
*_DriverBinaries.csv |
Root\InventoryDriverBinary |
centaines |
*_DevicePnps.csv |
Root\InventoryDevicePnp |
centaines |
*_DeviceContainers.csv |
Root\InventoryDeviceContainer |
dizaines |
Le fichier Unassociated est celui sur lequel la plupart des
analystes pivotent en premier : c'est là qu'atterrissent
typiquement les binaires téléchargés à la volée, les outils
d'attaquant et les scripts ponctuels, car ils n'ont jamais été
installés via un produit enregistré.
Colonnes des entrées de fichier (Associated / Unassociated)#
Les deux CSVs d'entrées de fichier partagent le même schéma. Colonnes que vous utiliserez sur presque tous les cas :
Identité & chemin#
| Colonne | Signification | Notes |
|---|---|---|
ApplicationName |
Nom d'affichage résolu par Windows | Souvent vide pour les entrées non associées. |
ProgramId |
Empreinte d'identité programme Windows sur 44 caractères | Pivotez vers Root\InventoryApplication pour trouver l'enregistrement du produit installé. |
FileId |
"0000" + SHA-1 hex des 31 premiers Mio du fichier |
Retirez le préfixe 0000 pour obtenir un SHA-1 que vous pouvez soumettre à VirusTotal / aux flux TI. |
Hash |
Copie pratique du SHA-1 sans préfixe | Utilisez cette colonne, pas FileId, pour joindre avec des flux d'empreintes externes. |
Name |
Nom de fichier uniquement | kernel32.dll, mimikatz.exe, etc. |
FullPath |
Chemin complet au moment de l'inventaire | Si le chemin contient \Users\ ou \AppData\ et que Publisher est vide, regardez de près. |
Publisher |
Chaîne éditeur depuis la signature PE / les ressources | Vide pour les binaires non signés. |
PublisherName |
Nom d'affichage plus convivial | Parfois rempli quand Publisher est le CN X.509. |
BinaryType |
Architecture / nature (pe32, pe64, pe32_arm, ...) |
Utile pour filtrer PE natif vs managé. |
Horodatages#
Amcache est une mine d'horodatages, mais ils signifient des choses différentes. Faites cette distinction correctement ou vous daterez mal vos constats.
| Colonne | De quoi il s'agit | À ne pas confondre avec |
|---|---|---|
KeyLastWriteTimestamp |
Last-write registre de la clé contenante | « Quand le fichier a été inventorié. » Le plus proche d'une vraie « heure Amcache. » |
LinkDate |
TimeDateStamp de l'en-tête PE fixé à la compilation/édition de liens |
« Quand le fichier a été créé » — c'est fixé par le compilateur, contrôlé par l'attaquant et souvent falsifié. |
BinFileVersion / ProductVersion |
Chaînes de version depuis la ressource PE | Ce ne sont pas des horodatages. |
LastModified |
Certains schémas Amcache exposent un FILETIME de dernière modification | Pas présent dans toutes les versions de schéma ; à traiter comme un effort raisonnable. |
Le bon pivot « quand » pour Amcache est KeyLastWriteTimestamp.
LinkDate est fantastique pour grouper les binaires (tous les
binaires compilés le même jour par l'attaquant se regroupent) mais
ce n'est pas un signal « ce binaire a été placé sur cet hôte à
cette heure ».
Version / métadonnées#
| Colonne | Signification |
|---|---|
BinFileVersion |
PE VS_FIXEDFILEINFO.dwFileVersion |
BinProductVersion |
PE VS_FIXEDFILEINFO.dwProductVersion |
ProductName |
Ressource PE ProductName |
ProductVersion |
Ressource PE ProductVersion (forme chaîne) |
FileVersionString |
Ressource PE FileVersion |
Language |
ID de langue de la ressource PE |
Size |
Taille du fichier en octets |
Drapeaux#
| Colonne | Signification | Filtre par défaut |
|---|---|---|
IsPeFile |
Vrai si Amcache a classé le fichier comme PE | Filtrez sur True pour chasser les artefacts exécutables. |
IsOsComponent |
Vrai si le fichier appartient à Windows lui-même | Filtrez sur False sauf si -i a été passé ; les composants OS sont bruyants. |
Cycle de vie / métadonnées d'inventaire#
| Colonne | Signification |
|---|---|
Usn |
Entrée journal USN associée au fichier au moment de l'inventaire |
Description |
Description libre, souvent issue de la ressource PE |
LongPathHash |
Empreinte qu'Amcache utilise pour la déduplication des chemins |
MsiInstallDate |
Date d'installation du MSI parent (le cas échéant) |
MsiPackageCode |
GUID du package MSI |
ProgramEntries.csv (ancienne clé Programs)#
L'ancienne clé Root\Programs précède le schéma Inventory* et est
plus pauvre. Colonnes les plus utilisées :
| Colonne | Signification |
|---|---|
ProgramId |
Même identité 44 caractères utilisée dans les CSVs d'entrées de fichier |
LastWriteTimestamp |
Last-write registre de l'entrée |
Name |
Nom d'affichage du programme |
Version |
Version du programme |
Publisher |
Chaîne éditeur |
InstallDate |
Date d'installation (FILETIME → ISO-8601) |
LanguageCode |
LCID |
InstallSource |
Chemin source (CD, partage réseau, dossier téléchargements) |
UninstallString |
Ligne de commande qui désinstallerait le programme |
RootDirPath |
Répertoire d'installation |
Source |
MSI, AddRemoveProgram, etc. |
InstallSource est l'arme secrète ici : il enregistre parfois le
partage réseau ou l'URL de téléchargement depuis lequel
l'installeur a été récupéré, ce qui est inestimable pour enquêter
sur des intrusions par chaîne d'approvisionnement ou ingénierie
sociale.
DriverBinaries.csv#
Pour les artefacts en mode noyau. Colonnes :
| Colonne | Signification |
|---|---|
KeyLastWriteTimestamp |
Heure d'inventaire |
DriverName |
Nom du fichier pilote |
Inf |
.inf source |
DriverVersion |
Chaîne de version du pilote |
Product |
Nom de produit depuis la ressource PE du pilote |
ProductVersion |
Version du produit |
WdfVersion |
Version Windows Driver Framework, le cas échéant |
DriverCompany |
Chaîne entreprise |
DriverPackageStrongName |
Strong name |
Service |
Nom de service associé |
DriverSigned |
Si le pilote prétendait être signé |
DriverIsKernelMode |
Vrai pour les pilotes mode noyau |
DriverType |
legacy, pnp, service, ... |
DriverTimeStamp |
Date de link PE du pilote |
Hash |
SHA-1 du binaire du pilote |
Pour les enquêtes BYOVD (bring-your-own-vulnerable-driver), triez par
DriverTimeStamp et cherchez les pilotes anciens-mais-signés
récemment apparus sur l'hôte.
DeviceContainers.csv#
Historique des périphériques connectés. Colonnes les plus pertinentes :
| Colonne | Signification |
|---|---|
KeyLastWriteTimestamp |
Quand l'enregistrement du périphérique a été touché en dernier |
Categories |
Catégories de périphérique (imprimante, écran, réseau, ...) |
DiscoveryMethod |
Comment Windows a énuméré le périphérique |
FriendlyName |
« Brother HL-L2350DW », « Logitech BRIO », ... |
Manufacturer |
Chaîne fabricant |
ModelName / ModelNumber |
Identifiants modèle |
IsConnected |
Drapeau actuellement connecté à l'inventaire |
IsPaired |
Apparié (Bluetooth, etc.) |
Icon |
Chemin vers la ressource icône du périphérique |
Ce fichier répond souvent à « ce périphérique X s'est-il déjà connecté à cet hôte ? » sans avoir à éplucher les journaux de Setup.
DevicePnps.csv#
Enregistrements d'énumération PnP — une ligne par interface périphérique. Colonnes les plus utiles en DFIR :
| Colonne | Signification |
|---|---|
KeyLastWriteTimestamp |
Quand l'enregistrement PnP a été touché en dernier |
BusReportedDescription |
Ce que le périphérique a dit à Windows être |
DeviceClass |
GUID de classe pilote |
DeviceId / InstanceId |
Identifiant d'instance PnP |
Manufacturer |
Chaîne fabricant |
Service |
Service pilote |
DriverName |
Fichier pilote derrière le périphérique |
Couplez l'InstanceId ici avec la ligne correspondante dans
DeviceContainers.csv pour obtenir à la fois le nom face utilisateur
et les IDs techniques.
ShortcutEntries.csv#
Chaque raccourci du menu Démarrer / épinglé que Windows connaît, avec
le ProgramId correspondant et l'horodatage d'inventaire. Moins
utilisé pour la réponse à incident, mais pratique pour « qu'avait
épinglé l'utilisateur le $DATE ? ».
Pivots qui gagnent leur pain#
Quelques schémas inter-colonnes qui reviennent sans cesse :
-
Hash partout. Prenez
Hashdepuis*_UnassociatedFileEntries.csvet cherchez-le dans*_AssociatedFileEntries.csv, le CSV Prefetch de l'hôte et les événements Sysmon1/7. Un binaire qui apparaît dans Amcache mais jamais dans Prefetch est « présent mais jamais exécuté » — un constat très différent de « exécuté ». -
Publishervide + chemin sous\Users\. C'est le filtre de triage le plus productif sur une enquête malware commodity typique. -
Regroupement par
LinkDate. Triez toutes les entrées PE non associées parLinkDateet cherchez les groupes serrés de 3 à 10 binaires avec le même jour de compilation. C'est souvent un unique drop d'outils attaquant. -
URLs
InstallSourcedansProgramEntries. Pour tout programme suspect, regardez sonInstallSource— il pointe souvent directement vers le vecteur de livraison. -
Jointure fenêtre
KeyLastWriteTimestamp. Joignez tous les CSVs sur une fenêtre d'une heure autour de l'heure d'accès initial suspectée et vous obtenez l'image complète de ce que Windows a inventorié pendant l'intrusion.
Voir aussi#
- Guide complet d'AmcacheParser — la référence canonique sur l'outil.
- Cheatsheet CLI AmcacheParser — les options qui produisent ces CSVs.
- Guide de téléchargement d'AmcacheParser — où récupérer l'outil.
- Comprendre Amcache pour l'analyse forensique Windows — ce que la ruche enregistre et pourquoi c'est important.
Vous voulez voir ces colonnes sur votre propre ruche 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
- 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é.
- AmcacheParser : le guide complet de l'outil d'Eric Zimmerman
Un guide définitif sur AmcacheParser — ce qu'il fait, comment installer et exécuter la CLI d'Eric Zimmerman, comment lire sa sortie CSV, et quand préférer l'alternative dans le navigateur.
- Cheatsheet CLI AmcacheParser : chaque option, avec des exemples concrets
Référence ligne de commande pratique pour AmcacheParser d'Eric Zimmerman — chaque option expliquée, avec des schémas KAPE, Velociraptor et batch PowerShell prêts à coller.
- Comparatif des analyseurs Amcache : AmcacheParser CLI, outil navigateur, Volatility, RegRipper
Comparaison côte à côte des quatre façons d'analyser une ruche Windows Amcache.hve en 2026 — AmcacheParser CLI d'Eric Zimmerman, outil navigateur, Volatility 3 et RegRipper.