BAMParser
Faisant partie de la suite d’Eric Zimmerman, cet utilitaire en ligne de commande est spécifiquement conçu pour parser les entrées BAM depuis une ruche SYSTEM exportée et générer les résultats au format CSV.
La philosophie principale du BAM est la gestion de l’énergie. Les systèmes d’exploitation Windows modernes doivent surveiller quelles applications sont actives ou gourmandes en ressources en arrière-plan afin de pouvoir les brider si nécessaire (particulièrement sur les ordinateurs portables).
Pour y parvenir, le service BAM (bam.sys) surveille silencieusement les lancements d’applications et enregistre des métadonnées sur ces exécutions directement dans le registre du système. Étant donné que son but premier est la gestion de l’alimentation et non l’audit de sécurité, les attaquants l’oublient fréquemment lors de leurs opérations de nettoyage anti-forensique.
Contrairement aux artefacts stockés dans les profils utilisateurs (comme les Jumplists ou les Shellbags), les données du BAM sont centralisées au sein de la ruche de registre SYSTEM.
C:\Windows\System32\config\SYSTEMSYSTEM\CurrentControlSet\Services\bam\UserSettings\{User-SID}La clé UserSettings contient des sous-clés pour chaque identifiant de sécurité (SID) s’étant connecté à la machine. À l’intérieur de chaque clé de SID, le registre stocke une liste de valeurs où chaque valeur correspond à un programme exécuté par cet utilisateur spécifique.
Le parsing des clés de registre du BAM révèle trois éléments de données forensiques cruciaux pour chaque entrée :
\Device\HarddiskVolume2\Users\Admin\Desktop\malware.exe).FILETIME (en UTC) indiquant la dernière fois que le service BAM a observé l’exécution de ce programme.Le BAM est une source de preuves de haute fidélité, typiquement utilisée pour corroborer les découvertes issues d’autres artefacts d’exécution.
C’est la plus grande force du BAM. Alors que des artefacts comme le Prefetch (.pf) ou le Shimcache sont à l’échelle du système et prouvent qu’un fichier s’est exécuté sur la machine, le BAM répond définitivement à la question : “Quel compte utilisateur a exécuté cette charge utile ?”
Les acteurs de la menace connaissent bien le Prefetch et tentent souvent de supprimer les fichiers .pf pour effacer leurs traces. Le BAM étant un artefact moins connu et stocké profondément dans la ruche verrouillée SYSTEM, il survit fréquemment aux scripts de nettoyage automatisés, préservant ainsi l’empreinte de l’exécution.
Les analystes DFIR utilisent le BAM pour construire une preuve d’exécution irréfutable en le corrélant avec deux autres artefacts majeurs.
En raison de la structure de la ruche de registre et de la nécessité d’interpréter précisément les données FILETIME, l’analyse manuelle via regedit est inefficace lors d’un incident.
BAMParser
Faisant partie de la suite d’Eric Zimmerman, cet utilitaire en ligne de commande est spécifiquement conçu pour parser les entrées BAM depuis une ruche SYSTEM exportée et générer les résultats au format CSV.
RegRipper
Utiliser le plugin bam au sein de RegRipper pour extraire et formater rapidement les données d’exécution directement depuis la ruche de registre.