Skip to content

Parseurs BAM comparés : RegRipper, outils EZ, Velociraptor

Comparatif équitable des outils qui analysent BAM et DAM : bam.pl, plugin BamDam d'EZ, Velociraptor, Plaso et BAM/DAM Parser. Couverture et lacunes.

Publié le 7 min de lecture

TL;DR. Tous les outils courants décodent correctement le FILETIME de BAM ; ils diffèrent par les clés qu'ils lisent. Le bam.pl de RegRipper ne lit que bam\State\UserSettings dans le control set courant. Le plugin BamDam d'Eric Zimmerman couvre les deux formats BAM et l'ancien chemin DAM dans tous les control sets. L'artefact Velociraptor lit les deux formats BAM à chaud et résout les noms d'utilisateur. Plaso intègre les deux formats BAM dans une super-timeline. BAM/DAM Parser lit BAM et DAM dans les deux formats et dans tous les control sets, nomme les SID grâce à SOFTWARE et tourne dans un navigateur — mais ne rejoue pas les journaux de transactions et n'a pas de mode sans interface. Choisissez selon le contexte, en sachant ce que chacun laisse de côté.

Nous développons l'un des outils de ce comparatif, donc la méthode compte : chaque affirmation sur un autre outil provient de son code source ou de sa documentation publiés, liés dans chaque section, en date de septembre 2026. Les outils évoluent ; vérifiez la version que vous utilisez. Si vous découvrez l'artefact, commencez par le guide complet BAM/DAM.

Matrice de couverture

RegRipper bam.plPlugin EZ BamDam (Registry Explorer / RECmd)Velociraptor Windows.Forensics.BamPlugin Plaso bamBAM/DAM Parser
EntréeRuche hors ligneRuche hors lignePoste à chaudImage/ruche hors ligneRuche(s), dossier, ZIP hors ligne
bam\State\UserSettings (1809+)✓✓✓✓✓
bam\UserSettings (1709–1803)—✓✓✓✓
dam\UserSettings (ancien format)—✓——✓
dam\State\UserSettings—absent de la liste de clés publiée——✓
Control setsCourant seulementTous les ControlSet00*CurrentControlSet (à chaud)CurrentControlSet tel que résolu par PlasoTous, l'actif marqué
SID → nom——✓ (via users())—✓ (ProfileList + SID bien connus)
Ruches dirtyÀ vérifier selon la versionRejoue les journaux (Registry Explorer / RECmd)Sans objet (à chaud)Voir la documentation PlasoDétecte et avertit ; pas de rejeu
SortieRapport texte ; bam_tln.pl pour TLNGrille, CSV via les batchs RECmdLignes VQLStockage Plaso → timelinesTableau, CSV, JSON
Tourne surWindows/PerlWindows (.NET)Tout client VelociraptorPython/DockerTout navigateur récent

RegRipper bam.pl

Le plugin de Harlan Carvey (version 20200904 dans RegRipper 4.0) lit Select\Current, construit ControlSet00<n>\Services\bam\State\UserSettings et, pour chaque sous-clé SID, affiche chaque valeur REG_BINARY sous forme d'heure ISO-8601 suivie du nom de la valeur. Un plugin frère, bam_tln.pl, produit le format de timeline TLN.

Points forts : rapide, scriptable, intégré à une boîte à outils que la plupart des analystes utilisent déjà ; la sortie TLN s'insère directement dans une chaîne de timeline.

Lacunes, d'après le source : pas d'ancien bam\UserSettings (une image 1709–1803 renvoie « not found »), pas de dam, uniquement le control set courant, SID non résolus en noms. Pour une machine Windows 10 1809+ dont seul l'état BAM actuel vous intéresse, c'est suffisant.

Le plugin BamDam d'Eric Zimmerman (Registry Explorer, RECmd)

Le plugin RegistryPlugin.Bam (version 0.5) s'enregistre pour ControlSet00*\Services\bam\UserSettings\*, ControlSet00*\Services\dam\UserSettings\* et ControlSet00*\Services\bam\State\UserSettings\*, ignore Version et SequenceNumber, et restitue le chemin du programme et l'heure d'exécution en UTC. Registry Explorer et RECmd gèrent le rejeu des journaux de transactions pour les ruches dirty, ce qui est un vrai avantage.

Points forts : le plugin apparaît dès que vous parcourez une clé correspondante dans Registry Explorer, à côté de tous les autres artefacts du registre ; les batchs RECmd en tirent du CSV sur de nombreuses ruches ; le rejeu des journaux est intégré.

Lacunes, d'après le source : la liste de clés publiée n'inclut pas dam\State\UserSettings, si bien que les données DAM des appareils Modern Standby en 1809+ peuvent demander un examen manuel ; les SID ne sont pas résolus en noms dans la sortie du plugin.

Velociraptor Windows.Forensics.Bam

L'artefact parcourt par défaut HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\UserSettings\*\* et ...\bam\State\UserSettings\*\* (un paramètre bamKeys permet de les changer), résout chaque SID avec le plugin users(), et renvoie SID, UserName, Binary et Bam_time. Un paramètre userRegex filtre les comptes.

Points forts : chasse sur tout un parc en quelques minutes ; données à chaud sans collecter de ruche ; noms d'utilisateur résolus sur le poste.

Lacunes : DAM n'est pas dans les chemins par défaut ; seul le CurrentControlSet à chaud est lu ; l'artefact s'exécute sur le poste, donc collecter aussi les fichiers de ruche reste sage pour la préservation de la preuve.

Plugin Plaso bam

L'analyseur de registre Windows de Plaso comprend un plugin BAM dont les filtres couvrent CurrentControlSet\Services\bam\UserSettings et ...\bam\State\UserSettings. Les événements rejoignent la super-timeline avec tous les autres artefacts extraits par Plaso.

Points forts : BAM à côté des événements du système de fichiers, des journaux et du navigateur dans une seule timeline.

Lacunes : pas de filtre DAM dans le plugin publié ; comme tout Plaso, plus lourd à exécuter qu'un outil dédié à un seul artefact.

BAM/DAM Parser (ce site)

Ce que fait l'outil : du Rust compilé en WebAssembly, exécuté dans un Web Worker ; lit bam et dam dans les deux formats dans chaque ControlSet00X, marque celui désigné par Select\Current, résout les SID via la ProfileList d'une ruche SOFTWARE et étiquette les SID bien connus, lit le nom de la machine et le fuseau horaire, détecte les ruches dirty, accepte fichiers isolés, dossiers et collectes ZIP de triage (en expliquant chaque fichier ignoré), signale quatre motifs heuristiques, exporte en CSV (protégé contre l'injection de formules) et en JSON.

Points forts : rien à installer, rien d'envoyé, fonctionne depuis un portable d'analyse verrouillé ; couverture complète des clés ; attribution et contexte de la machine sur un seul écran ; horodatages à 100 ns et données brutes conservés.

Lacunes, dites clairement :

  • Pas de rejeu des journaux de transactions. L'outil vous prévient ; rejouez d'abord avec rla.exe ou Registry Explorer.
  • Pas d'analyse de la SAM — les noms viennent des dossiers de profil, qui peuvent ne pas correspondre à des comptes renommés (réserves sur l'attribution).
  • Pas de mode ligne de commande / sans interface pour traiter des centaines de machines en lot ; utilisez RECmd, Plaso ou Velociraptor pour cela.
  • Un seul artefact. Il ne traite que BAM/DAM ; le reste du registre relève de Registry Parser ou des outils ci-dessus.

Choisir

SituationChoix raisonnable
Chasse à chaud sur un parc pour un nom d'outilVelociraptor
Revue complète du registre d'une image sur un poste forensique WindowsRegistry Explorer (plugin BamDam)
Traitement scripté de nombreuses ruches vers du CSVRECmd ou RegRipper
Super-timeline d'une imagePlaso
Coup d'œil rapide et confidentiel sur une ruche SYSTEM, avec utilisateurs et DAM, n'importe oùBAM/DAM Parser
Image ancienne 1709–1803Tout sauf bam.pl

Croiser les outils

Pour tout ce qui entre dans un rapport, analysez la même ruche avec deux outils et comparez le nombre d'entrées par SID. Les écarts viennent presque toujours de la couverture (ancien format, DAM, autres control sets) ou du rejeu des journaux. Notre guide pas à pas montre où chacun de ces éléments apparaît dans l'interface, et l'article sur le format explique chaque colonne au niveau de l'octet.

Articles liés