SOC Prime Bias: Mittel

02 Jun 2026 15:23 UTC

DonutLoader in einer modernen Remcos RAT-Kampagne neu geladen

Author Photo
SOC Prime Team linkedin icon Folgen
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

G DATA hat eine neue Remcos RAT-Kampagne identifiziert, die mit einer bösartigen Batch-Datei beginnt und durch mehrere Skript-Schichten, einschließlich PowerShell, VBScript und AutoIt, fortschreitet, um ein DonutLoader-Shellcode-Payload abzurufen und zu starten. Der Loader injiziert letztendlich den endgültigen Remcos RAT in die legitime Windows-Binärdatei colorcpl.exe. Während der gesamten Kette verlassen sich die Angreifer auf vertrauenswürdige Werkzeuge wie 7-Zip, pCloud-Speicher und mehrere LOLBins, um die Aktivität routinemäßig erscheinen zu lassen. Die Verwendung von Donut-generiertem Shellcode für die Prozessinjektion markiert eine bemerkenswerte Evolution in der modernen Remcos-Bereitstellung.

Untersuchung

Forscher folgten dem gesamten Infektionspfad von einem Phishing-Anhang namens Bestellung.CMD, der cscript.exe startete, um einen VBScript-Proxy auszuführen, der einen Base64-codierten PowerShell-Befehl dekodierte. Diese PowerShell-Stufe lud 7-Zip-Dienstprogramme und ein passwortgeschütztes Archiv von pCloud herunter, entpackte dann eine JScript-Datei, die einen AutoIt-Interpreter und eine gefälschte PNG-Datei fallen ließ, die zusätzlichen Payload-Inhalt trug. Die AutoIt-Komponente entschlüsselte XOR-verschlüsselte Daten, rekonstruierte den DonutLoader-Shellcode und injizierte ihn in colorcpl.exe, wo Remcos RAT Version 7.2.1 Pro ausgeführt wurde.

Abschwächung

Verteidiger sollten auf verdächtigen Gebrauch von cscript.exe, SyncAppvPublishingServer.vbsund PowerShell IEX Befehlen mit Base64-codiertem Inhalt achten, insbesondere wenn diese Prozesse von Batch-Dateien ausgehen. Die Erkennung sollte auch unerwartete Auftritte von 7z.exe and 7z.dll in Benutzerverzeichnissen abdecken, zusammen mit unautorisierten AutoIt-Binärdateien. Verhaltenbasierte Schutzmaßnahmen sollten auf die Erkennung von Prozessinjektionen in colorcpl.exe und Aktivität, die mit Donut-generiertem Shellcode konsistent ist, abgestimmt werden.

Reaktion

Wenn diese Aktivität festgestellt wird, isolieren Sie das betroffene System sofort, beenden Sie die verdächtigen Prozesse und erfassen Sie den Speicher für die Shellcode-Analyse. Ermittler sollten abgelegte Dateien und alle gelöschten Artefakte überprüfen, um die vollständige Ausführungskette zu rekonstruieren, während die Kommunikation mit der identifizierten Befehls- und Kontrollinfrastruktur blockiert wird. Die Schadensbehebung sollte die Entfernung von Remcos RAT und die Bereinigung aller missbrauchten legitimen Dienstprogramme, die an dem Angriff beteiligt waren, umfassen.

graph TB %% Klassendefinitionen classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ff9999 classDef misc fill:#dddddd %% Knoten phish_spear[„<b>Aktion</b> – <b>T1566.001 Phishing: Spearphishing-Anhang</b><br/><b>Datei</b>: Bestellung.CMD“]:::technique cmd_shell[„<b>Technik</b> – <b>T1059.003 Kommando- und Skriptinterpreter</b><br/>Windows Command Shell“]:::technique vbscript[„<b>Technik</b> – <b>T1059.005 Kommando- und Skriptinterpreter</b><br/>Visual Basic (cscript.exe + .vbs)“]:::technique syncappv_proxy[„<b>Technik</b> – <b>T1216.002 System-Skript-Proxy-Ausführung</b><br/>SyncAppvPublishingServer“]:::technique powershell_hidden[„<b>Technik</b> – <b>T1059.001 Kommando- und Skriptinterpreter</b><br/>PowerShell (versteckt, Base64-Dekodierung)<br/><b>Subtechniken</b>: T1027.009 eingebettete Payloads, T1564.003 verstecktes Fenster“]:::technique ingress_transfer[„<b>Technik</b> – <b>T1105 Ingress-Tool-Transfer</b><br/>Download von 7z-Tools und passwortgeschütztem ZIP<br/><b>Subtechnik</b>: T1027.015 Kompression“]:::technique javascript_masq[„<b>Technik</b> – <b>T1059.007 Kommando- und Skriptinterpreter</b><br/>JavaScript (iphdcrtj.js)<br/><b>Maskierung</b>: T1036.008 gefälschtes PNG mit AutoIt-Skript“]:::technique process_injection[„<b>Technik</b> – <b>T1055 Prozessinjektion</b><br/>Injektion in colorcpl.exe“]:::technique reflective_loader[„<b>Technik</b> – <b>T1620 Reflektives Code-Laden</b><br/>DonutLoader Shellcode → Remote Access Software (Remcos RAT)“]:::technique c2_comm[„<b>Technik</b> – <b>T1071 Anwendungsschicht-Protokoll</b><br/>C2-Kommunikation“]:::technique %% Verbindungen phish_spear –>|führt_zu| cmd_shell cmd_shell –>|führt_zu| vbscript vbscript –>|führt_zu| syncappv_proxy syncappv_proxy –>|führt_zu| powershell_hidden powershell_hidden –>|führt_zu| ingress_transfer ingress_transfer –>|führt_zu| javascript_masq javascript_masq –>|führt_zu| process_injection process_injection –>|führt_zu| reflective_loader reflective_loader –>|führt_zu| c2_comm

Angriffsverlauf

Simulation Ausführung

Voraussetzung: Der Telemetrie- und Basislinien-Vorflugcheck muss bestanden haben.

Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und Erzählung MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die durch die Erkennungslast erwartet wird.

  • Angriffserzählung & Befehle:
    Der Angreifer hat eine bösartige PowerShell-Nutzlast (z. B. einen Downloader) erlangt, die Base64-codiert wurde, um die statische Erkennung zu umgehen. Um unter dem Radar zu bleiben, entscheidet sich der Angreifer für ein signiertes, integriertes Modul—AppvClient—das häufig auf Windows-Systemen vorhanden ist. Sie importieren das Modul und verwenden dann Invoke-Expression (IEX) , um die Nutzlast vollständig im Speicher zu dekodieren und auszuführen und keine Datei-Artefakte zu hinterlassen. Diese genau Befehlzeile (Import-Module AppvClient; IEX <Base64String>) entspricht der Sigma-Regelbedingung.

  • Regressionstests-Skript:

    <#
    Simulationsskript für die Auslösung der "PowerShell IEX mit AppvClient"-Erkennungsregel.
    #>
    
    # 1. Importieren Sie das legitime Modul (signierte Binär-Proxyausführung)
    Import-Module AppvClient -ErrorAction Stop
    
    # 2. Bereiten Sie eine einfache gutartige PowerShell-Nutzlast vor und base64-codieren Sie sie
    $payload = "Write-Host 'Kompromittierung simuliert – Nutzlast ausgeführt.'"
    $bytes   = [System.Text.Encoding]::Unicode.GetBytes($payload)
    $b64     = [System.Convert]::ToBase64String($bytes)
    
    # 3. Führen Sie die Nutzlast im Speicher mit IEX aus (der Erkennungs-Auslöser)
    IEX ([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($b64)))
    
    # 4. Optional: Halten Sie die Sitzung kurz aufrecht, um sicherzustellen, dass Protokolle gespeichert werden
    Start-Sleep -Seconds 5
  • Bereinigungskommandos:

    # Entfernen Sie das importierte Modul, um den Footprint zu reduzieren
    if (Get-Module -Name AppvClient) {
        Remove-Module -Name AppvClient -Force
    }
    
    # Löschen Sie den PowerShell-Verlauf für die aktuelle Sitzung
    Clear-History