Ejercicio de interceptación de VoIP


Si deseas seguir esta práctica con un vídeo explicativo,
aquí te dejamos el enlace:

Para iniciar con este ejercicio de Interceptación de paquetería de voz, recomendamos antes hacer una lectura o visualizado del vídeo sobre Ejercicio de envenenamiento caché ARP empleando Ettercap sobre Kali. Si ya tienes claro cómo funciona este tipo de ataques, procedemos con esta entrada.

Hoy en día es muy normal que cualquier empresa tenga montada una centralita de voz sobre IP. Aquí abajo os dejamos un ejemplo de todo lo que es una centralita, una empresa que tiene montada voz o gripe. Entonces vamos a ver el tema de cómo se puede interceptar una llamada de voz IP, manteniendo siempre en el nivel 2. Es decir, seguimos adelante con el envenenamiento de caché ARP.


Centralitas y Redes de Voz


Hoy en día, es muy normal que cualquier empresa tenga montada una centralita de voz sobre IP . Acá tienen un módulo de Cisco, por ejemplo, que sirve como una pbx (no private exchange). Son centralitas pequeñas de telefonía que ofrecen servicios internos dentro de una empresa:

 
Centralita de VoIP

Cuando está ya montada sobre la pila tcp, la voz va a paquetizada y vamos a ver ahora cómo se monta. Cada una de esas salidas (en el caso de la imagen, aquellas qeu dan a cada uno de los Telefonos señalados) son bocas como si fuera un switch. estas van conectadas a un teléfono y el teléfono suele tener dos conectores rj45. El primero es el que va conectado a la centralita y el segundo es de donde yo conecto el ordenador. Es muy común ya ver esto en todas las empresas.

Para salir a internet, se utiliza un Gateway (señalado en azul), que es una pasarela encargada de recibir la voz analógica de la red pública de telefonía conmutada, como la recibo en cualquier, transformarla en voz sobre IP e inyectarla a la central, es decir, de aquí hacia en la empresa hablo todo voz sobre IP y de aquí hacia la red pública conocida como Public Switched Telephone Network (PSTN) o red pública de telefonía conmutada. Todavía sigue siendo el teléfono analógico que tengo en mi casa.

Entonces, tengo una centralita que es la pbx (caja superior de la imagen), un switch cualquiera (la caja central) que es el que conecta todas las bocas de la empresa y en esa cada una de esas bocas del switch es donde tengo conectado un teléfono. En ese mismo teléfono también conecto el ordenador. Entonces, voy a tener una dirección IP para mi ordenador y una dirección IP para el teléfono.

Reconocimiento de Hosts con Caín

Volviendo a la imagen, tenemos un Teléfono 1 que tiene una IP que termina en el último octeto con 228, un Teléfono 2 que es el 172, una centralita que es la 10.102.230.194 y alguien que va a ser el efecto de intruso y va a interceptar la llamada entre el Teléfono 1 y el Teléfono 2. Para eso, vamos a utilizar hoy un software muy conocido, Caín, que ya está medio desactualizado, hay varios más, pero sigue siendo una herramienta extremadamente potente. Hay que tener muchísimo cuidado porque justamente con esta herramienta yo presencié cómo en una gran empresa, una persona no muy responsable, estaba haciendo un penetration testing y para poder hacerse con el controlador de dominio, trató de infectar el switch con esta herramienta Caín de Abel y volteó una gran empresa durante muchísimas horas, lo cual costó muchísimo dinero. Es decir, es una herramienta tremendamente peligrosa que hay que usar con cautela o hay que usarla en el tono de laboratorio hasta que uno sepa cómo funciona.

Lo primero que una vez que se abre Caín nos permite hacer sniffing, como hacíamos con Wireshark, que es lo mismo. De hecho, esto lo que lanza es el mismo comando tcpdump. Entonces, uno lanza el sniffer y dentro de esta opción empieza a reconocer todos los hosts que hay en una red. Tenemos que recalcar de antemano este 129 con la MAC c8, que nos va a llamar bastante la atención. Una vez hecho el sniffing, ya tenemos el listado de todas las direcciones IP de los teléfonos que están llamando. De hecho en este ejemplo lo que vemos son hosts reales:

 
Sniffing con Caín

Entonces, si yo ya tengo identificado el llamado de algún teléfono hacia otro, sé que el teléfono 194, por ejemplo, es la centralita, como la acabamos de ver en el mapa, y el teléfono 172 es un destino, que es el que vamos a tratar de infectar, el que estaba como teléfono 2 en una pista de recién.

ARP Poisoning y Envenenamiento de Rutas

Entonces, el segundo paso es esto, que es ARP poisoning routing. Lo que puedo hacer es envenenar una ruta ARP. Entonces, fíjense que es muy sencillo. Yo voy eligiendo qué quiero envenenar. Y a partir de ahí, tengo envenenado en este caso la centralita con una MAC que es la c8, y voy a envenenar esa centralita para tratar de interceptar llamadas hacia el teléfono 172.

Una vez que lo envenena, a partir de ahí, esto que están viendo acá es tráfico de voz. Esto que ven acá, RTP, es el protocolo Real-time Transport Protocol, que utiliza para viajar la voz sobre el protocolo IP. Entonces, como ven acá, estuve capturando tráfico. Todo ese tráfico va entre las IP 172 y la IP 228. Como están viendo acá en el grafiquito que tenemos al lado, esa es justamente el diálogo en el teléfono 2, que es el que he logrado infectar.

Intercepción de Llamadas VoIP

Esto que estamos viendo acá es concretamente el diálogo de esta infección. Lo que van a ver ahora es que al principio hay un diálogo que es esto que están viendo acá, que es el diálogo que se negocia la llamada hacia la centralita. Y luego el invite, cuando el teléfono lo acepta, empieza el diálogo de voz en RTP. Entonces, fíjense cómo esto lo vamos a ver directamente. Vamos a compararlo con la captura de tráfico para que lo puedan ver bien.

Bueno, vamos a empezar a desarrollar. Esta es la captura de tráfico que acabamos de ver recién. Y esta es nuestra presentación. La primera trama, ven que la IP fuente es la 194 y ella cree que se está dirigiendo a la 172. Pero miremos acá abajo cómo es la historia. No, acá tenemos una IP fuente que es la 194 contra una IP destino que es la 172. Y se comunica la MAC. Recordar, estamos en nivel 2. La MAC c8 contra la MAC be. Es decir, esta línea azul que están viendo acá arriba es esto que está acá. La pbx con la MAC c8 se comunica con la MAC be, que es justamente la mía. En ese real fue mi dirección MAC.

Proceso de Negociación y Comunicación VoIP

Entonces, yo que realmente no soy la 172 ahora en tiempo real, por supuesto, digo que soy la 194 y con la MAC be le reenvío literalmente el mismo mensaje a la 172, que es esta segunda trama que están viendo acá. Ven que ahora es la be la que le envía a la 9c a nivel de enlace. Y yo digo que soy la IP 194 cuando en realidad no lo soy y me dirijo a la 172. Es decir, yo ahora simulo ser la 194 con mi misma dirección MAC be y le digo: "Yo soy la 194 y te invito a que inicies una conexión". Esto que están viendo acá, el teléfono 2, al recibir esto, dice: "Ok". Pero por supuesto, se lo va a devolver a la IP 194, pero con la MAC mía, que es la MAC be, que es esta tercera trama que tienen acá.

Escuchan los tronos. Hay una tormenta en estos momentos. De aquí, la sierra. Bueno, sigo adelante. Entonces, esta tercera trama que es esta que están viendo acá, la 172 le envía a la 194. Pero en realidad, como lo que está haciendo es enviándoselo a nivel de enlace, ven que aquí le está enviando la MAC origen 9c a la MAC origen be, que soy yo. Soy este que estoy acá. Yo, en esta cuarta trama, replico literalmente lo mismo que están viendo acá. Pero yo ahora le digo: "Mira, yo soy la 172 con mi MAC be. Te digo que Ok". O sea, este mismo enlace se lo reenvío a la pbx y la pbx, cuando está recibiendo la MAC, ve que es la que yo le acabo de infectar. Él cree que esta es la 172. Acordaros que lo acabamos de ver en el vídeo anterior, envenenamiento de ARP.

Ahora, nuevamente, en esta quinta trama, la pbx le dice: "Ok, ya que tú me aceptas". Acnubles. Este es un mensaje que se utiliza muchísimo en teleco para cerrar comunicaciones. Desde la 8 le dice a la 172, pero claro, él se cree que yo soy la 172. Entonces, en esta trama que es la misma que están viendo acá, la 194 le dice a la 72. Pero en realidad, se está comunicando con la MAC be, que soy yo. Automáticamente, yo le mando el mismo acknowledgment desde la 194 a la 172. Entonces, este se cree que realmente es en la 194. Y con esto, ven que acá habla de protocolos, ZIP, Zainalín, hay BIOS, signing in Discovery Protocol. Estas son estas tramas que aquí están marcadas como negociación. Acá es cuando se establece la comunicación. La pbx le dice al teléfono destino: "Hay alguien que te quiere llamar. Ese alguien que quiere llamar, ahora que es el teléfono con la IP 228, empieza este nuevo protocolo". Ahora ven que es Real-time Protocol (RTP). Ahora empieza a viajar la voz.

Entonces, ahora la 228, fíjense que ahora las 228 se comunica con la que cree que es la 172. Pero nuevamente, se está comunicando conmigo, con la MAC be. Entonces, esta trama es esta que están viendo acá, la primera trama de voz sobre IP, en la cual la 228, con la MAC c8 que también está infectada, se comunica con esta MAC be, creyendo que es la 172, cuando en realidad no lo es. Automáticamente, yo duplico esa misma trama en esta que ven aquí, en la cual le digo: "Yo soy la 228", es este que están viendo acá, y empiezo a hablar con la 172. Y a partir de acá, lo mismo. Las 228 me contestan a mí, yo le envío a la 172. Empieza el diálogo engañoso, porque se cree que yo soy la 228.

Vamos a hacer algo muy bueno. Fíjense, esto que está acá es tráfico, es tráfico Real-time Protocol. Decir, aquí viaja la voz. Entonces, yo ahora me voy a venir a telefonía. Dentro de telefonía, voy a elegir la opción RTP. Y dentro de RTP, voy a seguir esta secuencia de Real-time Protocol, que es estrictamente esto que están viendo acá. Ven que tengo dos secuencias, una real y una de mentira. En esa secuencia real, lo mismo, me voy a Real-time Protocol, en la opción de telefonía, me voy a RTP y ahora voy a hacer RTP Player. Miren lo que están viendo acá. Esto es la voz. Esto es lo que yo intercepté. Vamos a escucharlo. Voy a poner Play.

"Hola, hola, 1, 2, 3, 4. Hola, hola, hola, hola, hola, 1, 2, 3, 4, probando". Esa es la llamada que acabo de interceptar con estas tramas de RTP que están viendo acá. O sea, esto que están viendo acá, repito, si yo me vengo a telefonía, me vengo a RTP, le digo RTP Player. Automáticamente, esos paquetes de datos en IP me los transformamos: "1, 2, 3, 4. Hola, hola, hola, 1, 2, 3, 4, probando". Esa es la llamada interceptada a través de la herramienta Caín. Qué reitero, lo que hemos hecho. Entonces, voy a ampliar un poco más esta ventana para que se vea mejor.

Resumen del Proceso de Intercepción VoIP

Lo que hemos hecho es el teléfono Uno negoció al principio una llamada y le dijo a la pbx: "Yo quiero llamar al teléfono 2". Entonces, la pbx, en estas tramas SIP que están viendo acá arriba, negoció la comunicación. Cuando se dijo el "Ok" y el "acknowledgment" automáticamente, las 228 hablaron con la 172. Pero en cada una de las tramas, primero la interceptaba yo y se la reenviaba. Él me contestaba a mí, yo se la reenviaba. Él me lo andaba a mí, yo se la reenviaba. Ese fue el envenenamiento de ARP. Pero esta vez, visto con un ejemplo práctico de una intersección de una voz sobre IP, la cual se puede hacer con esta simplicidad que acaban de ver.