domingo, 9 de febrero de 2014

airocon.nse - Exploit para el backdoor del Portaretratos

Fin de semana de nuevo, recién puedo volver a postear.

Nunca imaginé que el backdoor en El Portaretratos (ZTE ZXV10 W300 v2.1) fuera a tener tal repercusión al punto de provocar una respuesta de "La Innombrable" (aunque bastante caleta y para nada oficial) aceptando el fallo y tratando de minimizar el hecho sugiriendo disimuladamente que solo afecta a quienes hayan adquirido el router por "canales diferentes a la empresa" (osea Paruro, La Cachina, Las Malvinas, Mercado Libre, etc.) Eso es falso. El router con el que hice las pruebas fue el que tenía en casa, antes que me trajeran el Nucom, y es igualmente vulnerable. También dicen que afecta a "un porcentaje mínimo de su planta de módems". Eso es relativo ¿Cuánto es un porcentaje mínimo? Teniendo en cuenta que son de lejos el principal ISP del país (por razones que no viene al caso mencionar) un "porcentaje mínimo" puede traducirse a un número no tan despreciable. Según el último escaneo que realicé (el mismo día que lanzaron el comunicado) habían más de 29000 de estos equipos en el rango de direcciones IP de Perú. Quizá para ellos eso sea solo un porcentaje mínimo, no sé cuantos clientes tenga La Innombrable, pero son más 29000 familias peruanas que podrían ser víctimas de estafas por Internet (como phishing bancario por ejemplo).

Fig. 1 - Comunicado de La Innombrable.

Sobre este backdoor se ha dicho también que podría haber sido puesto a propósito para fines de espionaje por parte del ISP, del fabricante o del gobierno. Al respecto debo discrepar, aunque técnicamente el espionaje es posible. El mismo backdoor también se encuentra en el modelo "ADE 3400" del fabricante "Planet Networking & Comunications" pues usa el mismo firmware que El Portaretratos. Sin embargo, Planet no tiene presencia en Perú pero sí en otros países y con diferentes ISP. De alguna forma Planet y ZTE terminaron usando el mismo firmware para sus productos, habría que preguntarse ¿Quién fué realmente el que desarrolló el firmware y puso el backdoor allí? En cualquier caso no me parece un backdoor hecho ad hoc para Perú. Sin embargo, El Portaretratos no es el único router con puertas traseras que distribuye La Innombrable y eso deja mucho que pensar.

Quiero compartir con ustedes un script NSE para Nmap que identifica los routers vulnerables y explota el backdoor para obtener las credenciales de acceso. Comparto esto con el objetivo de facilitar las herramientas necesarias para la detección del fallo. No me responsabilizo por el mal uso que se le pueda dar a esta herramienta. Cada quien es responsable por sus propios actos.

Exploit: https://github.com/alguien-gh/scripts/blob/master/exploits/nse/airocon.nse

Modo de uso:
  • Guardar el archivo "airocon.nse" en el directorio de scripts de NMAP (En Linux: /usr/share/nmap/scripts)
  • Ejecutar como root: nmap --script=airocon -sS -sU -p U:161,T:23 DIRECCION_IP
Donde "DIRECCION_IP" es la IP publica del router o un rango de direcciones IP públicas.

Fig. 2 - airocon.nse: Ejemplo de uso.

Debo agradecer a todos los que compartieron, retwittearon, comentaron, opinaron, y en resumen no dejaron caer este hallazgo en saco roto. Gracias por no quedarse callados. La Innombrable prefiere el silencio y la oscuridad, son más baratos. Un agradecimiento especial a @SeguridadBlanca y @miguelguerrape que hicieron eco de la noticia en sus blogs (El Cerebro de Dedalo y Paranoia Hack) multiplicando por mil o más el alcance que pudo haber tenido.

Un saludo.

8 comentarios:

  1. Excelente, tendrás alguna guía del manejo de ese router por telnet cambiar dns, quiero hacer pharming para robar cuentas bancarias, es broma XD

    ResponderEliminar
  2. Pídesela a soporte de la innombrable que seguro la tienen... les comentas tus buenas intenciones y les mandas un saludo de mi parte también xD

    ResponderEliminar
  3. Man que versión de nmap usas? yo estoy usando la 5.51 y me bota un error al momento de ejecutar el script relacionado con las librerias de nse.

    ResponderEliminar
  4. Sí, a mi también me pasó lo mismo. Es un problema de versiones. Usa la última versión (6.40). Lo mejor es descargarte los fuentes de la web y compilar.

    http://nmap.org/dist/nmap-6.40.tgz

    Un saludo.

    ResponderEliminar
  5. Muy interesante tu post.

    Podrias decirme que distribucion de linux usas?

    ResponderEliminar
  6. Hola Daniel, uso Fedora 20.

    Un saludo.

    ResponderEliminar
  7. Amigo que programa usaste para realizar el escaneo de las ips que poseian los portaretratos?

    ResponderEliminar
  8. Hola Mauricio, usé Zmap (https://zmap.io/) desde un VPS escaneando el puerto 80 y filtrando los resultados por el Window Size (que para este router es un valor particular). Luego, a la lista de IPs filtradas, le paso un script NSE propio con nmap para reconocer si son portaretratos o no.

    Un saludo.

    ResponderEliminar