Desbloqueando el router ZTE F680

Madre mía, la de años que llevo con este blog publicando pegotes. Y otros tantos sin poner ni una mierda. No es que a mí me guste publicar cosas aquí, pero bueno. A ver, lo que venía yo a contar…

Recientemente los de Jazztel me pusieron el router F680 de ZTE, sustituyendo a los dos anteriores chismes de fibra que tenía (el ONT y el router H218N reventado el cual empezó a petar salvajemente y de ahí que lo jubilase). Obviamente como cada trasto nuevo que entra en mi habitación, investigué por ver si era posible meterle algo de «mano», ya que generalmente vienen bastante limitados por la operadora (cosa que todavía no entiendo por qué lo hacen). Con meterle mano me refiero a ver las deseadísimas credenciales del VoIP (aunque yo éstos ya los tenía sacados del H218N), desbloquear ciertos parámetros que por la interfaz web vienen bloqueados o incluso ejecutar aplicaciones como si de una Raspberry Pi se tratase…claro que con ciertas limitaciones.

Con lo primero que me topé era con un vídeo no demasiado antiguo que desarmaba el router para pincharle el mítico Serial mediante TTL USB (paso de entrar en detalles de cómo funciona esta movida porque como ahora pasaré a explicar, lo vamos a hacer todo más sencillo y sin quitar ni un solo tornillo). Al ver esto ya se podría decir que estaba a mitad tirar la toalla, porque estoy loco pero no tanto como para abrir el router el primer día de estrenarlo, sin saber bien si iba a conseguir algo o incluso cargármelo y no tener otro a mano.

Seguí rebuscando por la red de redes y me topé con un post en Bandaancha en el cual hablaban de este modelo y de cómo poder entrar hasta la cocina. Si te aburres igual o más que yo y quieres leerte los cientos de mensajes que hay allí adelante, pero lo mismo que se cuenta allí lo voy a resumir yo aquí debajo, así que eso que te ahorras.

En fin, leyendo el post llegué a la conclusión de que no hacía falta irse a la India, alquilar un Tata y subir el Kanchenjunga para conseguir unos resultados más que satisfactorios.

Llegamos al meollo del asunto

Antes que nada comentar que el router tiene una interfaz Telnet, pero capada no, lo siguiente. Por no dejar no deja ni hacer un ls. Bien, dejémonos de tonterías y vayamos al grano; vamos a necesitar, lo primero, un pendrive. No importa de qué capacidad sea, a menos que al final del «tutorial» quieras tener un Transmission puesto y obviamente necesites capacidad para tus torrents. Yo vengo utilizando uno de 1GB porque es el pendrive más triste que tenía por ahí y pese a que tengo instalado el Transmission, no lo utilizo.

Lo primero que necesitaremos hacer en el pendrive es formatearlo como NTFS si no lo estaba ya de antes y crear un enlace simbólico:

ln -s /var/samba/lib/smb.conf .

Algunos quizás ya sepan por dónde voy… Sí, realmente aquí es donde está la «cagada» de los que diseñaron el router. Cagada o qué sé yo, quizás esto sea lo normal en estos chismes y estoy yo desprestigiando por desprestigiar. El caso es que sí, el router para quien no lo sepa, tiene un servidor Samba preparado principalmente para acceder a los dispositivos de almacenamiento que se encuentren conectados al router. Decir que el comando ese está disponible únicamente en Linux y desconozco que se pueda hacer bajo Windows.

Lo próximo que necesitaremos copiar al pendrive es una copia de Busybox para ARM. Esto lo podemos hacer descargándolo desde su propia web. Lo renombraremos a «busybox» a secas y hacemos una copia llamada «sh». El pendrive nos debe quedar con un fichero «busybox», otro «sh» (son exactamente idénticos pero con diferente nombre) y el enlace simbólico «samba.conf».

Hecho esto, pinchamos el pendrive en el USB que más rabia nos de y accedemos al router a su dirección \\192.168.1.1 (ya podéis deshaceros de Linux, todo lo demás no hay problema de hacerlo desde Windows). Como se puede ver si todo ha ido bien, es que podemos acceder al contenido del pendrive, y éste tiene el enlace simbólico que hicimos antes al fichero de configuración de Samba. Ahora lo que deberemos hacer es abrirlo con algún editor (Notepad++ recomendado) y editarlo, sustituyéndolo por lo siguiente:

[global]
guest account = root
deadtime = 5

log level = 0

server string = Samba Server
security = share
load printers = no
workgroup = workgroup
short preserve case = yes
preserve case = yes
netbios name = smbshare
preexec = /mnt/usb2_1_1/busybox telnetd -b 192.168.1.1:27 -l /mnt/usb2_1_1/sh

[samba]

comment = samba share dir

read only = no
guest ok = yes
guest only = yes
short preserve case = yes
preserve case = yes
max connections = 3
path = /mnt

[root]

comment = samba share root
read only = no
guest ok = yes
guest only = yes
short preserve case = yes
preserve case = yes
max connections = 3
path = /

De aquí no deberíamos modificar nada, a excepción de quizás la ruta al fichero busybox. Yo pinché el pendrive en el USB que el router tiene por el lado, y a este lo llaman «2_1_1».

Bien, con esto hecho, sin reiniciar absolutamente nada (ya que si reiniciamos Samba o el propio router, estos cambios se revierten) abrimos una nueva sesión de Samba (como antes \\192.168.1.1) veremos que ahora tenemos acceso a la raiz de ficheros del router. Además de eso, de forma transparente se habrá instanciado una nueva sesión Telnet bajo el puerto 27, así que allí vamos.

Abrimos una consola de comandos (lo más cómodo es utilizar PuTTY en Windows) y le indicamos que queremos conectarnos mediante telnet a la dirección 192.168.1.1 mediante el puerto 27. Si todo va bien debería preguntarnos inmediatamente por un nombre de usuario, en el cual escribiremos «root», para inmediatamente después preguntarnos por una contraseña, la cual pondremos que es «Zte521». Ya estaremos dentro del router con permisos de administrador.

El siguiente paso que vamos a tomar es el de «desbloquear» el Telnet original, el que el propio router tiene por defecto bajo el puerto 25 y que viene limitado. Para ello, en la sesión de telnet que abrimos anteriormente y no debimos cerrar todavía, escribimos el siguiente par de comandos:

sendcmd 1 DB set TelnetCfg 0 UserTypeFlag 0

sendcmd 1 DB save

Lo que hemos hecho con estos comandos es, básicamente, modificar los permisos de la sesión nativa de Telnet y seguidamente guardar los cambios, para que al reiniciar el router aquello no se nos desconfigure. Supongo que resetear el router (que no reiniciar) sí que hará que todo esto se vaya al carajo, pero eso no es algo que vayamos a hacer todos los días, y la opción de volver a repetir todos los pasos sigue ahí.

Llegados a este punto podríamos cerrar ya la sesión de Telnet que tenemos abierta bajo el puerto 27, y pasar a entrar por la nativa en el puerto 25, y comprobar que efectivamente funciona y no hemos tenido problemas hasta aquí. Incluso podríamos deshacernos también de los ficheros del pendrive, aunque lo recomendado es dejarlos ahí, por si las moscas.

Bueno, pues una vez dentro del sistema…¿qué podemos hacer? Pues casi lo que nos de la gana. Así como básico tenemos el famoso comando para obtener las credenciales del VoIP de nuestro teléfono fijo de Jazztel:

sendcmd 1 DB p VoIPSIPLine

Si leemos la respuesta que nos da el comando veremos algo como AuthUserName, AuthPassword DigestUserName. Esos 3 parámetros son los más importantes. Podemos cacharrear más con estos comandos (con cuidado, eso sí) listando toda las entradas que la base de datos de este router tiene mediante

sendcmd 1 DB p

Otra cosilla que igual a alguien le podría interesar, es utilizar el VoIP con otro servidor que no sea el de Jazztel. Por ejemplo, yo estoy mirando actualmente de configurar un servidor Asterisk o similar para que funcione de forma que, si me llaman al fijo, me suene también en el móvil. O que si no lo coje nadie en casa, que se redirige la llamada al móvil y cosas así. Para conseguir esto necesito que el router se conecte a mi servidor, y mi servidor se conecte al de Jazztel y a todos los que me de la gana (como por ejemplo, los de FreedomPop). En fin, esto son fumadas mías, pero si a alguien más le interesa, quizás se haya dado cuenta que cambiar esos parámetros mediante la interfaz web es prácticamente imposible. No nos deja. Para que nos lo permita, tendremos que enviar unos comandillos:

sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.PS VoIPSIPServer OutboundProxy1 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.PS VoIPSIPServer OutboundProxyPort1 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.PS VoIPSIPServer RegistrarServer1 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.PS VoIPSIPServer RegistrarServerPort1 0

sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.VL1.LS VoIPSIPLine AuthUserName 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.VL1.LS VoIPSIPLine AuthPassword 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP1.VL1.LS VoIPSIPLine DigestUserName 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP2.VL1.LS VoIPSIPLine AuthUserName 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP2.VL1.LS VoIPSIPLine AuthPassword 0
sendcmd 1 DB setapidmacs IGD.SV.VS1.VP2.VL1.LS VoIPSIPLine DigestUserName 0

sendcmd 1 DB save

Ahora podrás ver que efectivamente, ya puedes cambiar todos aquellos parámetros VoIP del router que antes no podías. ¡Recuerda haber sacado antes los datos VoIP y haberlos guardado en un lugar seguro, por si en algún momento necesitas restaurarlos! Aunque lo ideal es descargarse un backup antes de tocar nada. En caso de problemas restauraríamos y listo.

Por último y no menos importante, es poder ejecutar cosas en el router. Yo no recomiendo esto porque los recursos que tiene son limitados. Si aún así estás interesado, aquí explicaré cómo poner un Transmission y acceder a él mediante su interfaz web.

To-do

70 comentarios en «Desbloqueando el router ZTE F680»

  1. hola, he conseguido avanzar, parece ser que no estaba correctamente formateado… ya puedo acceder al usb a través de samba y consigo modificar el fichero smb.conf. He seguido los pasos de Karman, pero no consigo que me salga el nuevo recurso de red, es como si no leyera el fichero que he modificado. ¿alguna sugerencia de por donde tirar?

  2. mi error es muy simple… pero me estoy volviendo loco. Cuando formateas el pendrive en NTFS indicas que seguidamente hay que crear un link simbólico de esta manera desde el mismo:

    ln -s /var/samba/lib/smb.conf .

    Bien, pues cuando trato de hacerlo obtengo el siguiente error:

    ln: failed to create symbolic link ‘./smb.conf’: No such file or directory

    Entiendo que dicho fichero smb.conf todavía no existe en el pendrive ni la referencia a su ruta dentro de samba tampoco porque lo tengo pinchado al PC en el momento de hacerlo… Pero, ¿entonces cómo creo el link simbólico?

  3. Sigo los pasos hasta editar el smb.conf
    Pero cuando intento conectar con Putty con telnet al puerto 27
    siempre me da error,
    el mensaje es
    Network error: Software caused connection abort

    mi smb.cong es exactamente igual al que esta escrito aqui. la ip y la dirección del USb es correcta.

  4. A ver si alguien me puede echar una mano… Después de varios problemas con el wifi en ZTE F680 de masmovil, me han actualizado el firmware y sigo con los mismos problemas de routeo entre las redes 2.4 y 5. He decidido instalarme una ONT por mi cuenta pero creo que desde la nueva actualización (concretamente la ZTEGF6804P1T6) creo han cambiado la contraseña telnet ya que no consigo acceder. El exploit busybox sigue funcionando y accedo por samba a la carpeta root y al telnet en el puerto 27 igualmente, pero la contraseña Zte521 me da error.

    Con un nmap al router veo que también tiene abierto otro telnet en el puerto 23 por defecto, pero tampoco puedo acceder por ese. He probado también root/root como comentan algunos y nada.

    ¿A alguien le pasa lo mismo?

  5. Muchísimas gracias por esta gran ayuda, tengo muchísimos servicios y modificaciones realizadas en la configuración del router que no me apetecía tener que volver a hacer de nuevo sólo para recuperar la contraseña del router. Siguiendo estos pasos lo he conseguido recuperar, con la única diferencia que el puerto telnet por defecto de mi router es 23 y no 25.

  6. hola, estoy intentando acceder al router ZTE F680 de Yoigo que lleva la misma version y bootloader del comentario de Miguel,
    Software Version ZTEGF6804P1T6
    Boot Loader Version V4.0.10

    Sigo el manual este y el de karman y de la contraseña de root no paso, no me funciona ninguna de estas contraseñas: root, zte521, admin, 123456, Zte521, Yoigo, Masmovil…

    Necesito ayuda para poder avanzar y quitarme el router de encima, que desgracia de el por diooos…., gracias por los tutoriales y por la ayuda de antemano.

  7. Estoy intentando cambiar mi livebox fibra por este f680 de yazztel…mi proveedor tambien es yazztel.Led PON se queda fijo, despues de introducir pero no tengo conexion a internet…que me falta????

  8. Buenos días. Tengo la versión de Karmann y no consigo acceder al router, accedo a través de telnet sin problemas, uso contraseña Zte521 y se conecta pero me da access denied al introducir cualquier comando que no esté en los 12 preestablecidos. Alguien sabe que puede pasar?

  9. Buenas tardes,

    ¿Puedes explicar como instalar transmission en el router? debido a que está siempre encendido creo que puede ser una buena opcion.

    Comentar que dispongo de una raspberry pi 3 pero como no la tengo conectada a la luz siempre no lo veo tan util como la opción del router.

    Un saludo y gracias

  10. Yo he perdido acceso al router. Por lo visto se han puesto las pilas y han lanzado una actualización que ha cambiado todas las contraseñas. No es posible acceder por telnet con Zte521. Además me han cambiado la contraseña de admin que tenía mi router.

  11. Yo me he pasado a Fibra Tuenti por lo que ahora tengo un MitraStar que no tiene ni siquiera puertos USB. 🙁
    El ZTE todavía lo tengo por aquí por si no me lo reclaman. No sé qué haré con él, dado el caso.

  12. Alguno me puede confirmar si el ZTE F680 se puede poner en modo bridge o hay que comprarse otro GPON para ponerlo en modo bridge y asi poder utilizar mi router ASUS?

    Por otro lado, hay algun sitio donde bajarse el firmware original y quitar el del operador, que viene capado.

    Muchas gracias.

  13. desde la actaulización de mayo para habilitar ipv6 no funciona el servidor samba, además de que la contraseña root ya no es Zte521
    Voy a ver si lo consigo hacer funcionar

  14. Yo tengo el Zte de Yoigo.
    Hardware Version = V4.0
    Software Version = ZTEGF6804P1T6
    Boot Loader Version = V4.0.10
    El busybox-mips funciona a la perfección pero entro por telnet puerto 27 sin necesidad de usuario ni contraseña.
    El problema es que el «AuthPassword» de «VoIPSIPLine» me sale con asteriscos «******», todo lo demas sale perfecto.
    Una pregunta ¿No se podra configurar en modo bridge desde telnet?

  15. Buen tutorial!
    Un par de cosas:
    – Por razones de seguridad tanto windows (por lo menos en Windows 10) como en Linux se ha deshabilitado el soporte SmbV1, hay que habilitarlo si quereis que funcione el samba
    – En la version que tengo yo también me salen «******» en el AuthPassword
    – El password Zte521 tampoco me fuciona, de hecho viene levantado el servidor de telnet por defecto

    La unica manera que nos queda es conectarnos via JTAG?

  16. Hola! muchas gracias por el aporte! yo con un f680 v4 y actualizado al ultimo firm que sacaron tengo capado la opcion serial que era con la que estaba interesado, estoy buscando como hacer lo del samba que e leido en tantos foros pero que yo de linux ni papa… me recomiendas algun tuto para zoquetes como yo que no an tocado linux en la vida?

  17. hola al principio del post comentas que extrajiste los datos de un H218N, podrías hacer un tutorial de como hacerlo o este método funciona en ese modelo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.