BAM-Registry-Schlüssel: Speicherort und Sicherung
Die genauen BAM- und DAM-Pfade je Windows-Build, warum es offline kein CurrentControlSet gibt und wie man SYSTEM samt Transaktionsprotokollen sichert.
TL;DR. BAM liegt im SYSTEM-Hive unter ControlSet00X\Services\bam\State\UserSettings\<SID> (Windows 10 ab 1809 und 11) oder ControlSet00X\Services\bam\UserSettings\<SID> (1709–1803). DAM folgt demselben Muster unter Services\dam. Offline gibt es kein CurrentControlSet: Lesen Sie Select\Current. Sichern Sie SYSTEM zusammen mit SYSTEM.LOG1 und SYSTEM.LOG2, und nehmen Sie SOFTWARE mit, um SIDs in Namen aufzulösen.
Auf einem laufenden Rechner findet man den Schlüssel in regedit sofort. Die Fehler passieren offline: das falsche Control Set lesen, einen ohne Protokolle kopierten Hive parsen oder eine gesperrte Datei kopieren, die nur aus Nullen besteht. Dieser Artikel behandelt die Pfade und die Sicherungsoptionen. Was in jedem Wert steckt, zeigt das BAM-Werteformat; den Gesamtüberblick der komplette BAM/DAM-Leitfaden.
Die Registry-Pfade
Auf einem laufenden System, über die Ansicht HKEY_LOCAL_MACHINE:
HKLM\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\<SID> (Windows 10 1809+, Windows 11)
HKLM\SYSTEM\CurrentControlSet\Services\bam\UserSettings\<SID> (Windows 10 1709–1803)
HKLM\SYSTEM\CurrentControlSet\Services\dam\State\UserSettings\<SID> (DAM, Modern Standby devices)
Der Wechsel zum Unterschlüssel State mit 1809 ist in kacos2000s BAM-Notizen dokumentiert: Der ältere Schlüssel bam\UserSettings wird nicht mehr aktualisiert, doch „alte Einträge können dort noch zu finden sein“. Ein von 1803 aktualisierter Host kann daher beide Schlüssel haben, und der alte ist eine kleine Zeitkapsel aus der Zeit vor dem Upgrade. Der Artikel zu den Windows-Versionen behandelt diesen Fall.
Jeder <SID>-Unterschlüssel enthält einen Wert pro ausführbarer Datei sowie die Verwaltungswerte Version und SequenceNumber. Die SID ist das Konto, dem der Moderator den Prozess zugeordnet hat; siehe BAM-Benutzerzuordnung.
Die Hive-Datei auf dem Datenträger
HKLM\SYSTEM wird durch C:\Windows\System32\config\SYSTEM bereitgestellt, wie Microsofts Referenz zu Registry-Hives auflistet. Daneben liegen die Transaktionsprotokolle SYSTEM.LOG1 und SYSTEM.LOG2 (Registry-Dateien).
Verlassen Sie sich nicht auf C:\Windows\System32\config\RegBack für eine ältere Kopie: Seit Windows 10 1803 sichert Windows die Hives dort standardmäßig nicht mehr (Microsoft Learn). Volumeschattenkopien sind die bessere Quelle für historische SYSTEM-Hives.
Offline gibt es kein CurrentControlSet
CurrentControlSet ist ein Link, den der Kernel beim Start anlegt. In einer Hive-Datei haben Sie nur ControlSet001, oft ControlSet002, und einen Schlüssel Select:
Wert unter Select | Bedeutung |
|---|---|
Current | Das verwendete Control Set (meist 1) |
LastKnownGood | Das als „letzte als funktionierend bekannte“ Konfiguration gehaltene Set |
Default | Das beim nächsten Start zu verwendende Set |
Ein korrekter Offline-Parser liest Select\Current und behandelt dieses Set als „aktuell“. Das andere ist meist eine ältere Kopie: Im fiktiven Beispiel-Hive dieser Website enthält ControlSet002 einen Stand der BAM-Einträge der Benutzerin vor dem Einbruch – nützlich zum Vergleich, irreführend, wenn man ihn mit der aktuellen Timeline vermischt. Der BAM/DAM Parser liest jedes ControlSet00X, markiert die Zeilen aus dem aktiven Set und zeigt standardmäßig nur diese an („Nur aktives Control Set“).
Den SYSTEM-Hive sichern
Der Hive ist gesperrt, solange Windows läuft; Explorer oder copy scheitern. Die Optionen, von leicht bis umfassend:
| Methode | Befehl / Target | Mit Protokollen? | Hinweise |
|---|---|---|---|
reg save | reg save HKLM\SYSTEM C:\triage\SYSTEM.hiv | Nein (konsolidierter Hive) | Integriert; Administratorrechte nötig (Microsoft Learn). Verändert den Host geringfügig. |
| KAPE | Target RegistryHivesSystem oder das Compound-Target !SANS_Triage | Ja | NTFS-Rohkopie; Definitionen in KapeFiles |
| Velociraptor | Sammlung Windows.Triage.Targets mit dem Target RegistryHivesSystem (in älteren Versionen Windows.KapeFiles.Targets) oder Windows.Forensics.Bam für eine Live-Auswertung | Ja (Dateisammlung) | Doku des Bam-Artefakts |
| FTK Imager | Add evidence → physisches/logisches Laufwerk → config\SYSTEM* exportieren | Ja | Oder „Obtain protected files“ |
| Datenträgerabbild | Image einbinden, Windows\System32\config\SYSTEM* kopieren | Ja | Am besten für die Beweiskette; siehe Disk Image Parser |
| Volumeschattenkopie | vssadmin list shadows, dann vom Schattenkopie-Gerät kopieren | Ja | Ältere SYSTEM-Hives = ältere BAM-Einträge (vssadmin) |
Egal welche Methode: Nehmen Sie auch C:\Windows\System32\config\SOFTWARE (samt Protokollen) mit – sein Schlüssel ProfileList ordnet SIDs Profilordnern zu. Das KAPE-Target RegistryHivesSystem enthält ihn bereits.
Die Nullen-Falle
Ein Hive, der auf einem laufenden System per einfacher Dateikopie (oder von manchen Backup-Agenten) kopiert wurde, kann in richtiger Größe, aber voller Nullen ankommen. Unser Parser erkennt das und erklärt, warum er die Datei überspringt („nur Nullen — der Hive war beim Kopieren vermutlich gesperrt“). Sichern Sie erneut mit einem Rohkopie-Werkzeug.
Dirty Hives und Transaktionsprotokolle
Windows schreibt Registry-Änderungen zuerst in SYSTEM.LOG1/SYSTEM.LOG2 und führt sie später in die Hauptdatei zusammen. Ein Hive, dessen beide Sequenznummern im Basisblock voneinander abweichen, ist dirty: Er hat ausstehende Schreibvorgänge, die nur in den Protokollen existieren (libregf-Formatnotizen, Spezifikation msuhanov/regf). Bei BAM, das ständig aktualisiert wird, sind diese ausstehenden Schreibvorgänge oft die jüngsten Ausführungen – genau die, die Sie suchen.
Vorgehen:
- Sichern Sie
SYSTEM.LOG1undSYSTEM.LOG2immer zusammen mit dem Hive. - Prüfen Sie, ob der Hive dirty ist. Der BAM/DAM Parser zeigt einen Warnhinweis, wenn die Sequenznummern abweichen.
- Falls ja, spielen Sie die Protokolle mit Eric Zimmermans
rla.exeein oder überlassen Sie das dem Registry Explorer, und parsen Sie den bereinigten Hive.
Unser Tool spielt Protokolle noch nicht selbst ein; es sagt Ihnen, wann es nötig ist. Ein Export mit reg save ist bereits konsolidiert und daher nicht dirty.
Auf einem laufenden System lesen
Für einen schnellen Blick während der Triage, ohne etwas zu sichern:
Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings' |
ForEach-Object { $_.PSChildName }
Das listet die SIDs. Die Werte selbst sind binäre FILETIMEs und so nicht lesbar: Exportieren und parsen Sie den Hive, oder führen Sie Velociraptors Artefakt Windows.Forensics.Bam aus, das sie dekodiert und Benutzernamen auflöst. Denken Sie daran, dass Programme, die Sie auf dem Host starten, selbst in BAM unter Ihrem Konto landen können – vermerken Sie sie in Ihrem Fallprotokoll.
Checkliste
- Pfade:
bam\State\UserSettings(ab 1809),bam\UserSettings(1709–1803),dam\State\UserSettings(DAM). - Offline:
Select\Currentauflösen; Control Sets nicht vermischen. SYSTEM+SYSTEM.LOG1+SYSTEM.LOG2+SOFTWAREsichern.- Auf dirty Hive prüfen; vor dem Parsen Protokolle einspielen.
- In Volumeschattenkopien nach älteren BAM-Ständen suchen.
Ziehen Sie danach alles auf den BAM/DAM Parser oder folgen Sie der Anleitung BAM und DAM analysieren. Andere Artefakte im selben Hive, etwa der ShimCache, werden bei ShimCache Parser und Registry Parser behandelt.
Häufige Fragen
Wo liegt der BAM-Registry-Schlüssel?
Im SYSTEM-Hive: ControlSet00X\Services\bam\State\UserSettings\<SID> unter Windows 10 ab 1809 und Windows 11 sowie ControlSet00X\Services\bam\UserSettings\<SID> unter Windows 10 1709 bis 1803.
Kann ich den SYSTEM-Hive auf einem laufenden System mit dem Explorer kopieren?
Nein. Der Kernel sperrt den Hive, solange Windows läuft. Verwenden Sie reg save, ein NTFS-Rohkopie-Werkzeug wie KAPE oder FTK Imager, Velociraptor oder eine Volumeschattenkopie.