SOC Prime Bias: Kritisch

05 Jun 2026 15:40 UTC

C0XMO: Eine neue Gafgyt-Variante mit plattformübergreifender Verbreitung

Author Photo
SOC Prime Team linkedin icon Folgen
C0XMO: Eine neue Gafgyt-Variante mit plattformübergreifender Verbreitung
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

FortiGuard Labs hat einen neuen Gafgyt-Botnetz-Stamm namens C0XMO identifiziert, der sich durch Ausnutzung einer Pufferüberlauf-Schwachstelle in DD-WRT-Routern verbreitet, die als CVE-2021-27137verfolgt wird. Die Malware verwendet einen separaten Python-basierten Scanner, um Infektionen über verschiedene CPU-Architekturen hinweg zu verbreiten, und stützt sich zudem auf Angriffe mit schwachen Anmeldedaten, mehrere DDoS-Fähigkeiten und Routinen zur Entfernung konkurrierender Malware. Nach der Infektion stellt sie Persistenz durch versteckte Dateien, Cron-Jobs und Shell-Profil-Änderungen her, bevor sie Kontakt zu ihrem Kommando- und Kontrollserver aufnimmt. Der Bericht enthält auch Indikatoren und Verteidigungsleitfäden für Organisationen, die exponierte IoT-Geräte betreiben.

Untersuchung

Die Analyse zeigt, dass C0XMO CVE-2021-27137 im DD-WRT UPnP-Dienst missbraucht, um sich initialen Zugang zu verschaffen, und dann einen Python-Scanner von 217.160.125.125:15527abruft. Dieser Scanner führt Telnet- und SSH-Brute-Force-Versuche durch, startet mehrere HTTP-basierte Exploit-Anfragen und setzt architekturspezifische Binärdateien entsprechend der Zielumgebung ein. Die Persistenz wird durch versteckte Dateien in Verzeichnissen wie /tmp, /var/tmp, /dev/shmund Benutzer-Home-Verzeichnisse, zusammen mit Cron-Job-Einträgen und Shell-Profiländerungen aufrechterhalten. Die Malware kommuniziert dann mit ihrer C2-Infrastruktur unter 85.215.131.70 unter Verwendung einer benutzerdefinierten Handshake-Sequenz.

Abschwächung

Organisationen sollten die DD-WRT-Firmware auf eine Version neuer als das Änderungspaket 45723 aktualisieren und Patches für alle verwandten CVEs anwenden. Nicht benötigte Remote-Dienste wie UPnP, Telnet und SSH sollten auf Geräten mit Internetzugang nach Möglichkeit deaktiviert werden. Starke, eindeutige Anmeldedaten sollten bei allen Randgeräten durchgesetzt werden, und exponierte Dienste sollten regelmäßig überprüft werden. Netzwerkbasierte Erkennungsmechanismen sollten auch für die identifizierten IP-Adressen, Ports und schädlichen Aufrufmuster der Kampagne eingesetzt werden.

Reaktion

Verteidiger sollten ausgehenden Datenverkehr auf Verbindungen zur bekannten C2-Infrastruktur und dem Scanner-Download-Port überwachen. Warnungen sollten für versteckte Dateien mit dem Namen .sys, Cron-Änderungen, die alle 15 Minuten ausgeführt werden, und die Ausführung des Scannerskripts konfiguriert werden. Die identifizierten bösartigen IPs und Domains sollten an der Firewall blockiert werden, und kompromittierte Geräte sollten für forensische Untersuchungen und eine vollständige Bereinigung isoliert werden.

graph TB %% Class definitions classDef technique fill:#ffcc99 classDef action fill:#99ff99 classDef malware fill:#ff9999 classDef tool fill:#ccccff classDef process fill:#ffdd66 %% Nodes tech_scanning[„<b>Technik</b> – <b>T1595.002 Aktives Scannen</b><br/><b>Beschreibung</b>: Durchsucht IP-Adressbereiche nach offenen Ports und verwundbaren Diensten.“] class tech_scanning technique tech_exploit_upnp[„<b>Technik</b> – <b>T1546.017 Ereignisgesteuerte Ausführung: Udev-Regeln</b><br/><b>Beschreibung</b>: Löst Codeausführung über manipulierte UDP-M-SEARCH-Anfragen aus, die CVE-2021-27137 in UPnP ausnutzen.“] class tech_exploit_upnp technique tech_exploit_other[„<b>Technik</b> – <b>T1210 Ausnutzung von Remotediensten</b><br/><b>Beschreibung</b>: Nutzt zusätzliche HTTP-/UPnP-Schwachstellen wie CVE-2015-2051 und CVE-2022-35914 aus.“] class tech_exploit_other technique tech_hijack_exec[„<b>Technik</b> – <b>T1574.005 Ausführungsfluss-Hijacking: Schwachstelle bei Berechtigungen ausführbarer Installationsdateien</b><br/><b>Beschreibung</b>: Platziert bösartige ELF-Binärdateien an versteckten Orten mit Ausführungsrechten.“] class tech_hijack_exec technique tech_persistence_cron[„<b>Technik</b> – <b>T1053.003 Geplante Aufgabe/Job: Cron</b><br/><b>Beschreibung</b>: Erstellt einen Cron-Job, der die Nutzlast alle 15 Minuten ausführt.“] class tech_persistence_cron technique tech_shell_mod[„<b>Technik</b> – <b>T1546.004 Ereignisgesteuerte Ausführung: Änderung der Unix-Shell-Konfiguration</b><br/><b>Beschreibung</b>: Fügt Befehle zu ~/.bashrc, ~/.profile und ~/.bash_profile hinzu.“] class tech_shell_mod technique tech_compromise_binary[„<b>Technik</b> – <b>T1554 Kompromittierung von Host-Software-Binärdateien</b><br/><b>Beschreibung</b>: Installiert oder ersetzt Binärdateien an versteckten Orten, um die Kontrolle aufrechtzuerhalten.“] class tech_compromise_binary technique tech_bruteforce[„<b>Technik</b> – <b>T1110 Brute Force</b><br/><b>Beschreibung</b>: Führt Angriffe zum Erraten von Zugangsdaten gegen Telnet und SSH durch.“] class tech_bruteforce technique tech_forced_auth[„<b>Technik</b> – <b>T1187 Erzwungene Authentifizierung</b><br/><b>Beschreibung</b>: Nutzt Standard- oder schwache Zugangsdaten, um Zugriff zu erhalten.“] class tech_forced_auth technique tech_remote_ssh[„<b>Technik</b> – <b>T1021.004 Remotedienste: SSH</b><br/><b>Beschreibung</b>: Verwendet gestohlene Zugangsdaten, um sich über SSH/Telnet bei weiteren Geräten anzumelden.“] class tech_remote_ssh technique tech_indicator_removal[„<b>Technik</b> – <b>T1070.009 Indikatorentfernung: Persistenz löschen</b><br/><b>Beschreibung</b>: Beendet und entfernt konkurrierende Malware-Binärdateien und Persistenzmechanismen.“] class tech_indicator_removal technique tech_exclusive_control[„<b>Technik</b> – <b>T1668 Exklusive Kontrolle</b><br/><b>Beschreibung</b>: Entfernt Dateien und Cron-Jobs konkurrierender Botnetze, um die alleinige Kontrolle zu behalten.“] class tech_exclusive_control technique tech_nonstandard_port[„<b>Technik</b> – <b>T1571 Nichtstandard-Port</b><br/><b>Beschreibung</b>: Kommuniziert mit dem C2 über TCP-Port 15527 unter Verwendung eines benutzerdefinierten Protokolls.“] class tech_nonstandard_port technique malware_c0xmo[„<b>Malware</b> – C0XMO<br/><b>Rolle</b>: Botnet-Nutzlast, die Scans, Ausnutzung und Persistenz durchführt.“] class malware_c0xmo malware process_upnp_exploit[„<b>Prozess</b> – Versand einer manipulierten UDP-M-SEARCH-Anfrage“] class process_upnp_exploit process process_elf_deploy[„<b>Prozess</b> – Bereitstellung von ELF-Binärdateien in /tmp/.sys, /var/tmp/.sys, /dev/shm/.sys“] class process_elf_deploy process process_cron_setup[„<b>Prozess</b> – Schreiben eines Cron-Eintrags für alle 15 Minuten“] class process_cron_setup process process_shell_mod[„<b>Prozess</b> – Hinzufügen eines Nutzlast-Aufrufs zu Shell-RC-Dateien“] class process_shell_mod process process_brute[„<b>Prozess</b> – Scannen von IPs und Brute-Force-Angriffe gegen Telnet/SSH“] class process_brute process process_c2[„<b>Prozess</b> – Aufrechterhaltung des C2-Kanals auf Port 15527“] class process_c2 process %% Connections tech_scanning –>|führt_zu| tech_exploit_upnp tech_scanning –>|löst_auch_aus| tech_exploit_other tech_exploit_upnp –>|führt_aus| process_upnp_exploit process_upnp_exploit –>|legt_ab| malware_c0xmo malware_c0xmo –>|platziert| tech_hijack_exec tech_hijack_exec –>|führt_zu| process_elf_deploy process_elf_deploy –>|ermöglicht| tech_compromise_binary tech_compromise_binary –>|unterstützt| tech_persistence_cron tech_compromise_binary –>|unterstützt| tech_shell_mod tech_persistence_cron –>|erstellt| process_cron_setup tech_shell_mod –>|erstellt| process_shell_mod malware_c0xmo –>|führt_aus| tech_bruteforce malware_c0xmo –>|führt_aus| tech_forced_auth tech_bruteforce –>|ermöglicht| process_brute tech_forced_auth –>|ermöglicht| process_brute process_brute –>|erlangt_Anmeldedaten_für| tech_remote_ssh tech_remote_ssh –>|verbreitet_sich_auf_weitere_Hosts| malware_c0xmo malware_c0xmo –>|entfernt_Konkurrenz_mittels| tech_indicator_removal malware_c0xmo –>|sichert_exklusive_Kontrolle_mittels| tech_exclusive_control malware_c0xmo –>|kommuniziert_mit_C2_über| tech_nonstandard_port tech_nonstandard_port –>|verwendet| process_c2

Angriffsfluss

Simulation

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

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die zur Auslösung der Erkennungsregel entwickelt wurde. Die Befehle und Erzählungen MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu generieren, die von der Erkennungslogik erwartet wird.

  • Angriffserzählung & Befehle:
    Der Bot des Angreifers, der bereits auf dem kompromittierten Host über Diensteausführung (T1546.007) installiert ist, initiiert einen C2-Handshake mit dem fest kodierten Server 217.160.125.125 auf Port 15527. Die Verbindung nutzt einen einfachen TCP-Socket, um Befehle abzurufen, die exakt die Kriterien der Regel entsprechen. Diese Aktivität ist typisch für das „phone‑home“ Verhalten des C0XMO-Botnetzes.

  • Regressionstest-Skript:

    # C0XMO C2 Kommunikationssimulation – löst die Sigma-Regel aus
    $c2Ip = "217.160.125.125"
    $c2Port = 15527
    
    # Öffnen einer TCP-Verbindung, senden einer minimalen Nutzlast und schließen
    $client = New-Object System.Net.Sockets.TcpClient
    $client.Connect($c2Ip, $c2Port)
    
    $stream = $client.GetStream()
    $payload = [System.Text.Encoding]::ASCII.GetBytes("PING`n")
    $stream.Write($payload, 0, $payload.Length)
    
    # Kurz warten, um realistische Latenz zu simulieren
    Start-Sleep -Seconds 2
    
    $stream.Close()
    $client.Close()
  • Aufräumbefehle:

    # Es wurden keine dauerhaften Änderungen vorgenommen; sicherstellen, dass alle offenen Sockets geschlossen sind
    # (Das Skript schließt bereits den Socket; dies ist ein Sicherheitsnetz.)
    Get-Process -Name "powershell" | Where-Object { $_.MainWindowTitle -eq "" } | Stop-Process -Force