Qu'est-ce que le FileId Amcache ? (glossaire)

FileId, c'est "0000" suivi du SHA-1 des 31 premiers MiB du fichier. Quarante-et-un caractères. Vit dans Root\InventoryApplicationFile. L'un des champs individuels les plus utiles que le Compatibility Appraiser ait jamais écrits, et celui qui piège les nouveaux analystes plus souvent que tout autre.

0000da39a3ee5e6b4b0d3255bfef95601890afd80709

Deux pièges#

Le préfixe est un piège#

VirusTotal, les feeds de threat intel et votre allowlist interne veulent tous un SHA-1 hex de 40 caractères. Ils ne matcheront rien si vous incluez "0000". Ils ne vous le diront pas non plus. La réponse ressemble exactement à "nous n'avons jamais vu ce fichier". Retirez le préfixe.

AmcacheParser le gère pour vous en scindant la colonne en FileId (avec préfixe) et Hash (sans). Utilisez Hash.

La coupure à 31 MiB est un piège#

Le hash ne couvre que les 31 premiers MiB du fichier. Pour la plupart des binaires PE, c'est sans objet parce que presque tout est plus petit. Pour les gros installeurs, certains gros binaires de jeu et une bonne partie des logiciels d'entreprise, la valeur Amcache ne matchera pas un SHA-1 de fichier complet. Si VirusTotal ne renvoie pas de hits sur un installeur de 200 Mo, essayez de hacher les 31 premiers MiB et de chercher cela, ou hachez le fichier entier et cherchez le résultat. Souvent les deux coexistent dans l'index de VT parce que les deux ont été soumis à un moment donné.

Pour reproduire la même valeur :

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()

Là où il gagne sa place#

  • Triage VirusTotal sur chaque ligne suspecte.
  • Chasses de hash inter-hôtes pour cadrer la diffusion (voir Mouvement latéral et pivot par ProgramId).
  • Jointures Sysmon 7 (Image Loaded). Sysmon enregistre le SHA-1 de chaque chargement de DLL. Faites correspondre Hash au Hashes de Sysmon et vous avez "quel processus a chargé la DLL de l'attaquant, et quand".

Pour la référence longue, voir FileId Amcache expliqué.

Termes liés#

Articles liés

Retour à tous les articles