14 de noviembre de 2011

Hacking Telmex VoIP

Hola a todos! de seguro el nombre de la entrada te llamo la atención, pero mas que allá de lo que te puedas imaginar nos basamos en investigaciones diarias para poder ofrecer conocimiento a todo Internet. recuerda que cada vez que lees "yo" o "nosotros" nos referimos a "alguien mas". ACLARO QUE ESTA GUIA SE REALIZA SOLO CON FINES EDUCATIVOS Y NUNCA PRETENDE VIOLAR NINGÚN TIPO DE LEY O IR EN CONTRA DE LAS POLÍTICAS DE NINGUNA COMPAÑÍA. LowNoiseHG no se hace responsable del uso que se le pueda dar a la información a continuación descrita.

ok, para empezar debo contextualizarlos en el tema de investigación, el cual se basa principalmente en telefonía IP o VozIP o VoIP como quieran llamarle.
la Voz IP tiene muchos protocolos para realizar el encapsulado y la transmisión de los datos IP, en este caso miraremos el protocolo SIP. (si no sabes de lo que hablo puedes leer un poco acá sobre SIP)

Bien, hemos utilizado Asterisk (ver mas info aca sobre asterisk) como nuestro servidor de voz IP
hemos realizado una configuración básica de extensión 1001 y hemos configurado un SoftPhone (google es tu mejor amigo =P ) todo se ha realizado sin problemas.
Verificando con nuestro amigo Wireshark (www.wireshark.org) vemos la trama SIP, la autenticación, etc.

Ahora nuestro objetivo, sabemos que telmex utiliza telefonía IP entonces aprovechando que tenemos servicio con esta ISP podemos verificar como se conecta!!!! manos a la obra...

vamos a la pagina www.telmexhogar.com.co ahí vemos un apartado que dice "Teléfono Virtual", hacemos click ahí y nos pide usuario y contraseña, o crear cuenta...
una vez realizados estos pasos podemos descargar nuestro SoftPhone y pedir nuestro código de autorización el cual se nos entregara via mail...

Ahora tenemos nuestro softphone, que al iniciar nos pedirá usuario y contraseña... una pantalla parecida a la que sigue:


En el campo usuario colocaremos nuestro numero telefónico con el formato XAAAAAAA donde X es el indicativo de la ciudad (ej. Bogotá 1, Bquilla 5, etc) y AAAAAAA son los 7 dígitos de su numero telefónico normal... para nuestro ejemplo utilizaremos en adelante el numero 18010101 (obvio es un numero ficticio)


Una vez indroducidos los datos damos click en conectar y si nuestro numero telefónico y código de autorización están bien entonces obtendremos nuestro teléfono virtual funcionando, pero para nuestra desgracia, Wireshark no ha capturado ninguna autenticación (#FAIL jejejeje adicto a twitter).

Desempaquetando el ejecutable del softphone obtenemos una url de conexión, que apunta a "sip.cable.net.co", que resuelve a las direcciones 200.118.0.41 y 200.118.0.42 las cuales SI aparecen en nuestra trama capturada con wireshark.

Tenemos otras direcciones 200.118.2.88 que resuelve inversamente a amon.cable.net.co (sera de administración? hum... interesante para futuras investigaciones).

Ok, como vemos trafico SSL pensamos en utilizar un stripper de SSL pero pensándolo bien necesitamos la llave privada para poder descifrarlo asi que utilizaremos un proxy, en este caso un software llamado "Fiddler" o "Fiddler Debugging Proxy" que nos permite ver el trafico que viaja en HTTP/HTTPS.

Iniciando Fiddler tenemos la captura de la trama a sip.cable.net.co

Si al iniciar nos sale una ventana anunciando un error con la validez del certificado del servidor damos OK. esto es porque el certificado SSL del servidor del telmex no esta firmado digitalmente por una CA valida, sino que esta firmado por ellos mismos. (SelfSigning SSL - recuerda, google es tu amigo =P ).



Dando doble click en la session "sip.cable.net.co" obtenemos en la sub-ventana inferior-derecha todos los datos que requerimos para usar nuestra cuenta VozIP con cualquier software SIP o Softphone.


Entonces tenemos:
- Display_name = 18010101
- username = 00018010101
- passoword = NuestraClaveSecreta (recordar que esta clave es diferente al código de autorización que telmex envia por correo para usar el softphone).
- authorization username = 18010101 (es el mismo display name)
- Domain: 190.144.159.138
- Proxy Domain: 190.144.159.138 (el mismo domain pero siempre toca escribirlo)

Ahora utilizaremos estos datos para configurar en un "iPhone 4" la aplicación "Bria" si ya se que es de pago pero para eso esta "Install0us 4" jejejejeje.

A continuación las capturas de pantalla del iphone de como debe ir configurado el Bria.


Luego en la parte avanzada configuramos los parametros de autorización y proxy.


Por ultimo en la pantalla inicial de configuración de la cuenta, habilitamos la cuenta y debe salir el status "Registered".

Listo!!! ya podemos realizar y recibir llamadas usando nuestro numero telefónico de telmex. muy útil cuando estamos fuera de la ciudad y no queremos perder nuestras llamadas.

Nota1: las llamadas se pueden realizar a través de la red de datos 3G pero hay que notar que la calidad de la llamada variará proporcionalmente a la calidad de ancho de banda que manejemos, yo por mi parte recomiendo usar una red wireless para que la llamada sea perfecta.

Nota2: Se puede utilizar cualquier software compatible con SIP como egika, linphone, Xlite (en el que se basa el softphone de telmex), entre otros.

Quedamos como siempre atentos a cualquier comentario y/o sugerencia al respecto... escribenos a info@lownoisehg.org con tus comentarios! o escribeme a kadmel@lownoisehg.org si tienes algun aporte acerca del tema.

K.