C0XMO: Una Nuova Variante di Gafgyt con Propagazione Cross-Platform
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.
Flusso di attacco
Rilevamenti
Possibile Utilizzo di Crontab per Esecuzione Diretta (tramite cmdline)
Visualizza
Caricamento/Scaricamento di File Remoti tramite Strumenti Standard (tramite cmdline)
Visualizza
File Nascosto Creato su Host Linux (tramite evento_file)
Visualizza
IOCs (HashSha256) per rilevare: All’interno della Propagazione Cross-Platform di una Nuova Variante Gafgyt C0XMO
Visualizza
IOCs (SourceIP) per rilevare: All’interno della Propagazione Cross-Platform di una Nuova Variante Gafgyt C0XMO
Visualizza
IOCs (DestinationIP) per rilevare: All’interno della Propagazione Cross-Platform di una Nuova Variante Gafgyt C0XMO
Visualizza
Rilevamento Comunicazione C2 Botnet C0XMO [Firewall]
Visualizza
Rilevamento del Download del Payload Variante Gafgyt C0XMO [Creazione Processo Linux]
Visualizza
Rilevamento delle Operazioni sui File Malware C0XMO [Evento File Linux]
Visualizza
C0XMO Processo Scanning e Verifica Persistenza [Creazione Processo Linux]
Visualizza
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