Buenas.
Si has leído mi otro post sobre como configurar PPPoE para conectarte con tu operador con cualquier router (https://bandaancha.eu/foros/router-neutro-minimo-debes-saber-pppoe-1736400) al final comentaba que un punto importante a considerar era si tenías la línea de teléfono fijo conectada al router también, dado que ello requiere otro paso adicional en la migración. En este post voy a compartir como hice yo para sacar los datos necesarios para configurar SIP en otro dispositivo y quitar el router de Digi.
Algunas aclaraciones:
1 - Primero que nada, lo que todos deberíamos hacer es solicitar los datos de conexión a nuestros operadores, dado que son los datos del servicio por el que pagamos... aunque es cierto que esto incrementaría posiblemente mucho las llamadas a soporte, dado que mucha gente cambiaría routers o tocaría la configuración de sus equipos sin tener idea de lo que hacen.2- Mi escenario:Soy cliente de fibra de Digi, y me han instalado el router Observa Telecom TRG24AC. Esto es importante porque si tu tienes otro router u otro operador, las capturas pueden ser diferentes, pero al final deberías tener los mismo campos.
3- La explicación está sumamente simplificada y generalizada para hacerlo mas sencillo, pero en cada tema que menciono se puede profundizar o puede haber otras opciones.
Vamos con algo de teoría básica primero.
Hasta no hace mucho tiempo, todos recordamos que nuestros teléfono se conectaba a un famoso "par de cobre". Nuestro terminal convertía el sonido en impulsos eléctricos que se transmitían por ese par de cables hasta la central del operador, quien se encargaba de enrutarlo hasta el destinatario y establecer un circuito entre ambos terminales. El teléfono del destinatario volvía a convertir esos impulsos en audio, como hacemos con los altavoces de nuestros equipos de música. Un sistema que llamaremos analógico, con un funcionamiento muy simple, pero sumamente costoso para el operador por el despliegue que había que realizar y su mantenimiento (si alguno pudo visitar una centralita de Telefónica hace unos años, era como entrar en un laberinto infinito de cables para un lado y para el otro).
Con la llegada de las redes de datos, el mundo IP e Internet, comenzaron a surgir tecnologías que permitían convertir ese sonido en información digital que se podía transmitir primero sobre las lineas de datos, como Voz sobre Frame Relay (VoFR)o Voz sobre ATM (VoATM) y luego directamente sobre protocolo IP, conocido como VoIP (lo cual hace a esta tecnología independiente de la red que hay debajo, da igual si es frame relay o ADSL o fibra) siempre y cuando se dispusiera del ancho de banda necesario para dicho tráfico. Hoy parece un chiste cuando hablamos de pasar video 4K por internet, pero hace unos años la situación era muy diferente.
(Si te interesa conocer un poco mas sobre la historia de la telefonía: https://www.nobbot.com/pantallas/historia-telefonia/)
Saltando un poco, vamos a comentar que en las soluciones de VoIP a día de hoy tenemos dos áreas que nos interesan:
1- Los "codecs" o algoritmos que utilizamos para convertir/comprimir la voz en paquetes IP, donde tenemos cosas como G.711, G.729, G.722, G.726 y muchos mas, algunos son estándares públicos y otros son propietarios. (si te interesa el tema: http://info.teledynamics.com/blog/demystifying-codecs-part-1-digitizing-the-human-voice)
2- Los protocolos de señalización que van a gestionar el tráfico VoIP para que la cosa funcione... por ejemplo establecer las llamadas, enrutarlas, elegir el mejor codec posible, registrar los terminales etc etc... Aquí tenemos H323, SIP, MGCP, H248 y otros...
Bueno, estas serían las nociones básicas sobre la tecnología, vamos ahora al meollo del asunto.
A día de hoy SIP se ha impuesto por su simplicidad, flexibilidad y sobre todo coste de implementación como el protocolo que utilizan casi todos los operadores públicos para darnos el servicio de Telefonía Fija, que ya es 100% IP en el 99% de los casos.
Todos los que tenemos nuestra linea fija conectada al router de internet estamos utilizando VoIP y SIP y si queremos llevarnos este servicio a otro dispositivo o software, necesitamos conocer una serie de datos. Ahí viene el problema, lamentablemente (por razones que se pueden entender o no) los operadores no suelen compartir esos datos. Dependiendo el operador, quizás puedas ver el nombre de usuario y la password encriptada en la configuración de tu router e intentar sacarlo por ahí, pero si como yo eres cliente de Digi, ni siquiera tenemos acceso a la sección de configuración VoIP de router y ahora ni hacer un backup para buscarla por ahí.
Dicho esto, voy a compartir con ustedes como hice yo (con algo o mucha suerte) para sacar estos datos y poder configurar mi propio terminal SIP (en mi caso estoy utilizando varios softphones).
Todo parte de la captura de tráfico como ya explique en mi post anterior (puedes ver el enlace arriba). Realizando la captura esperé hasta ver pasar en Wireshark el tráfico de la negociación SIP luego de encender el router, hasta llegar a este paquete:
![sip-1.png]()
Si entras en los detalles del mismo, podrás ver esta información:
![sip-2.png]()
Lo que está en el recuadro rojo es lo que necesitamos para hacer nuestro "estudio" :-)
Llevo muchos años utilizando una herramienta fantástica para cualquier auditor de seguridad, llamada hashcat (https://hashcat.net/hashcat/). es una herramienta que ofrece diferentes tipos de ataques a diferentes sistemas de encriptado o hashing, utilizando fuerza bruta, diccionarios, etc.
Por supuesto la herramienta NO HACE MAGIA, aunque es la mas eficiente que conozco, si por ejemplo tienes romper un hash de una contraseña de mas de 9 caracteres, pues seguramente te aburras antes, salvo que tengas muchos muchos muchos recursos de hardware a tu disposición :-)
Para hacerlo mas divertido, el proceso de autenticación de SIP no es un simple hash, sino que hay una conversación previa de intercambio de valores y el combinación con otros parámetros que entran en el algoritmo. Pero los amigos de hashcat han hecho una increíble labor introduciendo el template necesario para atacar este modelo. Yo ya lo había utilizado en entornos corporativos (con centralitas ip de empresas) con excelentes resultados, dado que muchas empresas, al ser un entorno restringido, se confían y utilizan contraseñas bastante breves para los usuarios SIP y quise probar si lo podía hacer con DIGI al no poder acceder a los datos de otra forma.
EL PROBLEMA: Sin tener una idea de como es el formato de la clave, un ataque de fuerza bruta a lo bruto, con todas las combinaciones posibles, puede tardar mucho... cuando llegas a los 8 caracteres (al menos en mi PC) pasa esto:
![hashcat-1.png]()
Va a tardar 2 años y medio en probar todas las posibilidades!!!! no mola no? y si tienes que ir hasta 9 caracteres? "302 years, 150 days"
LA SOLUCIÓN: El mundo es mucho mejor con amigos, no? Tengo un amigo que hace meses tuvo la oportunidad de hacerse con una config de un router de Digi completa, aunque él no sabía lo que tenía al no ver mas que "caracteres raros"... hace unos días le conté que me pase a Digi y me dijo que tenía este "tesoro" y a mi se me hizo agua la boca cuando vi que era un simple BASE64 como muchos otros routers, de ahí pude sacar el formato de la contraseña de SIP que aparecía en claro! :-)
Paso siguiente, utilizar el hashcat con la mascara que saque de esa config y los datos de mi captura y...
![hashcat-2.png]()
CRACKED!
A continuación voy a compartir detalladamente todo lo que necesitan, pero no he tenido la oportunidad de probarlo con otro usuario para saber si funciona, por favor comentar vuestros resultados.
De la captura necesitan todos los datos (por motivos obvios voy a cambiar mi numero de teléfono por +34912345678 para el ejemplo)
Digest username=""
realm="ims.digimobil.es"
nonce="73ebf52c1d7504db6650825d599eb613"
uri="sip:ims.digimobil.es"
response="3a5853c296e169f348abdb2b42bcd37a"
algorithm=MD5
cnonce="3ae"
qop=auth
nc=00000001
Imagino que en vuestra captura solo cambiará username, nonce, response y cnonce
Descargar el hashcat y en su directorio crear un fichero digi.hash y poner esto (con vuestro valores)
*ims.digimobil.es*REGISTER*sip*ims.digimobil.es**73ebf52c1d7504db6650825d599eb613*3ae*00000001*auth*MD5*3a5853c296e169f348abdb2b42bcd37a
Ejecutar hashcat con estos parámetros:
hashcat -m 11400 -a 3 digi.hash 912345678N?d?d?d?d?d
y cruzar los dedos! si les aparece el mensaje como el mio de cracked, tendrán un fichero llamado hashcat.potfile con la contraseña al final de todo.
a partir de ahí, ya tendrán los datos que necesitan para cualquier configuración SIP, por ejemplo yo utilizo Zoiper5 como cliente SIP y puse
Usuario: +34912345678
Password: la password encontrada con el hashcat
Domain: ims.digimobil.es
Auth Username:
Outbound Proxy: ims.digimobil.es
Me funciona de maravillas, puedo hacer y recibir llamadas en mi PC e incluso en el cliente SIP que tengo en ANDROID, ya que me conecto via VPN a casa y entonces lanzo el cliente. Me queda pendiente configurar un teléfono Siemens IP que tengo en el escritorio.
Bueno, espero que esto sea de utilidad, que dure lo que dure... y que me dejen saber si les ha funcionado sobre todo.
Zorro, gracias.
Saludos!