Purtroppo si sta diffondendo in fretta un virus che si auto-propaga sulle varie CPE Ubiquiti con firmware 5.5.x. Sfrutta una vulnerabilità che bypassa le credenziali di accesso. Una volta installato fa un discovery e prova a auto-propagarsi, infine resetta la CPE.

La discussione è sempre nel vivo e la potete seguire in questo URL  http://community.ubnt.com/t5/airMAX-General-Discussion/Virus-attack-URGENT-UBNT/td-p/1562940/highlight/false

Ad ora Ubiquiti si è solo pronunciata dicendo di aggiornare il firmware alla versione 5.6.4, di controllare che non ci siano custom script e resettare la password.

L’unico tallone di achille è che il virus ha bisogno di scaricare il CURL per fare richieste alle altre CPE, e lo va a cercare nell’host downloads.openwrt.org (che consiglio vivamente di bloccare)

Ecco lo script (che spero di tenere aggiornato visto che è stato realizzato dalla community) per “disinfettare” una CPE con il virus

cd /etc/persistent
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

Scrivo questa guida perchè non ci sono molte informazioni online e potrebbe far comodo.

Per prima cosa occorre fermare il server unifi-video con il comando

service unifi-video stop

Poi occorre creare un certificato in formato pfx.

Se non lo avete, ma possedete i classici server.key, server.crt e ca_intermediate.crt dovrete eseguire il seguente comando:

openssl pkcs12 -export -in server.crt -inkey server.key -certfile ca_intermediate.crt -out /var/lib/unifi-video/server.pfx -name “airvision”

ATTENZIONE ! vi verrà richiesto di mettere una password, inserite ubiquiti

Altrimenti se possedete già un pfx, occorre mettere la password del certificato ubiquiti e trovare l’alias con il comando

keytool -list -keystore server.pfx -storetype pkcs12

verrà un output del genere:

Tipo keystore: PKCS12
Provider keystore: SunJSSE

Il keystore contiene 1 voce

1, 5-mag-2015, PrivateKeyEntry,
Impronta digitale certificato (SHA1): BB:76:85:60:DC:AE:FF:FF:GG:HH:UU:EE:FB:78:74:85:11:FF:FB:15

il nome dell’alias è quello evidenziato in rosso

ora andiamo nella cartella /var/lib/unifi-video e digitiamo

keytool -delete -keystore keystore -storepass ubiquiti -alias airvision

e poi

keytool -importkeystore -srcstoretype pkcs12 -srcalias airvision -srckeystore server.pfx -keystore keystore -destalias airvision

ATTENZIONE ! vi verrà richiesto di mettere una password, inserite ubiquiti
e se possedete un vostro pfx mettete al posto di airvision il nome/numero che avete trovato con il comando keytool -list

se andato tutto a buon fine andiamo ad editare il file /usr/lib/unifi-video/conf/server.xml e cambiamo le righe

keystoreFile=”${app.keystore.file}”
keystorePass=”${app.keystore.pass}”

in

keystoreFile=”/var/lib/unifi-video/keystore”
keystorePass=”ubiquiti”
keyAlias=”airvision”

ora riavviamo il nostro server unifi-video con il comando

service unifi-video start

il gioco è fatto !

Se dovete aggiornare il firmware di un’antenna Ubiquiti e non avete accesso tramite il pannello http/https potete farlo tramite SSH.

Per prima cosa scaricate il firmware dal sito dell’Ubiquiti ( http://www.ubnt.com ).

Rinominatelo in fwupdate.bin

trasferite il file bin nell’antenna

da linux:

scp fwupdate.bin ubnt@ip_antenna:/tmp/fwupdate.bin

da windows:

pscp -scp fwupdate.bin ubnt@192.168.1.20:/tmp/fwupdate.bin

Aprite una sessione SSH nell’antenna ed eseguite questo comando:

/sbin/fwupdate -m

Se è tutto ok, apparirà il seguente messaggio  “/sbin/fwupdate: About to run firmware update” e l’antenna si riavvierà