Siamo di fronte all’ennesima vulnerabilità Ubiquiti, questa volta molto più cattiva delle precedenti. Probabilmente in questi giorni molti di voi si saranno accorti della scomparsa improvvisa di alcuni apparati Ubiquiti dalla propria rete o di comportamenti strani quali impossibilità di accesso all’apparato stesso via WEB, sembra che l’unico accesso che resta possibile sia via SSH se il servizio è stato attivato in precedenza sull’apparato.
Proprio dalla scorsa settimana è in giro sulla rete un’ attività virale che sfrutta un exploit web degli apparati Ubiquiti con firmware non aggiornato. Gli apparati che hanno pubblicate le porte 80 e 443, di seguito http ed https, sono quelli maggiormente a rischio, ma ATTENZIONE, anche gli apparati con subnet ip privata possono essere infettati, di seguito vi spieghiamo come agisce il virus.
Il codice maligno sembra essere appunto iniettato all’interno di un apparato con porte http ed https pubbliche tramite un exploit che non richiede quindi nessuna autenticazione per l’accesso al filesystem, dopo di chè, per le prime 18 ore circa, sembra addirittura essere in grado di effettuare un discovery dello stesso segmento di rete in cui si trova l’apparato e rilevare altri apparati Ubiquiti vulnerabili, per cui basta anche un apparato con le porte http o https forwardate da un singolo ip pubblico ed ecco che il virus riesce ad infettare anche gli apparati che si trovano su subnet non pubbliche!
Il virus ha quindi un tempo di azione programmato, inoltre se l’apparato infetto viene riavviato, sarà automaticamente resettato di default, pena la perdita della sua stessa raggiungibilità dalla rete. Dopo circa 27 ore dall’infezione l’apparato viene comunque resettato di default!
La rimozione di tale codice maligno e’ possibile eseguirla a mano, per i più esperti in shell linux, o tramite un tool che Ubiquiti ha rilasciato poche ore dopo l’allarme lanciato in tutto il mondo. Preferiamo spiegarli entrambi in quanto abbiamo notato che in alcuni casi il tool Ubiquiti tende a bloccarsi per SSH timeout durante la scansione di più ip address consecutivamente.
Metodo 1
Accedere all’apparato tramite SSH utilizzando ad esempio il semplice tool PUTTY, portarsi all’interno della cartella /etc/persistent/ digitando il comando: cd /etc/persistent, una volta dato l’invio digitate il seguente comando per vedere se l’apparato e’ infettato o meno: ls e date invio, se nella lista dei file trovate un file nominato mf.tar vuol dire che l’apparato e’ infetto. Quindi proseguite digitando i seguenti comandi uno alla volta per rimuovere il virus:
# rm -R mcuser # rm -R .mf # rm * # sed -n ‘/mother/!p’ /etc/passwd > /etc/passwd.new # mv /etc/passwd.new /etc/passwd # cfgmtd -w -p /etc/ # killall -9 search # killall -9 mother # killall -9 sleep # reboot
L’apparato, dopo l’ultimo comando, si riavvierà e tornerà raggiungibile via web, ma ATTENZIONE, avete poco tempo per accedere all’apparato e aggiornare il firmware ad una versione non vulnerabile, in fondo elencheremo le versioni senza exploit. Se avete invece bisogno di mantenere il vecchio firmware per qualche motivo, basta modificare le porte di accesso web ed ssh con porte non standard, quindi anzichè 80, 443 e 22 impostarle come ad esempio 10080, 10443, 10022, il virus non potrà più attaccare l’ apparato in quanto l’exploit è solo sulle porte standard.
Metodo 2
Come detto in precedenza Ubiquiti ha rilasciato un tool per la rimozione del codice maligno residente all’interno degli apparati infetti, questo tool è scritto in java per cui, per la sua corretta esecuzione, è necessario aver installato nel pc che utilizzerete per la pulizia, l’interprete java, scaricabile ed autoinstallante dal sito https://www.java.com/it/download/. Una volta installato l’interprete java proseguite quindi con il download del tool Ubiquiti CureMalware-0.8.jar tramite questo link: http://www.ubnt.com/downloads/XN-fw-internal/tool/CureMalware-0.8.jar. Scaricate il file sul vostro computer, aprite una console shell, se siete su sistemi Linux, o prompt ms-dos se siete su sistemi Windows, e portatevi all’interno della cartella dove avete salvato il file. Digitate quindi il comando:
java CureMalware-0.8.jar
e dopo l’invio il software si avvierà, basta seguire quanto chiede e procedere, principalmente il menu è composto da tre voci simili alle seguenti: Check, Check and Remove, Check Remove and Upgrade Firmware, poi chiederà la subnet da verificare per intero o i singoli ip, eventuale password SSH dell’apparato e procederà con quanto da voi scelto nel precedente menù.
In ogni caso, durante i lavori di pulizia, si può anche bloccare la raggiungibilità del sito downloads.openwrt.org dal firewall o dal gateway principale della rete in quanto il virus sembra necessiti di alcune librerie del linguaggio Curl per essere eseguito, librerie che se non sono già nell’apparato tenta di scaricare automaticamente.
Lista firmware non vulnerabili:
AirMAX M versione 5.6.2 o superiore
AirMAX AC versione 7.1.3 o superiore
ToughSwitch versione 1.3.2 o superiore
airGateway versione 1.1.5 o superiore
airFiber versione 2.2.1 o superiore
airFiber X versione 3.0.2.1 o superiore
Speriamo di poter essere di aiuto per chi è stato colpito da questo ennesimo bug.
Update 24/05/2016
ATTENZIONE!!! Abbiamo notato che alcune antenne Ubiquiti, in particolare quelle che si autoresettano o vengono spente e riaccese con il virus all’interno, si riavviano successivamente in modalità AP Bridge e con SSID impostato come motherfucker, ovviamente il virus è ancora attivo e pericoloso.
Update 06/06/2016
Aggiornati comandi manuali da lanciare per rimozione virus da shell SSH.