Skip to content

Ausführungsnachweis mit BAM: ein Lateral-Movement-Fall

Eine fiktive Untersuchung auf FIN-WKS-07 mit BAM: Phishing, ein gekapertes Dienstkonto, Scans, PsExec, RDP und rclone – und was BAM nicht zeigen konnte.

Veröffentlicht am 6 Min. Lesezeit

TL;DR. Fiktives Szenario, synthetische Daten. Auf FIN-WKS-07 legt BAM allein einen Vormittag offen: alice öffnet eine „Rechnung“ mit doppelter Dateiendung und 24 Sekunden später PowerShell; eine Stunde danach startet das Dienstkonto svc_backup – das eigentlich nur einen Backup-Agenten ausführen sollte – cmd.exe, legt ein Binary in ProgramData ab, startet einen IP-Scanner von einem zweiten Volume, öffnet RDP und führt PsExec, 7-Zip und rclone aus. Ein falsches svchost.exe läuft als SYSTEM aus Windows\Temp. BAM liefert das Wer, Was und Wann; Befehle, Hashes und Ziele liefert es nicht, und dieser Artikel benennt jede dieser Lücken ausdrücklich.

Alles in diesem Artikel ist fiktiv. Host, Konten, SIDs, Pfade und Zeiten stammen aus den synthetischen Hives hinter der Schaltfläche „Beispiel testen“ des BAM/DAM Parser. Es werden keine realen Organisationen, Personen oder Vorfälle beschrieben. Sie können dieselben Daten laden und mitarbeiten.

Die Ausgangslage

Ein Rechner der Buchhaltung, FIN-WKS-07, löste am 14. September 2026 einen Alarm wegen ausgehenden Datenverkehrs zu einem Cloud-Speicheranbieter aus. Der Analyst sicherte SYSTEM, SYSTEM.LOG1/LOG2 und SOFTWARE mit KAPE, bevor jemand den Rechner neu startete – was, wie der Artikel zu den Grenzen erklärt, die BAM-Einträge gelöschter Tools am Leben hält.

Nach dem Laden der Hives in das Tool zeigt die Kopfzeile:

FeldWert
HostFIN-WKS-07
ZeitzoneRomance Standard Time (Paris, im September UTC+2)
Aktives Control Set1
Kontenalice (…-1104), svc_backup (…-1119), SYSTEM (S-1-5-18)

Alle folgenden Zeiten sind UTC, so wie BAM sie speichert. Für die Ortszeit in Paris zwei Stunden addieren.

Phase 1 – Erstzugriff unter alice

Gefiltert auf alice und nach letzter Ausführung sortiert:

Letzte Ausführung (UTC)ProgrammPfadMarkierungen
08:51:13explorer.exe (DAM)\Windows\explorer.exe
08:55:02MSTeamsPaket MSTeams_8wekyb3d8bbwe
08:58:40OUTLOOK.EXE\Program Files\Microsoft Office\root\Office16\
09:03:11chrome.exe\Program Files\Google\Chrome\Application\
09:12:07Invoice_2026-0914.pdf.exe\Users\alice\Downloads\vom Benutzer beschreibbarer Ordner, doppelte Dateiendung
09:12:31powershell.exe\Windows\System32\WindowsPowerShell\v1.0\

Was BAM stützt: ein normaler Arbeitsbeginn (Teams, Outlook, Chrome), dann ein Programm mit der Doppelendung .pdf.exe aus Downloads, dann PowerShell 24 Sekunden später – alles unter alice.

Was BAM nicht zeigt: wie die Datei ankam (Browser-Download oder Mailanhang), ihren Hash, ob PowerShell ihr Kindprozess war oder was PowerShell ausführte. Denken Sie daran, dass die Zeit die zuletzt erfasste Aktivität ist – aktualisiert bei Prozessstart und -ende (Suhanov) –, die „Rechnung“ könnte also etwas vor 09:12:07 gestartet sein, wenn sie eine Weile lief.

Nächste Schritte in einem echten Fall: Chrome-Verlauf und Zone.Identifier-Stream für die Download-Quelle (Browser Forensics), Amcache für den SHA-1, PowerShell-Operational-Protokolle (4104, Skriptblockprotokollierung, sofern aktiviert) in EVTX Parser.

Vergleich der Control Sets. Schaltet man „Nur aktives Control Set“ ab, erscheint ControlSet002 mit nur vier Einträgen von alice – Chrome, Outlook, Excel, Notepad. Dieser ältere Stand enthält keine der verdächtigen Zeilen, was zu einer jüngeren Aktivität passt. Ein Vergleichspunkt, kein Beweis für den zeitlichen Ablauf.

Phase 2 – Das Dienstkonto erwacht

svc_backup ist ein Backup-Dienstkonto. In einer gesunden Umgebung enthielte sein BAM-Schlüssel höchstens den Backup-Agenten. Hier:

Letzte Ausführung (UTC)ProgrammPfadMarkierungen
10:02:16cmd.exe\Windows\System32\
10:09:44m64.exe\ProgramData\Intel\vom Benutzer beschreibbarer Ordner
10:15:58Advanced_IP_Scanner.exe\Device\HarddiskVolume7\tools\Dual-Use
10:18:40mstsc.exe\Windows\System32\
10:21:03PsExec64.exe\Users\svc_backup\Downloads\vom Benutzer beschreibbarer Ordner, Dual-Use
10:39:257z.exe\Program Files\7-Zip\
10:47:12rclone.exe\Users\Public\vom Benutzer beschreibbarer Ordner, Dual-Use

Das ist der Kernbefund, und genau hier ist BAM einzigartig: Ausführung, die einem bestimmten Konto zugeordnet ist. Der Artikel zur Zuordnung erklärt, warum es „unter dem Konto svc_backup ausgeführt“ heißen sollte – BAM kann nicht sagen, ob eine Person die Befehle tippte oder ein Tool die Zugangsdaten nutzte.

Zuordnung zu MITRE ATT&CK für den Bericht:

  • Advanced_IP_Scanner.exe → Erkundung von Netzwerkdiensten (T1046).
  • mstsc.exe → ausgehendes RDP (T1021.001).
  • PsExec64.exe → Dienstausführung auf entfernten Hosts (T1569.002).
  • 7z.exe, dann rclone.exe → Bereitstellung und Exfiltration in einen Cloud-Speicher (T1567.002).

Was die Pfade verraten

  • \Device\HarddiskVolume7\tools\ – nicht das Systemvolume (HarddiskVolume3). BAM erfasst keine ausführbaren Dateien auf als wechselbar gekennzeichneten Medien (Suhanov), dieses Volume wurde also anders präsentiert: ein eingebundenes VHD/ISO oder eine externe Platte, die sich als fest ausgibt, kommen in Frage. Ordnen Sie es mit anderen Artefakten zu, bevor Sie „USB“ schreiben. Zu Gerätepfaden siehe den Artikel zum Werteformat.
  • \ProgramData\Intel\m64.exe – ein unbekanntes Binary in einem seriös wirkenden Ordner. Was es ist, kann BAM nicht sagen; der SHA-1 aus Amcache schon.
  • \Users\Public\rclone.exe – ein für alle beschreibbarer Ordner, häufig zum Bereitstellen von Daten missbraucht.

Was fehlt

Kein net.exe, whoami.exe oder nltest.exe, obwohl solche Erkundungsbefehle in einer cmd.exe-Sitzung typisch sind. Das ist zu erwarten: Aus einer Kommandozeilensitzung gestartete Konsolenprogramme erhielten in Beobachtungen keine BAM-Einträge (Suhanov). Das Fehlen sagt nichts aus. Diese Befehle tauchen in Prefetch und in 4688/Sysmon-Ereignissen auf.

Phase 3 – SYSTEM aus einem Temp-Ordner

Unter S-1-5-18:

Letzte Ausführung (UTC)PfadMarkierungen
07:45:00\Windows\System32\svchost.exe
10:05:01\Windows\Temp\svchost.exevom Benutzer beschreibbarer Ordner, Systemdatei am falschen Ort

Ein svchost.exe außerhalb von System32, das als LocalSystem läuft, drei Minuten nachdem svc_backup eine Shell geöffnet hat und vier Minuten bevor m64.exe auftaucht. Klassische Tarnung (T1036). Wie es an SYSTEM-Rechte kam – Dienstinstallation, geplante Aufgabe, der PsExec-Dienst selbst – klären die Ereignisse 7045/4697 und der Schlüssel Services.

Die zusammengeführte Timeline

UTCKontoEreignis (BAM)
09:12:07alice„Rechnung“ mit doppelter Endung aus Downloads
09:12:31alicePowerShell
10:02:16svc_backupcmd.exe
10:05:01SYSTEMFalsches svchost.exe in Windows\Temp
10:09:44svc_backupm64.exe in ProgramData\Intel
10:15:58svc_backupIP-Scanner von HarddiskVolume7
10:18:40svc_backupRDP-Client
10:21:03svc_backupPsExec
10:39:25svc_backup7-Zip
10:47:12svc_backuprclone

Die vierzig Minuten zwischen PowerShell und der ersten Shell des Dienstkontos sind die offensichtliche Lücke: Wie kam der Angreifer an die Zugangsdaten von svc_backup? BAM weiß es nicht. Zu prüfende Hypothesen: Zugangsdaten in einem Skript oder einer Konfiguration, die alice lesen konnte, ein Credential-Dump (Prefetch/Amcache für Dump-Tools, LSASS-Zugriffsereignisse) oder eine Anmeldung von einem anderen Host (4624 Typ 3/10).

Was in den Bericht kam

  1. Die BAM-Befunde, jeweils formuliert als „zuletzt erfasste Aktivität unter Konto X um T UTC“, mit dem Pfad des SID-Schlüssels.
  2. Die ausdrücklichen Grenzen: keine Befehlszeilen, keine Hashes, keine Konsolen-Tools, keine Ausführungen von Wechsel- oder Netzwerkpfaden, ein Zeitstempel pro Programm.
  3. Der Plan zur Bestätigung: Amcache (Hashes von m64.exe, der Rechnung, rclone), Prefetch (Zähler, erste Ausführungen), EVTX (Anmeldungen, Dienstinstallationen, PowerShell), SRUM (von rclone.exe gesendete Bytes) sowie die BAM-Schlüssel der per PsExec und RDP erreichten Hosts, auf denen dasselbe Konto (oder SYSTEM) ebenfalls Tools gestartet haben könnte.
  4. Der Umfang: Die übrigen von mstsc.exe und PsExec64.exe erreichten Hosts werden genauso gesichert.

Selbst ausprobieren

Öffnen Sie den BAM/DAM Parser, klicken Sie auf Beispiel testen und bauen Sie jede Tabelle mit dem Kontenfilter, „Nur markierte“ und der Sortierung nach. Die Schritt-für-Schritt-Anleitung erklärt jedes Bedienelement, und der Vergleich mit Prefetch, ShimCache und Amcache zeigt, was jedes bestätigende Artefakt beitragen würde.

Verwandte Artikel