Exécution
BAM / DAM (Background Activity Moderator)
Fiche BAM et DAM : clés de la ruche SYSTEM selon la version de Windows 10, SID par utilisateur, dernière exécution en FILETIME, rétention de sept jours.
- Emplacement
- SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\<SID>
- Prouve
- Quel utilisateur a lancé quel exécutable, et quand pour la dernière fois
- Horodatages
- Dernière exécution par exécutable (8 premiers octets de la valeur) en FILETIME, UTC ; LastWrite de la clé SID
- Rétention
- Entrées de plus de 7 jours environ supprimées au démarrage ; l'activité antérieure ne survit que dans les ruches SYSTEM des clichés VSS
- Accès
- Administrateur ; ruche SYSTEM verrouillée à chaud : reg query fonctionne à chaud, sinon NTFS brut (KAPE) ou VSS
- Preuve de
- ExécutionActivité utilisateur
- Type
- Registre
- Windows
- 1011
- Cible KAPE
- RegistryHivesSystem
- Velociraptor
- Windows.Triage.Targets:RegistryHivesSystem
Outils
Comparer tous les outilsPrésentation
Le Background Activity Moderator (BAM) est un pilote de service introduit avec Windows 10 version 1709 pour brider les applications en arrière-plan. Le Desktop Activity Moderator (DAM) joue un rôle comparable, surtout sur les appareils à veille moderne. Pour cela, ils suivent les exécutables par utilisateur et stockent dans la ruche SYSTEM l'heure à laquelle chacun a été vu en cours d'exécution pour la dernière fois. C'est l'un des rares artefacts d'exécution rattachés au SID d'un utilisateur.
Emplacement
| Version de Windows | Clé (ruche SYSTEM) |
|---|---|
| 10 1709 – 1803 | ControlSet00x\Services\bam\UserSettings\<SID> et ControlSet00x\Services\dam\UserSettings\<SID> |
| 10 1809 et ultérieures, 11 | ControlSet00x\Services\bam\State\UserSettings\<SID> et ControlSet00x\Services\dam\State\UserSettings\<SID> |
Chaque nom de valeur sous une clé de SID est un exécutable, écrit sous forme de chemin de périphérique (\Device\HarddiskVolume3\Windows\System32\cmd.exe) ou, pour les applications empaquetées, du nom de famille du package. Faites correspondre HarddiskVolumeN à une lettre de lecteur via MountedDevices ou la structure des volumes de l'image. Faites correspondre le SID à un compte via ProfileList dans la ruche SOFTWARE (voir SAM et comptes utilisateurs).
Windows 7 et 8 n'ont pas de BAM.
Ce que l'artefact prouve
- Une exécution par un utilisateur : la clé de SID indique sous quel compte le processus a tourné.
- La dernière date d'exécution de chaque exécutable.
- Il ne donne ni nombre d'exécutions, ni première exécution, ni ligne de commande, et ne conserve que l'activité récente (voir rétention).
Champs clés
| Champ | Signification |
|---|---|
| Sous-clé SID | Identifiant de sécurité de l'utilisateur qui a lancé le programme |
| Nom de valeur | Chemin de périphérique de l'exécutable ou identifiant d'application empaquetée |
| Données, octets 0 à 7 | Dernière exécution, FILETIME |
Version, SequenceNumber | Valeurs de gestion présentes sous chaque clé de SID, pas des exécutables |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
| Données de la valeur (8 premiers octets) | Mis à jour pendant ou à l'issue de l'exécution dans la session de l'utilisateur | FILETIME, UTC | Seule la dernière exécution est connue ; un programme encore actif peut afficher une heure proche de l'acquisition |
| LastWrite de la clé SID | Modification de n'importe quelle valeur de la clé | FILETIME, UTC | Indique la mise à jour la plus récente, pas la valeur concernée |
Rétention et effacement
- Les entrées de plus de sept jours environ sont supprimées au démarrage : BAM couvre surtout la semaine précédant le dernier redémarrage. L'activité plus ancienne peut survivre dans les ruches SYSTEM des clichés instantanés.
- Supprimer la clé de SID d'un utilisateur ou certaines valeurs exige un accès de niveau SYSTEM à la ruche ; des manques par rapport au Prefetch ou à Amcache méritent un second examen.
- Les programmes lancés depuis un support amovible apparaissent aussi, avec le chemin de périphérique du volume amovible.
Collecte
- Cible KAPE :
RegistryHivesSystem(SYSTEM et.LOG1/.LOG2) ; l'option--vssde KAPE ajoute les copies présentes dans les clichés instantanés. - Velociraptor (
Windows.Triage.Targets) :RegistryHivesSystem; l'artefactWindows.Forensics.Bamanalyse BAM en direct. - Commandes natives :
reg query "HKLM\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings" /s
reg save HKLM\SYSTEM E:\case\SYSTEM.hiv
Outils d'analyse
- Registry Explorer / RECmd (Eric Zimmerman) : navigation interactive dans les clés ; les fichiers batch communautaires de RECmd (comme
Kroll_Batch.reb) exportent BAM/DAM en CSV. - RegRipper : plugin
bam. - Velociraptor :
Windows.Forensics.Bam.
Conseils d'investigation
- BAM étant rattaché au SID, c'est le moyen le plus rapide de répondre à « qui l'a lancé ? » : cherchez des outils sous un compte de service ou un compte local inattendu.
- Convertissez les chemins de périphérique avec soin : les numéros
HarddiskVolumevarient d'un système à l'autre. - Corrélez avec UserAssist (lancements graphiques du même utilisateur) et avec les sessions de connexion des journaux d'événements.
- Pour un incident plus ancien, analysez la ruche SYSTEM de chaque cliché instantané afin de retrouver des entrées purgées.
- Analysez chaque
ControlSet00x: les ruches hors ligne n'ont pas deCurrentControlSet(jeu de contrôle).
Artefacts liés
- Fichiers Prefetch (.pf)Fiche Prefetch Windows : emplacement des .pf par version, nombre d'exécutions, huit dernières dates, fichiers référencés, rétention et analyse.
- Amcache.hveFiche Amcache.hve : clés d'inventaire des fichiers et programmes, SHA-1, métadonnées PE, horodatages, et pourquoi une entrée ne prouve pas l'exécution.
- ShimCache (AppCompatCache)Fiche ShimCache (AppCompatCache) : emplacement dans SYSTEM, nombre d'entrées par version, ordre, sens de l'horodatage et limites comme preuve d'exécution.
- UserAssistFiche UserAssist : clés GUID de NTUSER.DAT, noms en ROT13, nombre d'exécutions, temps au premier plan et dernière exécution des programmes lancés.
- Ruche SAM et comptes utilisateursFiche ruche SAM : comptes locaux, RID, dernière connexion et changement de mot de passe, compteurs, groupes, ProfileList et ID d'événements liés aux comptes.
Termes du glossaire
- Preuve d'exécutionLes artefacts qui montrent qu'un programme s'est réellement exécuté sous Windows, et pas seulement qu'il était présent sur le disque.
- Identifiant de sécurité (SID)La valeur unique qui identifie utilisateurs, groupes et ordinateurs sous Windows, comme S-1-5-21-…-1001, présente dans le Registre et les journaux.
- ControlSet et CurrentControlSetLes jeux de configuration numérotés de la ruche SYSTEM ; CurrentControlSet est un lien d'exécution absent d'une ruche analysée hors ligne.
- FILETIMELe format d'horodatage Windows sur 64 bits qui compte les intervalles de 100 nanosecondes depuis le 1er janvier 1601 UTC.