Buenas:
By Mambostar y *dudux
http://foro.seguridadwireless.net/comunicados-y-noticias/fallo-de-seguridad-en-routers-comtrend-full-disclosure/
=======================================
FULL DISCLOSURE - Seguridadwireless.net
Fecha descubrimiento: 24/11/2010
Ultima revisión: 08/03/2011
Descubridor: Seguridadwireless.net
=======================================
http://www.seguridadwireless.net
FALLO DE SEGURIDAD EN ROUTERS COMTREND
El patrón para generar la clave WPA-PSK por defecto de los routers COMTREND se encuentra "a la vista" en el sistema de archivos.
1.- Introducción
De todos es conocido que el cifrado WEP como protección para redes wireless es totalmente inseguro y por ello tanto fabricantes como ISP han empezado a configurar en sus dispositivos cifrados más robustos como WPA/WPA2 en sus diferentes variantes.
No obstante la utilización de claves por defecto generadas durante el proceso de fabricación, instalación y configuración hacen a estos dispositivos especialmente vulnerables una vez que se ha averiguado el patrón o el algoritmo con el que son generadas las citadas claves y más si este patrón o algoritmo es usado de manera masiva por el fabricante en diferentes modelos de routers que a su vez son distribuidos por diferentes ISP a usuarios finales.
2.- Descripción del fallo de seguridad
El fallo de seguridad es ocasionado por la incorrecta limpieza de los archivos creados durante la generación de la clave WPA-PSK y que hacen que estos archivos, en principio archivos temporales a eliminar una vez creada la clave, permanezcan en el sistema de archivos del router.
3.- Modelos afectados
Confirmada la existencia de los archivos no eliminados que permiten averiguar el patrón en el modelo de COMTREND CT-5365
Confirmada la utilización del mismo patrón para el modelo de COMTREND AR5381U,
Posiblemente también haya otros modelos afectados.
4.- How to...
Abrir una consola de linea de comandos y hacer un telnet a la IP del router, por defecto 192.168.1.1 y con user/pass 1234/1234.
Veremos por el prompt (>) que estamos en un entorno limitado y con "help" comprobamos que solo tenemos unos pocos comandos a nuestro alcance. Es facil escapar a este entorno limitado concatenando comandos (sysinfo && sh). Una vez ejecutado el comando anterior el prompt cambia a (#) y ya tenemos una consola con privilegios de root "real".
Comprobamos que los comandos "ls" y "cd" no funcionan ya que han sido eliminados del sistema de archivos por el fabricante, para poder listar el sistema de archivos y sus diferentes directorios vamos a utilizar un ls casero mediante la siguiente sentencia "for l in /*; do echo $l; done".
Una vez listado el directorio /var con "for l in /var/*; do echo $l; done" veremos dos archivos que llaman poderosamente la atención, /var/md5encode y /var/md5result.
Con un cat /var/md5encode obtenemos el patrón utilizado por el fabricante (bcgbghgg+mac+bssid) para generar un hash md5.
Con cat /var/md5result vemos y confirmamos que es el hash md5 del patrón anterior y cuyos 20 primeros caracteres son utilizados como clave WPA-PSK por defecto.
5.- Solución
Cambiar la clave WPA-PSK "de fábrica" por una propia.
6.- TimeLine
* 24/11/2010 - Se detecta el fallo en los routers CT-5365 de Telefónica (Movistar)
* 25/11/2010 - Se comprueba el mismo fallo en los routers de Jazztel
* 26/11/2010 - Se confirma la existencia del mismo patrón de generación de la clave WPA-PSK en ambos Operadores.
* 01/12/2010 - Se contacta con el fabricante Comtrend y se le informa del fallo.
* 08/12/2010 - Sin respuesta del fabricante, se envía de nuevo el correo.
* 15/12/2010 - Sin respuesta del fabricante, se emite aviso de seguridad.
* 15/12/2010 - Contacto con el fabricante.
* 07/01/2001 - Reunión y firma de NDA con el fabricante.
* 22/01/2011 - Se publica un comunicado oficial sobre el fallo de seguridad.
* 26/01/2011 - Otras personas ajenas a SW descubren el fallo pero no lo hacen público de momento.
* 26/01/2011 - Contacto con el representante de Comtrend donde reafirmamos nuestra postura sobre lo acordado.
* 04/02/2011 - Una fuente anónima publica el código donde se puede ver el patrón para descubrir la clave WPA.
* 04/02/2011 - Comunicado oficial de SW sobre la publicación del algoritmo de generación de claves WPA por parte de la fuente anónima.
* 09/02/2011 - Nuevo Comunicado oficial ampliando detalles sobre el proceso seguido hasta ahora.
* 08/03/2011 - Expira el NDA firmado con el fabricante, FULL DISCLOSURE.
7.- Agradecimientos
A hitz del foro de adslayuda por su "ls casero" en su ya antiguo post:
http://www.adslayuda.com/foro/routers-adsl/comtrend-511-535-536-561-562/accesso-ssh-al-ct-536-t89532.html#p360160
A Google, por supuesto, que nos permitió buscar lo anterior.
A todos los que confiaron en nosotros, gracias por estar ahí.
-----------------------------
FULL DISCLOSURE
Apendice
Una vez que hemos encontrado el patrón en esos archivos que no se han eliminado, veamos por donde anda ese string en el firmware.
Esto es una captura del archivo libpsi.so editado con el Bless Hex Editor
Podemos apreciar en la imagen:
- El ESSID -> WLAN_%02X%02X
- La clave WEP por defecto-> C%02X%02X%02X%02X%02X%02X formada por la inicial del fabricante (C) de comtrend en mayúscula + la mac de lan, ready for wlandecrypter.
- Como envía la salida de ifconfig para wl0 (interfaz wireless) a /var/hwaddr
- La semilla bcgbghgg
- Y en resumen como se genera la clave mandando todo a /var/md5encode y luego un md5sum con salida a /var/md5result.
Nota final
Como curiosidad BCGBGHGG es la contraseña mágica de algunos modelos de router de Comtrend para acceder al modo de depuración avanzado por consola vía RS232.
http://forums.whirlpool.net.au/archive/306047
Saludos
-------------------------------------
El post de Comtrend --> http://foro.elhacker.net/hacking_wireless/descifrar_redes_wlanxxxx_y_jazztelxxxx-t318501.0.html