UAT-10608 Offenbart: Automatisierter Diebstahl von Anmeldedaten in großem Umfang gegen Webanwendungen
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Cisco Talos meldet einen groß angelegten Betrieb, der die React2Shell-Schwachstelle in Next.js-Anwendungen ausnutzt, um massenhaft Anmeldedaten zu stehlen. Die Angreifer verwenden ein speziell entwickeltes Framework namens NEXUS Listener, um hochwertige Geheimnisse von kompromittierten Hosts zu extrahieren, einschließlich Umgebungsvariablen, SSH-Schlüssel, Cloud- und Kubernetes-Token sowie API-Anmeldedaten. Talos beobachtete mehr als 766 betroffene Systeme in mehreren Regionen und bei Cloud-Anbietern. Gestohlene Daten werden über HTTP-Rückrufe zu einem zentralisierten C2-Endpunkt gesendet.
Untersuchung
Talos analysierte Payloads, die über CVE-2025-55182 geliefert wurden und ein zufällig benanntes Shell-Skript in /tmp ablegen und es mithilfe von nohup für eine persistenzartige Kontinuität ausführen. Das Skript führt gestufte Sammlungsmodule aus, die Umgebungsgeheimnisse, SSH-Material, Cloud-Metadaten, Kubernetes-Token, Docker-Details und Befehlsverlauf abdecken. Ergebnisse werden über Port 8080 an den NEXUS Listener-Dienst zurückgesendet. Ermittler überprüften die NEXUS Listener-Web-UI, die Backend-Datenspeicherung und die zugehörige Netzwerk-Telemetrie, um die Anmeldedatentypen und das Ausmaß der Sammlung zu validieren.
Abschwächung
Betroffene Next.js Bereitstellungen patchen, um die React2Shell-Exposition zu beheben. Erzwinge IMDSv2 an Cloud-Metadatenendpunkten, rotiere alle potenziell exponierten Geheimnisse sofort, und trenne die Verwendung von SSH-Schlüsseln nach Umgebung und Rolle. Füge RASP-Kontrollen oder WAF-Regeln hinzu, die auf SSR-Injektionsversuche abzielen. Cloud-Teams sollten das Abscannen von Geheimnissen aktivieren, die Rollenberechtigungen von Instanzen minimieren und die serversseitige Konfiguration überprüfen, um versehentliche Enthüllungen sensibler Umgebungsvariablen zu verhindern.
Reaktion
Warne bei unerwarteten mit nohup gestarteten Skripten, die von /tmp ausgeführt werden, insbesondere bei punkt-präfixierten oder zufällig benannten Dateien, und überwache ausgehenden HTTP-Datenverkehr zu unbekannten Zielen auf Port 8080. Blockiere Exfiltrations-URLs, die bekannten NEXUS Listener-Rückrufmustern entsprechen. Isoliere betroffene Hosts, widerrufe kompromittierte Schlüssel/Token und führe eine forensische Überprüfung durch, um zu verstehen, welche Daten gesammelt wurden und wie sie verwendet wurden. Setze IDS-Erkennungen für React2Shell-Ausnutzung ein und verschärfe den am wenigsten privilegierten Zugang zu Metadaten und Geheimspeichern.
"graph TB %% Klassendefinitionen classDef technique fill:#ffcc99 classDef tool fill:#99ccff classDef malware fill:#ccffcc %% Knotendefinitionen tech_initial_access["<b>Technik</b> – <b>T1189 Driveu2011by Kompromittierung</b><br/><b>Beschreibung</b>: Angreifer erhalten initialen Zugang, indem sie eine Sicherheitslücke auf einer öffentlich zugänglichen Website ausnutzen und Code auf dem Opfersystem ausführen."] class tech_initial_access technique tool_react2shell["<b>Werkzeug</b> – <b>Name</b>: React2Shell (CVEu20112025u201155182)<br/><b>Beschreibung</b>: Präauthentifizierte Remote-Code-Ausführungs-Sicherheitslücke in Next.js-Anwendungen."] class tool_react2shell tool tech_exploit_client["<b>Technik</b> – <b>T1203 Ausnutzung zur Klientausschluss</b><br/><b>Beschreibung</b>: Ausnutzt Software-Schwachstellen, um Code auf einem Zielsystem auszuführen."] class tech_exploit_client technique tech_script_proxy["<b>Technik</b> – <b>T1216 Systemskript Proxy-Ausführung</b><br/><b>Beschreibung</b>: Verwendet Systemskripte, um die Ausführung von Schadcode zu proxyen."] class tech_script_proxy technique malware_loader["<b>Malware</b> – <b>Name</b>: Loader-Skript<br/><b>Beschreibung</b>: Kleines Shell-Skript mit einer zufälligen Namensgebung in /tmp abgelegt und mit nohup gestartet."] class malware_loader malware tech_hide_artifacts["<b>Technik</b> – <b>T1564.011 Artefakte verstecken: Prozessunterbrechungen ignorieren</b><br/><b>Beschreibung</b>: Führt bösartige Prozesse im Hintergrund aus, um Erkennung zu vermeiden."] class tech_hide_artifacts technique tech_network_logon["<b>Technik</b> – <b>T1037.003 Netzwerk-Logonskript</b><br/><b>Beschreibung</b>: Konfiguriert ein Logonskript, das bei jedem Netzwerkeinloggen eines Benutzers ausgeführt wird."] class tech_network_logon technique tech_private_keys["<b>Technik</b> – <b>T1552.004 Private Schlüssel</b><br/><b>Beschreibung</b>: Sucht und extrahiert private SSH-Schlüssel aus dem Dateisystem."] class tech_private_keys technique tech_credentials_files["<b>Technik</b> – <b>T1552.001 Anmeldedaten in Dateien</b><br/><b>Beschreibung</b>: Sammelt in Dateien gespeicherte Anmeldedaten wie .env, authorized_keys, Docker-Konfigurationen usw."] class tech_credentials_files technique tech_cloud_metadata["<b>Technik</b> – <b>T1552.005 Cloud-Instanz-Metadaten-API</b><br/><b>Beschreibung</b>: Fragt Metadaten-Dienste von Cloud-Anbietern ab, um temporäre IAM-Anmeldedaten zu erhalten."] class tech_cloud_metadata technique tech_container_api["<b>Technik</b> – <b>T1552.007 Container-API</b><br/><b>Beschreibung</b>: Greift auf Kubernetes-Service-Account-Token aus dem Pod-Dateisystem zu."] class tech_container_api technique tech_remote_staging["<b>Technik</b> – <b>T1074.002 Remote-Daten-Staging</b><br/><b>Beschreibung</b>: Inszeniert gesammelte Daten lokal, bevor sie entgeführt werden."] class tech_remote_staging technique tech_automated_exfil["<b>Technik</b> – <b>T1020 Automatisierte Exfiltration</b><br/><b>Beschreibung</b>: Automatisiert die Datenexfiltration durch geskriptete Prozesse."] class tech_automated_exfil technique tech_web_service["<b>Technik</b> – <b>T1102 Webdienst</b><br/><b>Beschreibung</b>: Nutzt legitime Webdienste für die Kommunikationssteuerung."] class tech_web_service technique tech_dead_drop["<b>Technik</b> – <b>T1102.001 Dead Drop Resolver</b><br/><b>Beschreibung</b>: Speichert entführte Daten in einem Webdienst, der als Dead-Drop-Standort fungiert."] class tech_dead_drop technique tech_ssh["<b>Technik</b> – <b>T1021.004 SSH</b><br/><b>Beschreibung</b>: Verwendet SSH für laterale Bewegungen von Remote-Diensten."] class tech_ssh technique tech_ssh_hijack["<b>Technik</b> – <b>T1563.001 SSH Hijacking</b><br/><b>Beschreibung</b>: Verwendet geerntete private Schlüssel, um vorhandene SSH-Sitzungen zu entführen."] class tech_ssh_hijack technique tool_nexus["<b>Werkzeug</b> – <b>Name</b>: NEXUS Listener<br/><b>Beschreibung</b>: Web-basierte GUI, die geerntete Daten empfängt und sie den Betreibern anzeigt."] class tool_nexus tool %% Verbindungen tech_initial_access –>|verwendet| tool_react2shell tool_react2shell –>|löst aus| tech_exploit_client tech_exploit_client –>|ermöglicht| tech_script_proxy tech_script_proxy –>|startet| malware_loader malware_loader –>|wendet an| tech_hide_artifacts malware_loader –>|richtet ein| tech_network_logon malware_loader –>|sammelt| tech_private_keys malware_loader –>|sammelt| tech_credentials_files malware_loader –>|fragt ab| tech_cloud_metadata malware_loader –>|greift zu| tech_container_api malware_loader –>|inszeniert| tech_remote_staging tech_remote_staging –>|exfiltriert über| tech_automated_exfil tech_automated_exfil –>|verwendet| tech_web_service tech_automated_exfil –>|verwendet| tech_dead_drop tech_web_service –>|bietet C2 an| tool_nexus tool_nexus –>|ermöglicht| tech_ssh tech_ssh –>|erweitert durch| tech_ssh_hijack tech_ssh_hijack –>|verwendet erneut| tech_private_keys "
Angriffsablauf
Erkennungen
Versteckte Datei wurde auf Linux-Host erstellt (über file_event)
Ansicht
Verwendung von Nohup (über cmdline)
Ansicht
Linux-Skript wurde in temporären Ordnern erstellt (über file_event)
Ansicht
IOCs (Ziel-IP) zum Erkennen: UAT-10608: Innerhalb einer groß angelegten automatisierten Anmeldedaten-Ernteoperation, die auf Webanwendungen abzielt
Ansicht
IOCs (Quell-IP) zum Erkennen: UAT-10608: Innerhalb einer groß angelegten automatisierten Anmeldedaten-Ernteoperation, die auf Webanwendungen abzielt
Ansicht
Automatisierte Anmeldedaten-Ernte-Skript-Ausführung [Linux-Prozesserstellung]
Ansicht
Simulationsdurchführung
Voraussetzung: Der Telemetrie- & Baseline-Vorprüfungstest muss bestanden worden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und die Darstellung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennung erwartet wird.
-
Angriffserzählung & Befehle:
Ein Angreifer hat eine Kopie eines Anmeldedaten-Ernte-Skriptes (.eba9ee1e4.sh) erhalten, das versucht,/etc/passwdzu lesen, nach SSH-Schlüsseln zu suchen und Angriffe mit brutaler Gewalt gegen eine Ziel-Webanwendung durchzuführen. Um das Skript nach Beendigung der SSH-Sitzung weiterlaufen zu lassen und um einer interaktiven Überwachung auszuweichen, lädt der Angreifer das Skript auf/tmp/.eba9ee1e4.shhoch und startet es mitnohup sh. Da die Erkennungsregel darauf abzielt, die wörtliche Befehlszeilenohup sh /tmp/.eba9ee1e4.shzu erkennen, wird diese genaue Ausführung die erwartete Telemetrie erzeugen. -
Regressionstest-Skript:
#!/bin/bash # ------------------------------------------------------------- # Regressionsskript zur Auslösung der Sigma-Regel: # Erkennung von `nohup sh /tmp/.eba9ee1e4.sh` # ------------------------------------------------------------- # 1. Das bösartig aussehende Skript ablegen (harmloser Inhalt zum Testen) cat < /tmp/.eba9ee1e4.sh #!/bin/bash echo "Simulierte Anmeldedaten-Ernte – keine echte Aktivität" EOF chmod +x /tmp/.eba9ee1e4.sh # 2. Das Skript mit nohup im Hintergrund ausführen (genaue Befehlszeile) nohup sh /tmp/.eba9ee1e4.sh >/dev/null 2>&1 & echo "Simulation gestartet – überprüfen Sie das SIEM auf Erkennung." -
Aufräumbefehle:
# Beende alle laufenden Hintergrundinstanzen des Testskripts pkill -f "/tmp/.eba9ee1e4.sh" || true # Entferne das Testskript rm -f /tmp/.eba9ee1e4.sh echo "Aufräumen abgeschlossen."