Qu'est-ce que le FileId Amcache ? (glossaire)
FileId est l'identifiant de contenu de 41 caractères qu'Amcache
stocke pour chaque fichier PE inventorié. Il s'agit de "0000" suivi
du SHA-1 hex des 31 premiers Mio du fichier tel que vu par l'appraiser.
Le préfixe "0000" est un tag de type fixe ; le reste est un
SHA-1 authentique.
Une valeur typique :
0000da39a3ee5e6b4b0d3255bfef95601890afd80709
C'est l'un des champs les plus utiles d'Amcache — directement utilisable pour les recherches VirusTotal, l'enrichissement par flux TI et les pivots de hash inter-hôtes — mais il comporte deux pièges qui attrapent constamment les nouveaux analystes.
Piège 1 : n'incluez pas le préfixe 0000 dans les recherches externes#
VirusTotal, votre flux TI et votre base de hash en liste blanche
attendent tous un SHA-1 de 40 caractères. Inclure le préfixe 0000
renvoie silencieusement aucune correspondance, ce qui semble identique à
« ce hash est inconnu » et produit des conclusions d'enquête erronées.
Le CSV d'AmcacheParser expose les deux formes :
| Colonne | Valeur |
|---|---|
FileId |
La chaîne complète "0000" + SHA-1. |
Hash |
Uniquement les 40 caractères hex. Utilisez celle-ci pour les recherches. |
Piège 2 : c'est un hash de préfixe, pas un hash du fichier entier#
Le SHA-1 ne couvre que les 31 premiers Mio du fichier. Pour la plupart des binaires PE, c'est sans importance (presque tout est plus petit). Pour les gros installeurs, binaires de jeux et certains logiciels d'entreprise, le hash Amcache ne correspondra pas à un SHA-1 du fichier entier.
Pour recalculer le même hash pour vérification :
import hashlib
def amcache_sha1(path):
h = hashlib.sha1()
with open(path, 'rb') as f:
h.update(f.read(31 * 1024 * 1024))
return h.hexdigest()Où il est utilisé#
- Recherches VirusTotal — pivoter depuis une seule ligne suspecte vers un verdict malveillant ou non.
- Chasse au hash inter-hôtes — trouver tous les autres hôtes de votre environnement avec le même binaire. Voir Mouvement latéral et pivot ProgramId Amcache.
- Corrélation Sysmon — Sysmon Event ID 7 (Image Loaded)
enregistre SHA-1 ; joignez
HashAmcache à Sysmon 7 pour savoir quels processus ont chargé une DLL donnée.
Pour la référence complète FileId, voir FileId Amcache expliqué.
Termes apparentés#
- Amcache.hve — la ruche qui contient les valeurs FileId.
- ProgramId — l'autre identifiant unique dans InventoryApplicationFile.
- InventoryApplicationFile — la clé de registre où vivent les valeurs FileId.
Articles liés
- Qu'est-ce que le ProgramId Amcache ? (glossaire)
ProgramId est le hash d'identité applicative de 44 caractères qu'Amcache attribue à chaque application logique. Le même ProgramId sur différents hôtes signifie la même installation d'application.
- Qu'est-ce que LinkDate dans Amcache ? (glossaire)
LinkDate est le TimeDateStamp de l'en-tête PE qu'Amcache enregistre — quand le binaire a été compilé ou linké, pas quand il est apparu sur l'hôte.
- Qu'est-ce que KeyLastWriteTimestamp dans Amcache ? (glossaire)
KeyLastWriteTimestamp est l'heure de dernière écriture au niveau registre d'une entrée Amcache — ce qui se rapproche le plus, dans Amcache, de « quand l'appraiser a enregistré ce fichier ».
- Qu'est-ce que Root\InventoryApplicationFile ? (glossaire)
InventoryApplicationFile est la clé de registre principale d'Amcache — une sous-clé par binaire PE inventorié par l'appraiser, avec chemin, SHA-1, éditeur, date de link et horodatages.