Durante las últimas horas hemos sido testigos de ataques masivos a equipos del fabricante ubiquiti. Sabemos con certeza que han sido muchos los WISP españoles que han visto buena parte de sus redes caer ante esta vulnerabilidad, así como otros operadores a nivel mundial.
Básicamente este problema se conocía desde hacía más de un año: las versiones anteriores a AirOs 5.6.1 y los legacy 4.0.3 sufrían de una vulnerabilidad que permitía al atacante acceder al equipo sin necesidad de usuario y contraseña. Esta grave vulnerabilidad se corrigió en la versión siguiente (5.6.2) quedando solventado el problema en esa y posteriores versiones. Los equipos Legacy con versión 4.0.4 están seguras también.
Este virus explota una vulnerabilidad de PHP, instalándose en el sistema y descargando un ejecutable de CURL desde downloads.openwrt.org. A partir de ahí se crea un archivo mf.tar en /etc/persistent y un script de arranque en rc.poststart. El virus escanea IPs (no usa UBNT Discover como alguien ha dicho) para localizar otras víctimas que infectar y no actúa hasta pasadas unas 18H, momento en el cual resetea los equipos a valores de fábrica, por lo que el equipo se desconecta de la red y se pierde acceso a él, siendo necesario configurarlo nuevamente desde cero.
Lamentablemente, ya sea por exceso de confianza o falta de conocimiento, son muchos los WISP que dejaban los puertos de administración expuestos al exterior de sus redes, lo que sumado a mantener los puertos de gestión de los CPE por defecto, ha propiciado esta infección masiva y automatizada por todo el mundo, algo que podría haberse evitado con unas simples reglas de firewall y, por supuesto, manteniendo los equipos actualizados.
En cualquier caso el daño está hecho y llega el momento de repararlos: para comprobar si estás infectado y recuperar el equipo, primero que nada recomendamos la lectura completa de este hilo en el foro de Ubiquiti http://community.ubnt.com/t5/airMAX-General-Discussion/Virus-attack-URGENT-UBNT/td-p/1562940 donde hay varias soluciones disponibles.
Un equipo formado por Pedro Gracia (Impulzia), Franscisco Hidalgo (IB-Red) y Víctor De La Nuez (WiFi Canarias) hemos modificado el script creado por diegocanton (https://github.com/diegocanton/remove_ubnt_mf/) y creado una versión paralelizada capaz de escanear una red /24 en unos pocos segundos.
Nuestra recomendación:
· Ejecutar el script para detectar la presencia del virus. Limpiar si procede.
· Inmediatamente tras la desinfección, actualizar a la última versión (en este momento es la 5.6.4).
· Cambiar los puertos de gestión por defecto.
· Impedir el acceso a estos puertos desde internet.
Evidentemente hay margen para mejora del script pero, para este momento de urgencia, creemos que a muchos les puede salvar la vida.
Este script viene sin garantía de ningún tipo, no somos responsable del mal uso de este ni se ofrece soporte alguno.
También podéis borrar a mano el virus de esta forma:
cd /etc/persistent/
rm mf.tar
rm rc.poststart
rm -R .mf
cfgmtd -p /etc/persistent/ -w
reboot
¡IMPORTANTE ACTUALIZAR TRAS LA LIMPIEZA!
DESCARGA v1.0
ACTUALIZACIÓN 15 May @ 19:38
Mi buen amigo Juan Miguel Gallardo de Codisa Ingenieros, me pasa una modificación que de una sola pasada es capaz de detectar y limpiar.
ACTUALIZACIÓN 15 May 20:21
Nuevo firmware oficial 5.6.5 de Ubiquiti con los siguientes cambios:
– New: Disable custom scripts usage
– New: Enable syslog by default
– Fix: Security updates (malware scripts check and removal)
http://www.ubnt.com/downloads/XN-fw-internal/v5.6.
http://www.ubnt.com/downloads/XN-fw-internal/v5.6.
http://www.ubnt.com/downloads/XN-fw-internal/v5.6.
Para usuarios que necesiten la versión que corrige el problema de acople con Verizon en placas XM:
http://www.ubnt.com/downloads/XN-fw-internal/v5.6.