Skip to content

BAM und DAM analysieren: Anleitung Schritt für Schritt

Praxisnaher Ablauf, um BAM/DAM aus dem SYSTEM-Hive auszuwerten: sichern, im Browser parsen, nach Konto und Control Set filtern, sichten, belegen, exportieren.

Veröffentlicht am 6 Min. Lesezeit

TL;DR. Sichern Sie SYSTEM + seine zwei .LOG-Dateien + SOFTWARE. Spielen Sie die Protokolle ein, falls der Hive dirty ist. Ziehen Sie alles auf den BAM/DAM Parser. Lassen Sie „Nur aktives Control Set“ aktiviert, wählen Sie ein Konto, sortieren Sie nach Zeit. Nutzen Sie die Markierungen, um zu entscheiden, was Sie zuerst öffnen, prüfen Sie den Detailbereich, bestätigen Sie mit Prefetch/Amcache/Ereignisprotokollen und exportieren Sie die gefilterten Zeilen. Etwa zwanzig Minuten für einen Host.

So gehen wir bei einem einzelnen Windows-10/11-Host vor. Vorausgesetzt ist, dass Sie wissen, was BAM ist – falls nicht, lesen Sie zuerst den kompletten BAM/DAM-Leitfaden. Die Beispiele nutzen die im Tool eingebauten Daten hinter „Beispiel testen“: synthetische Hives, die einen fiktiven Einbruch auf einem Host namens FIN-WKS-07 beschreiben. Es sind keine echten Daten beteiligt.

Schritt 1 – Hives sichern

Sie benötigen aus C:\Windows\System32\config\:

DateiWozu
SYSTEMHier liegen BAM und DAM
SYSTEM.LOG1, SYSTEM.LOG2Ausstehende Schreibvorgänge – oft die jüngsten Ausführungen
SOFTWAREDie ProfileList macht aus SIDs Kontonamen

Auf einem laufenden System sind die Dateien gesperrt. Verwenden Sie KAPE (Target RegistryHivesSystem oder !SANS_Triage), Velociraptor, FTK Imager, oder kopieren Sie sie aus einem eingebundenen Datenträgerabbild. reg save HKLM\SYSTEM funktioniert ebenfalls und erzeugt einen bereits konsolidierten Hive. Befehle und Fallstricke stehen unter wo der BAM-Schlüssel liegt und wie man ihn sichert.

Wenn Sie Aktivität brauchen, die älter als die letzte Woche ist, holen Sie auch SYSTEM aus jeder Volumeschattenkopie.

Schritt 2 – Auf Dirty Hive prüfen und Protokolle einspielen

Hatte Windows beim Kopieren noch nicht geschriebene Änderungen, weichen die beiden Sequenznummern im Header voneinander ab: Der Hive ist dirty. Der BAM/DAM Parser zeigt dann einen Hinweis („Dirty Hive: die neuesten BAM-Schreibvorgänge können noch in SYSTEM.LOG1/LOG2 liegen und werden nicht eingespielt.“).

Der Parser spielt Protokolle nicht selbst ein. Führen Sie Eric Zimmermans rla.exe aus (oder öffnen Sie den Hive im Registry Explorer und speichern Sie die bereinigte Kopie) – beide finden Sie auf der Seite der EZ-Tools – und parsen Sie das Ergebnis. Für einen ersten Blick können Sie die dirty Datei ruhig direkt parsen; schließen Sie nur nicht daraus, dass ein Eintrag fehlt.

Schritt 3 – Hives laden

Öffnen Sie das Tool und

  • ziehen Sie die Dateien auf die Seite,
  • verwenden Sie Dateien wählen oder Ordner wählen, oder
  • ziehen Sie eine komplette KAPE- oder Velociraptor-ZIP-Datei darauf.

Der Parser läuft als WebAssembly in einem Web Worker in Ihrem Browser; nichts wird hochgeladen. Er findet die SYSTEM- und SOFTWARE-Hives in einer Sammlung und listet jede übersprungene Datei mit Grund auf (ein Transaktionsprotokoll, ein anderer Hive, eine nur aus Nullen bestehende Datei aus einer gesperrten Kopie usw.).

Lesen Sie dann die Kopfzeile:

  • Host – aus ControlSet00X\Control\ComputerName (FIN-WKS-07 im Beispiel).
  • Zeitzone – der konfigurierte TimeZoneKeyName (Romance Standard Time im Beispiel, also Paris).
  • Aktives Control Set – aus Select\Current.
  • Einträge / Konten / Markiert – Zählwerte der aktuellen Ansicht.

Schritt 4 – Ansicht eingrenzen

Control Set. Lassen Sie Nur aktives Control Set aktiviert. Das ControlSet002 im Beispiel enthält einen älteren Stand der Einträge von alice aus der Zeit vor dem Vorfall; schaltet man den Filter ab, sieht man beide – nützlich zum Vergleich, störend für eine Timeline. Mehr dazu im Artikel zum Speicherort.

Konto. Die Kontenliste zeigt jede SID mit ihrem Namen aus der ProfileList, die aktivsten zuerst. Bekannte SIDs werden beschriftet (SYSTEM für S-1-5-18, DWM-1, UMFD-0 …). Wie man diese Konten einordnet, erklärt die BAM-Benutzerzuordnung.

Quelle. Standardmäßig „BAM + DAM“; bei Bedarf auf eines von beiden beschränken (DAM erklärt).

Sortierung. Klicken Sie auf Letzte Ausführung, um die Aktivität eines Benutzers der Reihe nach zu lesen. Die Zeitspalte ist UTC mit 100-ns-Genauigkeit; der Schalter Lokal rechnet in die Zeitzone Ihres Browsers um und zeigt den Versatz an – das ist nicht unbedingt die Zone des untersuchten Hosts.

Suche. Das Filterfeld durchsucht Pfad, Benutzer, SID oder Datumszeichenkette – 2026-09-14 grenzt das Beispiel auf den Tag des Vorfalls ein, \Users\Public\ auf einen Ordner.

Schritt 5 – Markierte Zeilen sichten

Das Tool markiert vier Muster. Es sind einfache, nachvollziehbare Heuristiken, die zeigen, wo Sie zuerst hinsehen sollten – keine Urteile:

MarkierungRegelTreffer im Beispiel
Vom Benutzer beschreibbarer OrdnerPfad unter AppData, Downloads, Desktop … eines Profils, Users\Public, ProgramData, Windows\Temp, $Recycle.Bin, PerfLogs\Users\Public\rclone.exe
Doppelte DateiendungDokument-/Archivendung gefolgt von einer ausführbaren EndungInvoice_2026-0914.pdf.exe
Systemdatei am falschen OrtName einer zentralen Windows-Datei außerhalb ihres erwarteten Ordners\Windows\Temp\svchost.exe
Dual-Use- / AngriffswerkzeugName steht auf einer Liste von Fernwartungs-, Exfiltrations- und Credential-ToolsPsExec64.exe, Advanced_IP_Scanner.exe

Aktivieren Sie Nur markierte für eine kurze Liste und schalten Sie es danach wieder ab: Unauffällig wirkende Einträge (cmd.exe, mstsc.exe, 7z.exe) liefern oft den Kontext, der die markierten erst verständlich macht.

Ein Klick auf eine Zeile öffnet den Detailbereich:

  • Registrierungsschlüssel – vollständiger Pfad inklusive Control Set und Format.
  • Rohdaten des Werts – der vollständige REG_BINARY in Hex (Format erklärt).
  • FILETIME – der rohe 64-Bit-Wert.
  • Letzter Schreibzugriff des SID-Schlüssels – wann sich der Schlüssel dieses Benutzers zuletzt geändert hat; eine nützliche Manipulationsprüfung (Anti-Forensik).
  • Quell-Hive – aus welcher Datei die Zeile stammt, wichtig, wenn Sie mehrere SYSTEM-Hives laden.

Schritt 6 – Belegen

BAM liefert wer, welcher Pfad und wann (zuletzt). Keinen Hash, keinen Zähler, keine Befehlszeile, keinen Elternprozess. Für jede wichtige Zeile:

  • Prefetch – Ausführungszähler und bis zu acht Ausführungszeiten, geladene Dateien (Prefetch Parser).
  • Amcache – SHA-1 und Metadaten der Datei (Amcache Parser).
  • Ereignisprotokolle – 4688 Prozesserstellung (sofern überwacht), Sysmon-Ereignis 1, Anmeldungen 4624/4648, Dienstinstallationen 7045 (EVTX Parser).
  • ShimCache – Vorhandensein des Pfads auf dem Datenträger (ShimCache Parser).

Die Vergleichsmatrix fasst zusammen, welches Artefakt welche Frage beantwortet.

Schritt 7 – Exportieren

CSV und JSON exportieren die aktuell angezeigten Zeilen – setzen Sie also zuerst Ihre Filter (oder entfernen Sie sie für einen vollständigen Export). Die Dateien tragen den Hostnamen (FIN-WKS-07_bamdam.csv).

  • CSV-Spalten: LastExecutionUtc, Program, Path, User, SID, Service, ControlSet, ActiveControlSet, LegacyLayout, Volume, Flags, SidKeyLastWriteUtc, FileTime, DataHex, SourceFile. Zellen, die mit =, +, - oder @ beginnen, erhalten ein Präfix, damit ein bösartiger Pfad nicht als Tabellenformel ausgeführt wird.
  • JSON ergänzt Metadaten pro Quelle: Hive-Name, Dirty-Kennzeichen, Parser-Version, Host, Zeitzone, Control Sets und Warnungen.

Übernehmen Sie eines davon in Ihr Timeline-Werkzeug (etwa Plaso oder eine Super-Timeline in einer Tabellenkalkulation), zusammen mit den bestätigenden Artefakten.

Häufige Fehler

  • SYSTEM ohne Protokolle parsen und ein Fehlen behaupten.
  • Zeilen aus ControlSet002 in die aktuelle Timeline mischen.
  • Die Spalte in Ortszeit als Ortszeit des untersuchten Hosts ausgeben.
  • Eine Markierung für einen Befund halten – oder das Fehlen einer Markierung für Entwarnung.
  • Vergessen, dass BAM Ausführungen von Wechseldatenträgern, Netzwerkfreigaben und viele Kommandozeilenstarts nicht erfasst.

Einen vollständigen Fall zeigt die fiktive Untersuchung eines Lateral-Movement-Falls mit BAM.

Verwandte Artikel