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

ProgramId est l'identité de 44 caractères qu'Amcache utilise pour une application logique. Elle est calculée à partir des métadonnées (nom, éditeur, version, langue), pas du contenu binaire. Deux binaires complètement différents avec les mêmes métadonnées d'identité reçoivent le même ProgramId ; le même binaire recompilé avec d'autres métadonnées en reçoit un différent.

0006fa0b2a9f8a4eb9d7c81e8b1f3c5d3e2a0000ffff

Deux choses le rendent utile en DFIR. Il est stable entre hôtes pour la même installation, et il relie un fichier dans InventoryApplicationFile à son enregistrement d'application dans InventoryApplication. Le premier en fait une primitive de hunt. Le second en fait une primitive d'investigation sur un seul hôte.

ProgramId vs FileId#

FileId ProgramId
Longueur 41 caractères ("0000" + SHA-1) 44 caractères
Ce qu'il hache 31 premiers MiB d'octets du fichier Métadonnées d'application
Identifie un binaire de manière unique ? Oui Non, les frères le partagent
Stable inter-hôtes ? Uniquement pour des octets identiques Oui, pour la même installation
Le mieux pour Inter-hôtes binaire exact Inter-hôtes famille d'application

Quand ProgramId gagne#

  • L'attaquant reconstruit son loader entre hôtes. Octets différents, Hash différents. Mêmes métadonnées nom / éditeur / version. ProgramId suit.
  • L'attaquant renomme mimikatz.exe en update.exe. S'il n'a pas nettoyé la ressource version-info, ProgramId suit.
  • Vous voulez cadrer la diffusion sur le parc. Un ProgramId suspect devient une requête contre le CSV Amcache de chaque hôte collecté. Voir Mouvement latéral et pivot par ProgramId.

Quand ProgramId est le mauvais pivot#

  • LOLBINs. net.exe, psexec.exe, certutil.exe ont le même ProgramId sur chaque hôte. Les matches sont du bruit. Pivotez plutôt sur la ligne de commande via Security 4688.
  • Implants par hôte. Du malware réellement par-victime produit un ProgramId unique par hôte. Pour ceux-là, il vous faut des patterns comportementaux (source de logon, télémétrie réseau).

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

Termes liés#

Articles liés

Retour à tous les articles