SOC Prime Bias: Kritisch

14 Jan. 2026 19:37

Jagd auf Lazarus: Einblick in die ansteckende Interview-C2-Infrastruktur

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Folgen
Jagd auf Lazarus: Einblick in die ansteckende Interview-C2-Infrastruktur
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Red Asgard berichtete über eine Kompromittierung der Lieferkette im Zusammenhang mit einem Kryptowährungsprojekt, das über Upwork beworben wurde, bei dem Lazarus-Betreiber bösartigen Code in den Build/Workflow eingebettet haben. Die Kette missbraucht die Autoausführung von VSCode-Aufgaben, eine Node.js-Hintertür, die durch den Function-Konstruktor implementiert wurde, und die durch Cookies gesteuerte Bereitstellung von Nutzlasten, um bösartiges JavaScript von einer Vercel-gehosteten Command-and-Control-Infrastruktur abzurufen. Der C2-Stack ist in Vercel-Domains der ersten Stufe und dedizierte Windows-Server der zweiten Stufe aufgeteilt, die eine stark verschleierte Python-Hintertür mit XMRig-Mining-Funktionalität liefern. Die Kampagne verwendet auch Pastebin-Totbriefe, ein benutzerdefiniertes Binärprotokoll und eine strikte Trennung von Zugangsdaten, um die Analyse und Beseitigung zu erschweren.

Untersuchung

Die Forscher zählten drei Vercel-Domains auf, die Token-authentifizierte Endpunkte bereitstellen, und identifizierten fünf dedizierte C2-Systeme, die Express.js on Port 1244ausführen. Sie dokumentierten auch eine Timing-Oracle-Technik, die verwendet wurde, um aktive Kampagnen-Token zu ermitteln oder aufzulisten. Das Reverse Engineering einer 64-schichtigen verschleierten Nutzlast offenbarte letztendlich eine trojanisierte Komponente, die durch die Platzierung im Autostart-Ordner und die Erstellung geplanter Aufgaben persistiert. Weitere Funde umfassten hartcodierte MongoDB-Anmeldeinformationen, etwa 1.000 Pastebin-Totbriefe-URLs und benutzerdefinierte Z238-Binärprotokoll-Listener auf mehreren Ports.

Minderung

Blockieren Sie ausgehende Kommunikationen zu den identifizierten Vercel-Domains und beschränken Sie den Abgang auf die Ports 1244, 1249 und 22411–22412. Überwachen Sie die Erstellung von Windows Update Script.pyw in Autostart-Ordnern, geplante Aufgaben mit dem Namen „Runtime Broker“ und verdächtige Ausführungen von msedge.exe, die mit Miner-Verkleidung übereinstimmen. Erkennen Sie Node.js-Prozesse, die Function.constructor aufrufen, sowie anomales HTTP-POST-Verhalten zu /keys-Endpunkten. Reduzieren Sie die Exposition, indem Sie die Automatisierung von VSCode-Aufgaben deaktivieren und Paketskripte vor der Ausführung von npm install oder dem Ausführen von Build-Schritten in nicht vertrauenswürdigen Repositories überprüfen.

Reaktion

Wenn Indikatoren beobachtet werden, isolieren Sie das betroffene System, beenden Sie verdächtige Prozesse und bewahren Sie Speicher- und Festplattenartefakte für eine forensische Überprüfung. Widerrufen Sie jegliche offengelegten MongoDB-Anmeldeinformationen und rotieren Sie alle relevanten Dienstkontogeheimnisse. Führen Sie eine Konto- und Zugriffsübersicht durch, um betroffene Benutzer zu identifizieren, setzen Sie dann Anmeldedaten zurück und entwerten Sie aktive Sitzungen/Tokens. Benachrichtigen Sie interne Stakeholder und koordinieren Sie sich mit Strafverfolgungsbehörden, wenn es Hinweise auf Kryptowährungsdiebstahl oder Wallet-Kompromittierung gibt.

„graph TB %% Klassendefinitionen classDef technique fill:#cce5ff classDef artifact fill:#e2f7d6 %% Schritt 1 – Phishing über einen Dienst tech_phishing[„<b>Technik</b> – <b>T1566.003 Phishing: Spearphishing über einen Dienst</b><br/><b>Beschreibung</b>: Angreifer gab sich als Freelancer auf Upwork aus und veröffentlichte ein gefälschtes Vorstellungsgespräch, um ein bösartiges Code-Repository zu liefern.“] class tech_phishing technique artifact_upwork[„<b>Artefakt</b> – <b>Name</b>: Gefälschte Upwork-Stellenanzeige<br/><b>Zweck</b>: Opfer dazu verleiten, das bösartige Repository herunterzuladen.“] class artifact_upwork artifact tech_phishing u002du002d>|liefert| artifact_upwork %% Schritt 2 – Lieferkettenkompromittierung tech_supplychain[„<b>Technik</b> – <b>T1195.001 Lieferkettenkompromittierung: Kompromittierung von Softwareabhängigkeiten und Entwicklungstools</b><br/><b>Beschreibung</b>: Bösartiges VSCode <code>tasks.json</code> und JavaScript-Code in das Repository injiziert.“] class tech_supplychain technique artifact_tasksjson[„<b>Artefakt</b> – <b>Name</b>: VSCode <code>tasks.json</code><br/><b>Inhalt</b>: Bösartige Aufgaben-Definition, die Konstruktor der JavaScript-Funktion und <code>getCookie()</code> aufruft.“] class artifact_tasksjson artifact artifact_upwork u002du002d>|enthält| artifact_tasksjson artifact_tasksjson u002du002d>|ermöglicht| tech_supplychain %% Schritt 3 – Benutzer-Ausführung tech_userexec[„<b>Technik</b> – <b>T1204.002 Benutzer-Ausführung: Bösartige Datei</b><br/><b>Beschreibung</b>: Opfer öffnete den Projektordner in VSCode, was die Autou2011Ausführung der bösartigen Aufgaben auslöste.“] class tech_userexec technique artifact_tasksjson u002du002d>|ausgelöst durch| tech_userexec %% Schritt 4 – JavaScript-Ausführung tech_jsexec[„<b>Technik</b> – <b>T1059.007 Kommando- und Skript-Interpreter: JavaScript</b><br/><b>Beschreibung</b>: JavaScript wurde über VSCode-Aufgaben und Funktionskonstruktor ausgeführt, um zusätzliche Payloads herunterzuladen.“] class tech_jsexec technique tech_userexec u002du002d>|führt zu| tech_jsexec %% Schritt 5 – Python-Backdoor tech_python[„<b>Technik</b> – <b>T1059.006 Kommando- und Skript-Interpreter: Python</b><br/><b>Beschreibung</b>: Stark verschleierter Python-Backdoor (<code>bro_*.js</code>) wurde auf dem Opferhost heruntergeladen und ausgeführt.“] class tech_python technique artifact_python_backdoor[„<b>Artefakt</b> – <b>Name</b>: Verschleierter Python-Backdoor (<code>bro_*.js</code>)<br/><b>Merkmale</b>: Mehrfach-verschlüsselte Kodierung und Dekodierung.“] class artifact_python_backdoor artifact tech_jsexec u002du002d>|lädt herunter| artifact_python_backdoor artifact_python_backdoor u002du002d>|führt aus| tech_python %% Schritt 6 – Startvorgangs-Persistenz tech_startup[„<b>Technik</b> – <b>T1037.005 Start- oder Anmelde-Initiierungsskripts: Startobjekte</b><br/><b>Beschreibung</b>: Persistenz durch Platzieren von <code>Windows Update Script.pyw</code> im Startordner.“] class tech_startup technique artifact_startup_script[„<b>Artefakt</b> – <b>Name</b>: <code>Windows Update Script.pyw</code><br/><b>Ort</b>: Startordner“] class artifact_startup_script artifact tech_python u002du002d>|erstellt| artifact_startup_script artifact_startup_script u002du002d>|ermöglicht| tech_startup %% Schritt 7 – Geplante Aufgabe tech_schedtask[„<b>Technik</b> – <b>T1053 Geplante Aufgabe/Job</b><br/><b>Beschreibung</b>: Geplante Aufgabe namens u201cRuntime Brokeru201d erstellt, die beim Anmelden ausgeführt wird.“] class tech_schedtask technique artifact_schedtask[„<b>Artefakt</b> – <b>Name</b>: Geplante Aufgabe u201cRuntime Brokeru201d<br/><b>Auslöser</b>: Bei Benutzeranmeldung“] class artifact_schedtask artifact tech_startup u002du002d>|hinzugefügt| artifact_schedtask artifact_schedtask u002du002d>|führt aus| tech_schedtask %% Schritt 8 – Abgreifen von Anmeldeinformationen aus Browsern tech_credbrowser[„<b>Technik</b> – <b>T1555.003 Anmeldeinformationen von Passwortspeichern: Anmeldeinformationen aus Webbrowsern</b><br/><b>Beschreibung</b>: Malware erfasste Browserprofil-Daten und gespeicherte Anmeldeinformationen.“] class tech_credbrowser technique artifact_browser_data[„<b>Artefakt</b> – <b>Daten</b>: Extrahierte Browser-Passwörter und Cookies“] class artifact_browser_data artifact tech_schedtask u002du002d>|sammelt| tech_credbrowser tech_credbrowser u002du002d>|speichert| artifact_browser_data %% Schritt 9 – Web-Sitzungscookie stehlen tech_stealcookie[„<b>Technik</b> – <b>T1539 Web-Sitzungscookie stehlen</b><br/><b>Beschreibung</b>: <code>getCookie()</code>-Funktion rief Sitzungs-Cookies aus dem Browser des Opfers ab.“] class tech_stealcookie technique artifact_getcookie[„<b>Artefakt</b> – <b>Daten</b>: Sitzungs-Cookies, die aus Browsern erfasst wurden“] class artifact_getcookie artifact tech_credbrowser u002du002d>|ermöglicht| tech_stealcookie tech_stealcookie u002du002d>|produziert| artifact_getcookie %% Schritt 10 – Nutzung alternativen Authentifizierungsmaterials tech_altauth[„<b>Technik</b> – <b>T1550.004 Nutzung alternativen Authentifizierungsmaterials: Web-Sitzungscookie</b><br/><b>Beschreibung</b>: Abgegriffene Cookies wurden später verwendet, um authentifizierte Web-Sitzungen zu übernehmen.“] class tech_altauth technique artifact_getcookie u002du002d>|verwendet von| tech_altauth %% Schritt 11 – Tarnung tech_masquerade[„<b>Technik</b> – <b>T1036.003 Tarnung: Umbenennung legitimer Dienstprogramme</b><br/><b>Beschreibung</b>: Bösartige Binärdateien wurden umbenannt zu u201cRuntime Broker.exeu201d und u201cmsedge.exeu201d.“] class tech_masquerade technique artifact_renamed_bins[„<b>Artefakt</b> – <b>Dateien</b>: <code>Runtime Broker.exe</code>, <code>msedge.exe</code> (bösartig)“] class artifact_renamed_bins artifact tech_altauth u002du002d>|liefert| artifact_renamed_bins artifact_renamed_bins u002du002d>|verwendet in| tech_masquerade %% Schritt 12 – Beeinträchtigung der Verteidigung tech_impairdefense[„<b>Technik</b> – <b>T1562 Beeinträchtigung der Verteidigung</b><br/><b>Beschreibung</b>: Hinzugefügte Windows Defender-Ausschlüsse über PowerShell, um der Erkennung zu entgehen.“] class tech_impairdefense technique artifact_defender_exclusion[„<b>Artefakt</b> – <b>Befehl</b>: PowerShell-Skript zum Hinzufügen von Defender-Ausschlusspfaden“] class artifact_defender_exclusion artifact tech_masquerade u002du002d>|führt aus| artifact_defender_exclusion artifact_defender_exclusion u002du002d>|ermöglicht| tech_impairdefense %% Schritt 13 – Verschleierte Dateien tech_obfuscation[„<b>Technik</b> – <b>T1027 Verschleierte Dateiformate oder Informationen</b><br/><b>Beschreibung</b>: Payload verwendet 64 verschachtelte Verschleierungsschichten (Base85, XOR, zlib, umgekehrte Base64).“] class tech_obfuscation technique tech_impairdefense u002du002d>|schützt| tech_obfuscation %% Schritt 14 – Artefakte verstecken tech_hideartifacts[„<b>Technik</b> – <b>T1564.012 Artefakte verstecken: Datei-/Pfadeinschlüsse</b><br/><b>Beschreibung</b>: Defender-Ausschlüsse und versteckte Dateien genutzt, um bösartige Artefakte zu verbergen.“] class tech_hideartifacts technique tech_obfuscation u002du002d>|ermöglicht| tech_hideartifacts %% Schritt 15 – Dead-Drop Resolver tech_dead_drop[„<b>Technik</b> – <b>T1102.001 Web-Dienst: Dead Drop Resolver</b><br/><b>Beschreibung</b>: Malware bezog Befehle von einem Netzwerk von ~1.000 Dead-Drop-Pastebin-Konten.“] class tech_dead_drop technique artifact_pastebin[„<b>Artefakt</b> – <b>Dienst</b>: Pastebin Dead-Drop Resolver-Konten“] class artifact_pastebin artifact tech_hideartifacts u002du002d>|ruft ab| artifact_pastebin artifact_pastebin u002du002d>|liefert Befehle an| tech_dead_drop %% Schritt 16 – Exfiltration über FTP tech_exfilftp[„<b>Technik</b> – <b>T1048.003 Exfiltration über alternative Protokolle: Unverschlüsseltes Nicht-C2-Protokoll</b><br/><b>Beschreibung</b>: Gesammelte Daten wurden über FTP auf Port 21 exfiltriert.“] class tech_exfilftp technique artifact_ftp[„<b>Artefakt</b> – <b>Protokoll</b>: FTP (Port 21) genutzt für Datenübertragung“] class artifact_ftp artifact tech_dead_drop u002du002d>|sendet Daten über| tech_exfilftp tech_exfilftp u002du002d>|nutzt| artifact_ftp %% Schritt 17 – Ressourcenmissbrauch (Monero-Mining) tech_resourcehijack[„<b>Technik</b> – <b>T1496.001 Ressourcenmissbrauch: Compute Hijacking</b><br/><b>Beschreibung</b>: XMRig Monero Miner bereitgestellt, getarnt als u201cmsedge.exeu201d, um kompromittierte Hosts zu monetarisieren.“] class tech_resourcehijack technique artifact_xmrig[„<b>Artefakt</b> – <b>Datei</b>: XMRig Miner-Binärdatei, benannt <code>msedge.exe</code>“] class artifact_xmrig artifact tech_exfilftp u002du002d>|liefert Ressourcen für| tech_resourcehijack tech_resourcehijack u002du002d>|führt aus| artifact_xmrig %% Schritt 18 – Browser-Informationsentdeckung tech_browserdisc[„<b>Technik</b> – <b>T1217 Browser-Informationsentdeckung</b><br/><b>Beschreibung</b>: Angreifer enumerierten Browserinformationen, um zusätzliche Anmeldedaten und Sitzungsdaten zu lokalisieren.“] class tech_browserdisc technique artifact_browser_info[„<b>Artefakt</b> – <b>Daten</b>: Browserversion, Profilpfade, installierte Erweiterungen“] class artifact_browser_info artifact tech_resourcehijack u002du002d>|sammelt| tech_browserdisc tech_browserdisc u002du002d>|sammelt| artifact_browser_info „

Angriffsablauf

Erkennungen

Mögliche Dateninfiltration / -exfiltration / C2 über Drittdienste / -tools (über dns)

SOC Prime Team
14. Januar 2026

Verdächtige Änderungen der Windows Defender-Einstellungen (über PowerShell)

SOC Prime Team
14. Januar 2026

Verdächtiges Binärprogramm / Skripte im Autostart-Ort (über file_event)

SOC Prime Team
14. Januar 2026

Versteckte Datei wurde auf Linux-Host erstellt (via file_event)

SOC Prime Team
14. Januar 2026

Mögliche Dateninfiltration / -exfiltration / C2 über Drittanbieter-Dienste / -Tools (via proxy)

SOC Prime Team
14. Januar 2026

IOCs (E-Mails) zur Erkennung: Hunting Lazarus: Inside the Contagious Interview C2 Infrastructure

SOC Prime AI Regeln
14. Januar 2026

IOCs (DestinationIP) zur Erkennung: Hunting Lazarus: Inside the Contagious Interview C2 Infrastructure

SOC Prime AI Regeln
14. Januar 2026

IOCs (SourceIP) zur Erkennung: Hunting Lazarus: Inside the Contagious Interview C2 Infrastructure

SOC Prime AI Regeln
14. Januar 2026

IOCs (HashSha256) zur Erkennung: Hunting Lazarus: Inside die Contagious Interview C2 Infrastructure

SOC Prime AI Regeln
14. Januar 2026

Verdächtige getCookie-Funktion, die bösartigen JavaScript von Vercel-Domäne abruft [Windows File Event]

SOC Prime AI Regeln
14. Januar 2026

Verdächtiger Einsatz von Function.constructor in errorHandler.js für Backend-RCE [Windows File Event]

SOC Prime AI Regeln
14. Januar 2026

Tarnung bösartiger Prozesse als RuntimeBroker und XMRig Miner als msedge.exe [Windows Prozess-Erstellung]

SOC Prime AI Regeln
14. Januar 2026

Bösartige VSCode Auto-Ausführungs-Konfiguration [Windows File Event]

SOC Prime AI Regeln
14. Januar 2026

Simulation Ausführung

Voraussetzung: Der Telemetrie- & Basislinien-Pre‑flight-Check muss bestanden sein.

Angriffsablauf & Befehle

Der Angreifer kopiert die legitime RuntimeBroker.exe Binärdatei an einen unüblichen Standort (%TEMP%), um sich als vertrauenswürdiger Prozess zu tarnen und so die Erkennung durch bekannte Systempfade zu umgehen. Durch die Ausführung der Kopie enthält das Prozess-Erstellungs-Ereignis den erwarteten Bildnamen, jedoch einen Pfad, der in der „System32“-Einschlussprüfung fehlschlägt, wodurch selection_runtime.

Regressionstest-Skript

# -----------------------------------------------
# TC-20260114-A1B2C – Tarnungs-Simulation
# -----------------------------------------------

# 1. Definiere Pfade
$src  = "$env:SystemRootSystem32RuntimeBroker.exe"
$dest = "$env:TEMPRuntimeBroker.exe"

# 2. Kopiere die legitime Binärdatei in ein Nicht-Systemverzeichnis
Copy-Item -Path $src -Destination $dest -Force

# 3. Führe die kopierte Binärdatei aus (dies sollte die Sigma-Regel auslösen)
Start-Process -FilePath $dest -WindowStyle Hidden

# 4. OPTIONAL: Simuliere das msedge-Tarnungs-(Miner)-Szenario
#    (Kopiere eine beliebige harmlose ausführbare Datei, benenne sie in msedge.exe um und platziere sie unter %LOCALAPPDATA%MicrosoftWindowsApplications)
$minerSrc  = "$env:SystemRootSystem32notepad.exe"
$minerDest = "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe"
Copy-Item -Path $minerSrc -Destination $minerDest -Force
Start-Process -FilePath $minerDest -WindowStyle Hidden
# -----------------------------------------------

Bereinigungsbefehle

# Entferne die bösartigen Kopien
Remove-Item -Path "$env:TEMPRuntimeBroker.exe" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe" -Force -ErrorAction SilentlyContinue