Adversary Emulation Light: 5 Tests, die du heute machen kannst
Einleitung
Dein SIEM läuft, deine SIGMA-Rules sind aktiv – aber feuert tatsächlich auch das, was feuern sollte? Die einzige seriöse Antwort ist: selbst angreifen. Nicht mit einem 4-Wochen-Pentest für 30.000 EUR, sondern mit kleinen, kontrollierten Tests, die du in einer Stunde durchführst. Dieser Artikel zeigt 5 konkrete Adversary-Emulation-Tests, die jeder KMU-Admin heute Nachmittag laufen lassen kann – inklusive Erwartung, was deine Detection sehen sollte.
Warum das Thema wichtig ist
Detection ohne Verifikation ist Wunschdenken. In der Praxis sehen wir regelmäßig SOCs mit hunderten SIGMA-Rules, von denen 20 % nie gefeuert haben – weil sie auf Logs warten, die der Endpoint nie schickt, oder auf EventIDs, die deaktiviert sind. Adversary Emulation schließt diese Lücke: kontrollierte, dokumentierte „Angriffe“ gegen die eigene Umgebung mit klarer Erwartung, ob die Rule ausgelöst wird. Frameworks wie Atomic Red Team (Red Canary) machen das zugänglich – jede MITRE-ATT&CK-Technik ist als kleiner Test verpackt, in Sekunden ausgeführt, mit dokumentiertem Cleanup.
Vorbereitung: Test-Endpoint, Logging, Notify
Bevor du Tests laufen lässt:
- Test-Endpoint (am besten Windows VM mit Defender/Sysmon, im Produktions-AD eingebunden, aber nicht produktiv genutzt) – nicht auf einem Server!
- Sysmon + zentrale Log-Pipeline aktiv – sonst siehst du nichts
- Notify: dein Defender / EDR / SOC-Provider informieren, sonst gibt es Panik
- Cleanup-Plan: jeder Test bekommt einen Cleanup-Step. Alles dokumentieren
Atomic Red Team liefert Tests, Cleanup und MITRE-Mapping in einem:
# Installation (auf Test-VM)
Set-ExecutionPolicy Bypass -Scope CurrentUser
IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing)
Install-AtomicRedTeam -getAtomics
Test 1 – Credential Dumping (T1003.001 LSASS Memory)
Klassiker, zentral für jede Ransomware-Vorbereitung. Atomic Red Team hat dafür einen Test mit comsvcs.dll (Living-off-the-Land):
Invoke-AtomicTest T1003.001 -TestNumbers 1
Was passiert: ein PowerShell-Aufruf nutzt comsvcs.dll, um LSASS zu dumpen.
Erwartete Detection:
- Sysmon Event 10 (ProcessAccess) mit
TargetImage|endswith: '\lsass.exe'undGrantedAccess: 0x1410o.ä. - Windows Defender ASR-Rule „Block credential stealing from LSASS“ sollte blockieren (wenn aktiv)
- SIGMA-Rule
proc_access_win_lsass_dump(offizielles SIGMA-Repo)
Wenn du kein Detection-Event siehst → entweder Sysmon-Event-10-Logging nicht aktiv, ASR aus, oder die Rule fehlt im SIEM. Das ist exakt der Erkenntniswert.
Cleanup: Invoke-AtomicTest T1003.001 -TestNumbers 1 -Cleanup
Test 2 – Persistence via Registry Run Key (T1547.001)
Eine der häufigsten Persistenz-Methoden überhaupt:
Invoke-AtomicTest T1547.001 -TestNumbers 1
Was passiert: ein Eintrag wird in HKCU\Software\Microsoft\Windows\CurrentVersion\Run gesetzt.
Erwartete Detection:
- Sysmon Event 13 (RegistryValueSet) mit
TargetObject|endswith: '\Run\Atomic Test 1' - Defender meldet u. U. einen „Suspicious Behavior“ Alert
SIGMA-Rule: registry_set_persistence_run_keys (Repo: SigmaHQ).
Test 3 – Scheduled Task als Persistence (T1053.005)
Ein zweiter Klassiker:
Invoke-AtomicTest T1053.005 -TestNumbers 1
Was passiert: ein Scheduled Task wird per schtasks.exe /create angelegt, der ein PowerShell-Skript ausführt.
Erwartete Detection:
- Sysmon Event 1 (ProcessCreate) mit
Image|endswith: '\schtasks.exe'undCommandLine|contains: '/create' - Windows Event 4698 (A scheduled task was created) im Security-Log
- SIGMA-Rule
proc_creation_win_schtasks_creation
Bei diesem Test besonders interessant: wer legt den Task an? Wenn du die User-Bedingung im SIGMA prüfst (z. B. „nicht NT AUTHORITY\SYSTEM“), filterst du normale Update-Tasks aus.
Test 4 – PowerShell Encoded Command (T1059.001)
PowerShell mit -EncodedCommand ist eine der häufigsten Tradecraft-Patterns von Cobalt Strike, Empire, Sliver-Loadern.
Invoke-AtomicTest T1059.001 -TestNumbers 4
Was passiert: PowerShell mit Base64-codiertem Argument startet (im Test harmlos, in Realität: Beacon-Loader).
Erwartete Detection:
- Sysmon Event 1:
Image|endswith: '\powershell.exe'undCommandLine|contains: '-enc'oder'-EncodedCommand' - Script-Block-Logging Event 4104: enthält das decodierte Skript
- SIGMA-Rule
posh_pc_powershell_encoded_command
Wenn dein Script-Block-Logging nicht aktiv ist (Event 4104), siehst du nur den Aufruf, nicht den Inhalt – ein häufiger Befund. Falls noch nicht aktiv, siehe PowerShell-Hardening-Artikel.
Test 5 – DCSync (T1003.006) – nur in der Lab-Umgebung!
Achtung: nur in einer Test-Umgebung mit eigenem AD machen, nicht in Production. DCSync simuliert einen Domain-Controller, der Passwort-Hashes synchronisiert – die KrönungsTechnik für AD-Angriffe.
# Voraussetzung: PsExec / Mimikatz / DSInternals in einer kontrollierten Lab-Umgebung
Invoke-AtomicTest T1003.006 -TestNumbers 1
Erwartete Detection:
- Windows Event 4662 (Object Access) mit Property GUID
1131f6aa-9c07-11d1-f79f-00c04fc2dcd2(DS-Replication-Get-Changes) oder1131f6ad-9c07-11d1-f79f-00c04fc2dcd2(DS-Replication-Get-Changes-All) - Quelle: nicht-DC-Maschine → kritisch
Diese Detection ist eine der wertvollsten überhaupt, da DCSync der vorletzte Schritt vor Domain-Übernahme ist. Siehe AD-Hardening-Artikel für Details zur Erkennung.
Was tun mit den Ergebnissen?
Pro Test ein Status-Report:
| Test | TTP | Erwartetes Event | Tatsächlich gesehen? | Maßnahme |
|---|---|---|---|---|
| 1 | T1003.001 LSASS Dump | Sysmon 10 LSASS | Ja, Defender geblockt | OK |
| 2 | T1547.001 Run Key | Sysmon 13 + Defender | nur Sysmon 13 (kein Defender-Alert) | Defender-Tamper-Protection prüfen |
| 3 | T1053.005 Scheduled Task | Sysmon 1 + Event 4698 | Sysmon 1 ja, 4698 nein | Audit-Policy „Other Object Access“ aktivieren |
| 4 | T1059.001 -EncodedCommand | Sysmon 1 + 4104 | nur Sysmon 1 | Script-Block-Logging GPO aktivieren |
| 5 | T1003.006 DCSync | Event 4662 | nicht aktiv | Audit-Subcategory aktivieren |
Diese Tabelle ist deine Roadmap: jede „nicht gesehen“-Zeile ist ein konkreter Auftrag fürs nächste Quartal.
Atomic Red Team in der Schleife
Statt einmalig: in den Routine-Betrieb integrieren.
# Liste aller Tests, die ohne Voraussetzung laufen
Invoke-AtomicTest All -ShowDetailsBrief
Quartalsweise eine Test-Reihe (z. B. 10 Tests aus Top-MITRE-Techniken) auf der Test-VM, Ergebnis dokumentieren, Lücken schließen. Das ist „Detection Drift Detection“ – über die Zeit verändern sich Logging-Configs, Defender-Settings, EDR-Versionen. Ohne kontinuierliche Tests merkst du das erst im echten Vorfall.
Andere Tools
| Tool | Stärke |
|---|---|
| Atomic Red Team | viele Tests, einfach, MITRE-Mapping |
| Caldera (MITRE) | Agent-basiert, kann Multi-Stage-Operationen |
| PurpleSharp | C#, leichtgewichtig, Windows-Fokus |
| Stratus Red Team | für Cloud (AWS, Azure) |
| APTSimulator | Skript-Sammlung, sehr realitätsnah |
Empfehlung für KMU-Einstieg: Atomic Red Team. Caldera ist das nächste Level, wenn du Multi-Stage-Operationen testen willst.
Stolperfallen
- Ohne Notify: dein Defender / SOC alarmiert die Geschäftsführung, schlechte Stimmung garantiert
- Auf Production-Maschinen: Cleanup ist nicht 100 % zuverlässig, Reststände bleiben
- Ohne Erwartungs-Dokumentation: ein Test, von dem niemand weiß, „was hätte passieren müssen“, liefert keinen Erkenntnisgewinn
- Einmalige Aktion: Detection driftet – Tests müssen wiederkehrend laufen
- Nur Coverage-Tests, keine Tuning-Tests: auch False Positives sind ein Problem (Atomic Red Team kann auch zur Validation von Filter-Allowlists genutzt werden)
- Mimikatz / Cobalt-Strike-PoCs unkontrolliert: das sind echte Tools, nicht harmlose Stubs. Wenn dann nur in voll isolierter Lab-Umgebung
Praxis-Checkliste
- Test-VM (Windows + Sysmon) im AD, nicht produktiv genutzt
- Atomic Red Team auf Test-VM installiert
- SOC / EDR-Provider über geplante Tests informiert
- Pro Test eine Erwartungs-Dokumentation („sollte triggern: …“)
- Tests aus T1003.001, T1547.001, T1053.005, T1059.001 zumindest einmal gelaufen
- Ergebnis-Tabelle (TTP / erwartet / gesehen / Maßnahme) dokumentiert
- Lücken in Sysmon-Config / Defender-Config / SIGMA-Rules in Backlog überführt
- Quartalsweiser Wiederhol-Test mit erweitertem Scope
- DCSync-Test nur in isolierter Lab-Umgebung
- Cleanup nach jedem Test verifiziert (Registry, Tasks, Files)
Fazit
Adversary Emulation ist die einzige seriöse Methode, deine Detection-Coverage zu validieren – und Atomic Red Team macht es so zugänglich, dass selbst Ein-Personen-IT in einem KMU diesen Schritt gehen kann. Die Erkenntnis aus den ersten 5 Tests ist immer die gleiche: einige Detections funktionieren, einige nicht – und genau dort, wo sie nicht funktionieren, kommen die echten Angreifer durch. Der Aufwand pro Quartal: ein halber Tag. Der Erkenntniswert: unbezahlbar.
Wenn du tiefer einsteigen willst: Im Newsletter zeige ich jeden Monat konkrete Atomic-Red-Team-Test-Reihen, Detection-Validierungen und Caldera-Workflows. Trag dich ein.