SOC Prime Bias: Critico

05 Jun 2026 15:40 UTC

C0XMO: Una Nuova Variante di Gafgyt con Propagazione Cross-Platform

Author Photo
SOC Prime Team linkedin icon Segui
C0XMO: Una Nuova Variante di Gafgyt con Propagazione Cross-Platform
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

FortiGuard Labs ha identificato un nuovo ceppo di botnet Gafgyt chiamato C0XMO che si propaga sfruttando un difetto di overflow del buffer nei router DD-WRT tracciato come CVE-2021-27137. Il malware utilizza uno scanner separato basato su Python per ampliare le infezioni su diverse architetture CPU, facendo anche affidamento su attacchi a credenziali deboli, diverse capacità di DDoS e routine per rimuovere malware concorrenti. Dopo l’infezione, stabilisce la persistenza tramite file nascosti, cron job e modifiche al profilo shell prima di contattare il suo server di comando e controllo. Il rapporto include anche indicatori e linee guida difensive per le organizzazioni che operano dispositivi IoT esposti.

Indagine

L’analisi mostra che C0XMO abusa CVE-2021-27137 nel servizio UPnP di DD-WRT per ottenere l’accesso iniziale, quindi recupera uno scanner Python da 217.160.125.125:15527. Quello scanner effettua tentativi di brute-force su Telnet e SSH, lancia diverse richieste di exploit basate su HTTP e distribuisce binari specifici per architettura a seconda dell’ambiente target. La persistenza è mantenuta tramite file nascosti posti in posizioni come /tmp, /var/tmp, /dev/shm, e directory home utente, insieme a voci di cron-job e modifiche al profilo shell. Il malware poi comunica con la sua infrastruttura C2 a 85.215.131.70 usando una sequenza di stretta di mano personalizzata.

Mitigazione

Le organizzazioni dovrebbero aggiornare il firmware DD-WRT a una release successiva al changeset 45723 e applicare correzioni per tutte le CVE correlate. I servizi remoti non necessari come UPnP, Telnet e SSH dovrebbero essere disattivati sui dispositivi esposti a internet ogni volta che è possibile. Dovrebbero essere imposti credenziali forti e uniche su tutti i dispositivi di frontiera, e i servizi esposti dovrebbero essere regolarmente rivisti. Dovrebbero essere inoltre distribuite rilevazioni a livello di rete per gli indirizzi IP, porte e comandi malevoli identificati associati con la campagna.

Risposta

I difensori dovrebbero monitorare il traffico in uscita per connessioni all’infrastruttura C2 conosciuta e alla porta di download dello scanner. Dovrebbero essere configurati allerta per file nascosti denominati .sys, cambiamenti di cron che si eseguono ogni 15 minuti, e l’esecuzione dello script dello scanner. Gli IP e domini malevoli identificati dovrebbero essere bloccati al firewall e qualsiasi dispositivo compromesso dovrebbe essere isolato per la revisione forense e una pulizia completa.

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>Tecnica</b> – <b>T1595.002 Scansione Attiva</b><br/><b>Descrizione</b>: Analizza intervalli di indirizzi IP alla ricerca di porte aperte e servizi vulnerabili.”] class tech_scanning technique tech_exploit_upnp[“<b>Tecnica</b> – <b>T1546.017 Esecuzione Attivata da Evento: Regole Udev</b><br/><b>Descrizione</b>: Attiva l’esecuzione di codice tramite richieste UDP M-SEARCH appositamente create che sfruttano la CVE-2021-27137 in UPnP.”] class tech_exploit_upnp technique tech_exploit_other[“<b>Tecnica</b> – <b>T1210 Sfruttamento di Servizi Remoti</b><br/><b>Descrizione</b>: Sfrutta ulteriori vulnerabilità HTTP/UPnP come CVE-2015-2051 e CVE-2022-35914.”] class tech_exploit_other technique tech_hijack_exec[“<b>Tecnica</b> – <b>T1574.005 Dirottamento del Flusso di Esecuzione: Debolezza dei Permessi dei File di Installazione Eseguibili</b><br/><b>Descrizione</b>: Posiziona binari ELF dannosi in percorsi nascosti con permessi di esecuzione.”] class tech_hijack_exec technique tech_persistence_cron[“<b>Tecnica</b> – <b>T1053.003 Attività/Processo Pianificato: Cron</b><br/><b>Descrizione</b>: Crea un processo cron per eseguire il payload ogni 15 minuti.”] class tech_persistence_cron technique tech_shell_mod[“<b>Tecnica</b> – <b>T1546.004 Esecuzione Attivata da Evento: Modifica della Configurazione della Shell Unix</b><br/><b>Descrizione</b>: Aggiunge comandi a ~/.bashrc, ~/.profile e ~/.bash_profile.”] class tech_shell_mod technique tech_compromise_binary[“<b>Tecnica</b> – <b>T1554 Compromissione del Binario Software dell’Host</b><br/><b>Descrizione</b>: Installa o sostituisce binari in percorsi nascosti per mantenere il controllo.”] class tech_compromise_binary technique tech_bruteforce[“<b>Tecnica</b> – <b>T1110 Forza Bruta</b><br/><b>Descrizione</b>: Esegue attacchi di individuazione delle credenziali contro Telnet e SSH.”] class tech_bruteforce technique tech_forced_auth[“<b>Tecnica</b> – <b>T1187 Autenticazione Forzata</b><br/><b>Descrizione</b>: Sfrutta credenziali predefinite o deboli per ottenere accesso.”] class tech_forced_auth technique tech_remote_ssh[“<b>Tecnica</b> – <b>T1021.004 Servizi Remoti: SSH</b><br/><b>Descrizione</b>: Utilizza credenziali rubate per accedere ad altri dispositivi tramite SSH/Telnet.”] class tech_remote_ssh technique tech_indicator_removal[“<b>Tecnica</b> – <b>T1070.009 Rimozione degli Indicatori: Eliminazione della Persistenza</b><br/><b>Descrizione</b>: Termina ed elimina binari malware concorrenti e meccanismi di persistenza.”] class tech_indicator_removal technique tech_exclusive_control[“<b>Tecnica</b> – <b>T1668 Controllo Esclusivo</b><br/><b>Descrizione</b>: Rimuove file e processi cron di botnet rivali per mantenere il controllo esclusivo.”] class tech_exclusive_control technique tech_nonstandard_port[“<b>Tecnica</b> – <b>T1571 Porta Non Standard</b><br/><b>Descrizione</b>: Comunica con il C2 tramite la porta TCP 15527 utilizzando un protocollo personalizzato.”] class tech_nonstandard_port technique malware_c0xmo[“<b>Malware</b> – C0XMO<br/><b>Ruolo</b>: Payload botnet che esegue scansione, sfruttamento e persistenza.”] class malware_c0xmo malware process_upnp_exploit[“<b>Processo</b> – Invio di una richiesta UDP M-SEARCH appositamente creata”] class process_upnp_exploit process process_elf_deploy[“<b>Processo</b> – Distribuzione di binari ELF in /tmp/.sys, /var/tmp/.sys, /dev/shm/.sys”] class process_elf_deploy process process_cron_setup[“<b>Processo</b> – Scrittura di una voce cron ogni 15 minuti”] class process_cron_setup process process_shell_mod[“<b>Processo</b> – Aggiunta della chiamata al payload nei file rc della shell”] class process_shell_mod process process_brute[“<b>Processo</b> – Scansione di IP ed esecuzione di attacchi a forza bruta contro Telnet/SSH”] class process_brute process process_c2[“<b>Processo</b> – Mantenimento del canale C2 sulla porta 15527”] class process_c2 process %% Connections tech_scanning –>|porta_a| tech_exploit_upnp tech_scanning –>|attiva_anche| tech_exploit_other tech_exploit_upnp –>|esegue| process_upnp_exploit process_upnp_exploit –>|distribuisce| malware_c0xmo malware_c0xmo –>|posiziona| tech_hijack_exec tech_hijack_exec –>|si_traduce_in| process_elf_deploy process_elf_deploy –>|abilita| tech_compromise_binary tech_compromise_binary –>|supporta| tech_persistence_cron tech_compromise_binary –>|supporta| tech_shell_mod tech_persistence_cron –>|crea| process_cron_setup tech_shell_mod –>|crea| process_shell_mod malware_c0xmo –>|esegue| tech_bruteforce malware_c0xmo –>|esegue| tech_forced_auth tech_bruteforce –>|abilita| process_brute tech_forced_auth –>|abilita| process_brute process_brute –>|ottiene_credenziali_per| tech_remote_ssh tech_remote_ssh –>|si_propaga_ad_altri_host| malware_c0xmo malware_c0xmo –>|rimuove_la_concorrenza_tramite| tech_indicator_removal malware_c0xmo –>|mantiene_il_controllo_esclusivo_tramite| tech_exclusive_control malware_c0xmo –>|comunica_con_il_C2_tramite| tech_nonstandard_port tech_nonstandard_port –>|utilizza| process_c2

Flusso di attacco

Esecuzione della Simulazione

Prerequisito: Il Controllo Pre‑volo di Telemetria e Baseline deve essere passato.

Motivazione: Questa sezione dettaglia l’esatta esecuzione della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirano a generare la telemetria esatta attesa dalla logica di rilevamento.

  • Narrativa e Comandi dell’Attacco:
    Il bot dell’avversario, già installato sull’host compromesso tramite esecuzione del servizio (T1546.007), inizia una stretta di mano C2 con il server codificato in hard 217.160.125.125 sulla porta 15527. La connessione utilizza un socket TCP normale per estrarre comandi, corrispondendo esattamente ai criteri della regola. Questa attività è tipica del comportamento di “richiamo” della botnet C0XMO.

  • Script di Test di Regressione:

    # Simulazione di comunicazione C2 C0XMO – attiva la regola Sigma
    $c2Ip = "217.160.125.125"
    $c2Port = 15527
    
    # Apri una connessione TCP, invia un payload minimo, quindi chiudi
    $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)
    
    # Attendi brevemente per simulare la latenza realistica
    Start-Sleep -Seconds 2
    
    $stream.Close()
    $client.Close()
  • Comandi di Pulizia:

    # Non sono state apportate modifiche persistenti; assicurarsi solo che eventuali socket aperti siano chiusi
    # (Lo script chiude già il socket; questo è una rete di sicurezza.)
    Get-Process -Name "powershell" | Where-Object { $_.MainWindowTitle -eq "" } | Stop-Process -Force