Missbrauch von legitimen Low-Level-Tools zur Umgehung der Antivirus-Erkennung durch Ransomware
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Artikel erklärt, wie Ransomware-Operatoren legitime Low-Level-Utilities wie Process Hacker, IOBit Unlocker, PowerRun und ähnliche Tools ausnutzen, um Antivirus- und Endpunktschutz zu schwächen. Durch den Missbrauch dieser signierten Binärdateien können Angreifer SYSTEM- oder sogar Kernel-Level-Berechtigungen erlangen, Anmeldedaten stehlen und die Umgebung für die Bereitstellung von Ransomware vorbereiten. Das Stück hebt hervor, wie sich die Neutralisierung von Antivirus von einfachen Skripten zu gebündelten Fähigkeitensätzen in modernen Ransomware-as-a-Service-Angeboten entwickelt hat. Es verweist auch auf reale Ransomware-Gruppen, die diese Methoden übernommen haben.
Untersuchung
Die Untersuchung beschreibt ein Zweistufen-Einbruchsmuster, bei dem Gegner zunächst Low-Level-Tools für Privilegieneskalation und Antivirusumgehung einsetzen und dann zu Zugangsdiebstahl, Kernel-Manipulation und Ausführung der Ransomware-Nutzlast wechseln. Die Tool-Aktivität wird MITRE ATT&CK-Techniken zugeordnet, einschließlich T1548.002, T1562.001 und T1003.001. Fallbeispiele verbinden diese Utilities mit Ransomware-Operationen wie LockBit 3.0, Phobos, MedusaLocker und anderen.
Minderung
Empfohlene Minderungen umfassen die Durchsetzung einer Anwendungsliste, die Überwachung großangelegter Prozessbeendigungen, die Überprüfung von Registrierungsänderungen, welche die Antivirus-Einstellungen betreffen, und die Begrenzung der Ausführung administrativer Tools auf nur genehmigte Konten. Endpunktschutzplattformen sollten auch die Selbstschutzkontrollen stärken, um erzwungene Abschaltungen von Sicherheitsprozessen und -diensten zu widerstehen.
Reaktion
Wenn dieses Verhalten erkannt wird, sollten Organisationen bei verdächtigen AV- oder EDR-Prozessbeendigungen einen Alarm auslösen, den betroffenen Host isolieren, forensische Beweise für Registry- und Dateiveränderungen sichern und nach LSASS-Zugriff im Zusammenhang mit Zugangsdiebstahl untersuchen. Die Vorfallreaktion sollte die beobachtete Kill Chain schnell genug verfolgen, um den Einbruch einzudämmen, bevor die Ransomware-Verschlüsselung beginnt.
"graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Aktionsknoten action_initial_access["<b>Aktion</b> – <b>T1566.001 Phishing: Spearphishing-Anhang</b><br/><b>Beschreibung</b>: Der Gegner sendet einen bösartigen E-Mail-Anhang, der beim Öffnen einen Bootstrap-Loader freisetzt.<br/><b>Technik-ID</b>: T1566.001"] class action_initial_access action action_priv_esc["<b>Aktion</b> – <b>T1548.002 Benutzerkontensteuerung umgehen</b><br/><b>Beschreibung</b>: Legitime Utilities ausnutzen, um die UAC zu umgehen und SYSTEM- oder Kernel-Berechtigungen zu erlangen.<br/><b>Technik-ID</b>: T1548.002"] class action_priv_esc action action_defense_evasion["<b>Aktion</b> – <b>T1562 Verteidigungen beeinträchtigen</b><br/><b>Beschreibung</b>: Antivirus- und EDR-Komponenten beenden oder entladen, um der Erkennung zu entgehen.<br/><b>Technik-ID</b>: T1562"] class action_defense_evasion action action_credential_access["<b>Aktion</b> – <b>T1003 OS-Credential-Dumping</b><br/><b>Beschreibung</b>: Zwischengespeicherte Zugangsdaten mit Tools wie Mimikatz aus dem Speicher dumpen.<br/><b>Technik-ID</b>: T1003"] class action_credential_access action action_persistence["<b>Aktion</b> – <b>T1112 Registrierung ändern</b><br/><b>Beschreibung</b>: Registry-Schlüssel löschen oder ändern, die AV-Komponenten zum Persistenzentfernung starten.<br/><b>Technik-ID</b>: T1112"] class action_persistence action action_indicator_removal["<b>Aktion</b> – <b>T1070.004 Dateilöschung</b><br/><b>Beschreibung</b>: AV-Logs und andere forensische Artefakte von der Festplatte entfernen.<br/><b>Technik-ID</b>: T1070.004"] class action_indicator_removal action action_impact["<b>Aktion</b> – <b>T1486 Daten zu Impact verschlüsselt</b><br/><b>Beschreibung</b>: Benutzerdateien mit Ransomware-Nutzlast verschlüsseln, nachdem SYSTEM-Rechte erlangt wurden.<br/><b>Technik-ID</b>: T1486"] class action_impact action %% Tool-Knoten tool_powerrun["<b>Tool</b> – <b>Name</b>: PowerRun<br/><b>Zweck</b>: Binärdateien mit erhöhten Berechtigungen ausführen"] class tool_powerrun tool tool_wke["<b>Tool</b> – <b>Name</b>: Windows Kernel Explorer (WKE)<br/><b>Zweck</b>: Kernel-Level-Ausführung erhalten"] class tool_wke tool tool_ydark["<b>Tool</b> – <b>Name</b>: YDArk<br/><b>Zweck</b>: Auf SYSTEM erhöhen"] class tool_ydark tool tool_process_hacker["<b>Tool</b> – <b>Name</b>: Process Hacker<br/><b>Zweck</b>: Sicherheitsprozesse beenden"] class tool_process_hacker tool tool_iobit["<b>Tool</b> – <b>Name</b>: IOBit Unlocker<br/><b>Zweck</b>: AV-Dienste stoppen"] class tool_iobit tool tool_aukills["<b>Tool</b> – <b>Name</b>: AuKill / ProcessKO<br/><b>Zweck</b>: Bestimmte AV-Prozesse beenden"] class tool_aukills tool tool_mimikatz["<b>Tool</b> – <b>Name</b>: Mimikatz<br/><b>Zweck</b>: Windows-Zugangsdaten dumpen"] class tool_mimikatz tool tool_unlock_it["<b>Tool</b> – <b>Name</b>: Unlock_IT<br/><b>Zweck</b>: AV-Registry-Schlüssel und Logs löschen"] class tool_unlock_it tool tool_atool["<b>Tool</b> – <b>Name</b>: Atool_ExperModel<br/><b>Zweck</b>: AV-Startschlüssel entfernen"] class tool_atool tool %% Bedienerknoten (optional) op_and1(("UND")) class op_and1 operator %% Flussverbindungen action_initial_access –>|führt zu| action_priv_esc action_priv_esc –>|führt zu| action_defense_evasion action_defense_evasion –>|führt zu| action_credential_access action_credential_access –>|führt zu| action_persistence action_persistence –>|führt zu| action_indicator_removal action_indicator_removal –>|führt zu| action_impact %% Tool-Nutzungsverbindungen action_priv_esc –>|verwendet| tool_powerrun action_priv_esc –>|verwendet| tool_wke action_priv_esc –>|verwendet| tool_ydark action_defense_evasion –>|verwendet| tool_process_hacker action_defense_evasion –>|verwendet| tool_iobit action_defense_evasion –>|verwendet| tool_aukills action_credential_access –>|verwendet| tool_mimikatz action_persistence –>|verwendet| tool_unlock_it action_persistence –>|verwendet| tool_atool action_indicator_removal –>|verwendet| tool_unlock_it "
Angriffsfluss
Erkennungen
Möglicher Missbrauch des IObitUnlocker-Utilities (via process_creation)
Anzeigen
Verdächtige Taskkill-Ausführung (via cmdline)
Anzeigen
Mögliche Mimikatz-Argumente erkannt (via cmdline)
Anzeigen
Möglicher TDSSKiller Dienstprogrammsausführungsversuch (via cmdline)
Anzeigen
HRSword-Dienstmanipulation zur Antivirus-Neutralisierung [Windows-System]
Anzeigen
Erkennung von Ransomware-Umgehungstaktiken mit Low-Level-Tools [Windows-Prozesserstellung]
Anzeigen
Simulationsausführung
Voraussetzung: Der Telemetrie- & Basislinien-Vorflug-Check muss bestanden sein.
-
Angriffserzählung & Befehle:
Der Gegner hat administrative Rechte auf dem Opfer-Host erlangt und möchte den Endpunktschutz neutralisieren, bevor er Ransomware-Nutzlasten bereitstellt. Mit dem legitimen Utility HRSword.exe, geben sie einen Befehl aus, der den Antivirusdienst (
avservice) stoppt und dessen automatischen Neustart deaktiviert, sodass der Verteidiger den Dienst während des Angriffsfensters nicht wiederherstellen kann. Der Befehl wird direkt in einer PowerShell-Konsole ausgeführt, um ein klares Sysmon-Prozesserstellungsereignis zu generieren, das der Erkennungsregel entspricht. -
Regressionstestskript:
<# Simulation der Verwendung von HRSword.exe zum Stoppen eines AV-Dienstes und Deaktivieren seines Neustarts. Dieses Skript muss mit erhöhten (Administrator-) Rechten ausgeführt werden. #> # Variablen $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe" $serviceName = "avservice" # Sicherstellen, dass HRSword.exe vorhanden ist (als Schein erstellen, falls nicht) if (-Not (Test-Path $hrswordPath)) { Write-Host "Erstelle Schein-HRSword.exe für Simulation..." # Erstellen Sie ein Dummy-Executable (eine Kopie von cmd.exe) nur zu Logging-Zwecken Copy-Item "$env:windirSystem32cmd.exe" $hrswordPath -Force } # Führen Sie die genaue Befehlszeile aus, die die Sigma-Regel überwacht $command = "& `"$hrswordPath`" /service stop $serviceName /disable" Write-Host "Ausführung: $command" Invoke-Expression $command # Optional: Schreiben Sie ein benutzerdefiniertes Ereignis, um den Abschluss anzugeben (hilft bei der End-to-End-Überprüfung) Write-EventLog -LogName Application -Source "HRSwordSimulation" -EventId 3000 -EntryType Information -Message "HRSword-Dienststopsimulation abgeschlossen." -
Bereinigungskommandos:
<# Stellen Sie den AV-Dienst in seinen ursprünglichen Zustand wieder her und entfernen Sie das Scheinprogramm. #> # Starten Sie den AV-Dienst neu (falls vorhanden) $serviceName = "avservice" if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { Write-Host "Dienst $serviceName wird neu gestartet ..." Start-Service -Name $serviceName -ErrorAction SilentlyContinue } # Entfernen Sie das Schein-HRSword.exe (falls es erstellt wurde) $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe" if (Test-Path $hrswordPath) { Write-Host "Schein-HRSword.exe entfernen ..." Remove-Item $hrswordPath -Force } # Löschen Sie den benutzerdefinierten Ereignisprotokolleintrag Get-EventLog -LogName Application -Source "HRSwordSimulation" -After (Get-Date).AddMinutes(-10) | Remove-EventLog