jueves, agosto 04, 2011

Las bases de Vodafone (y Telefónica ? ) ZTE MF10, contraseñas por defecto y securización del mismo

Ahora que estoy de vacaciones, tengo una base Wifi de Vodadone, fabricada por ZTE, modelo MF10. La cuestión es que sabía que se podía acceder a él a través de la interfaz web, pero que, en principio, no tenía ningún acceso más. Así que por curiosidad, le pasé un scan de puertos con el nmap, y me encontré con lo siguiente:

swordcoast:~ terron$ nmap -p 1-65535 192.168.0.1

Starting Nmap 5.21 ( http://nmap.org ) at 2011-08-04 00:53 CEST
Nmap scan report for ralink.ralinktech.com (192.168.0.1)
Host is up (0.082s latency).
Not shown: 65531 closed ports
PORT     STATE SERVICE
53/tcp   open  domain
80/tcp   open  http
3535/tcp open  unknown
4719/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 23.80 seconds

Vaya, dos puertos abiertos. Lo malo es que un telnet al puerto 4719, descubro que tengo un telnetd escuchando, y que con el usuario admin y el password admin puedes entrar con independencia de lo que hayas puesto en la interfaz web. Como el sistema que tiene es el busybox,puedes intentar cambiar la clave con ayuda de chpasswd, pero dicha clave no quedará almacenada por este sistema en la nvram, y por tanto se perderá cuando se resetee la estación base.

Sería interesante saber, si este mismo modelo de base que vende Telefónica tiene el mismo problema, como sospecho. De hecho, el servidor telnetd se arranca desde el script /etc_ro/rcS y pone bastante clarito que es para debugging:

#for telnet debugging
telnetd &

La información por defecto que utiliza para generar el passwd de escucha del shell está en el fichero /etc_ro/default_parameter, que está situado en un sistema de ficheros de sólo lectura, por lo cual no se puede modificar. Sin embargo, los parámetros que están en dicho fichero se pueden almacenar en la nvram del sistema, y existe un comando, nvram_get que nos puede servir para ver los valores de los mismos. Así, con los siguientes comandos podemos ver cual es las contraseñas por defecto del sistema:

-> nvram_get Password      
admin
-> nvram_get Login
admin
-> 

Por supuesto, existe el correspondiente comando nvram_set que nos puede servir para establecer la contraseña que queramos y posteriormente, apagando la base wifi desde la web, quede almacenada en la nvram, dejando cerrado el pequeño boquete de seguridad que nos ofrece ZTE y Vodafone:

-> nvram_set Password XXXXXXX

Ojo, hay que respetar las mayúsculas y minúsculas, y una vez que se ha establecido la contraseña. Pero falta un paso más para que la contraseña quede almacenada en la NVRAM. Hay que hacer en apagado ordenado de la base. Para ello, es necesario desde la interfaz web, irnos al menú avanzado y pulsa en Apagar.


Technorati Tags:

2 comentarios:

chmeee dijo...

Parece que nunca se aprende con estos cacharros, ¿eh?

¿Has probado a hacer un nmap -p 4719 en la red donde se conecta el Wi-Fi? Sería interesante tener una estadística de posibles equipos afectados y si hay visibilidad entre ellos y con el exterior.

Por cierto shodan no parece que los haya encontrado todavía :) http://www.shodanhq.com/?q=country%3AES+port%3A4719

Txein dijo...

Buenas,

¡¡Que gran noticia!! si ya tenía yo sospechas de que no sólamente por la web se podía entar al router.

Un par de preguntitas:

¿Has podido ver qué hay en el puerto 3535?

¿Cómo se puede saber qué comandos se pueden ejecutar en la interfaz BusyBox? Estoy interesado en hacer un comando para conectar/desconectar el modem USB sin necesidad de entrar en la interfaz web.

Gracias de antemano.

Un saludo.