Seguridad en VoIP

7,377 views

Published on

Transparencias de la charla sobre Seguridad en VoIP (Telefonía IP), del 18/07/2007 por Pablo Garaizar Sagarminaga en la Universidad de Deusto

Published in: Technology, Business
1 Comment
12 Likes
Statistics
Notes
No Downloads
Views
Total views
7,377
On SlideShare
0
From Embeds
0
Number of Embeds
238
Actions
Shares
0
Downloads
1,288
Comments
1
Likes
12
Embeds 0
No embeds

No notes for slide

Seguridad en VoIP

  1. 1. Seguridad en VoIP Vulnerabilidades y medidas de protección Pablo Garaizar Sagarminaga [email_address]
  2. 2. Breve Introducción a VoIP <ul><li>¿Qué es? </li></ul><ul><ul><li>Voz sobre Protocolo de Internet, también llamado Voz sobre IP, VoIP, Telefonía IP, Telefonía por Internet, Telefonía Broadband y Voz sobre Broadband es el enrutamiento de conversaciones de voz sobre Internet o a través de alguna otra red basada en IP [Wikipedia]. </li></ul></ul><ul><li>Tecnología bastante reciente: </li></ul><ul><ul><li>A pesar de que en 1973 ya se comenzó con el experimental Network Voice Protocol, no es hasta los 90 cuando comienza a despegar. </li></ul></ul>
  3. 3. Breve Introducción a VoIP <ul><li>Utiliza toda la infraestructura IP existente: </li></ul><ul><ul><li>Intranets / Extranets / Internet. </li></ul></ul><ul><ul><li>Comparte conexión con los datos. </li></ul></ul><ul><ul><li>Consecuencias: </li></ul></ul><ul><ul><ul><li>Muy barata implantación. </li></ul></ul></ul><ul><ul><ul><ul><li>Conectividad no basada en el tiempo o la distancia. </li></ul></ul></ul></ul><ul><ul><ul><li>Problemas de QoS. </li></ul></ul></ul><ul><ul><ul><ul><li>VoIP es mucho más exigente que el tráfico de datos. </li></ul></ul></ul></ul>
  4. 4. Breve Introducción a VoIP <ul><li>Problemas: </li></ul><ul><ul><li>Relacionados con la QoS: </li></ul></ul><ul><ul><ul><li>Gran necesidad de ancho de banda para los flujos de datos. </li></ul></ul></ul><ul><ul><ul><li>Retardos (< 300 ms.): </li></ul></ul></ul><ul><ul><ul><ul><li>Latencia: tiempo necesario para enviar los paquetes IP de voz de un punto a su destino. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Jitter: variabilidad de la latencia. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Tiempo de procesamiento si se emplean medidas de seguridad (SRTP, MIKEY, IPsec, etc.). </li></ul></ul></ul></ul><ul><ul><li>Relacionados con la arquitectura de red: NAT, servidores STUN, etc. </li></ul></ul>
  5. 5. Breve Introducción a VoIP <ul><li>El número de protocolos diferentes implicados en la VoIP es elevado: </li></ul><ul><ul><li>Protocolos de señalización: SIP, H.225.0, etc. </li></ul></ul><ul><ul><li>Protocolos de streaming de datos: RTP, RTCP, SRTP, ZRTP, etc. </li></ul></ul><ul><ul><li>Protocolos de autenticación, seguridad, cifrado: MIKEY, S/MIME, TLS, etc. </li></ul></ul><ul><ul><li>Familias de protocolos: H.323, que utiliza H.225.0, H.235, H.245, etc. </li></ul></ul>
  6. 6. Breve Introducción a VoIP <ul><li>SIP: </li></ul><ul><ul><li>Session Initiation Protocol, protocolo del IETF para VoIP, texto y sesiones multimedia. </li></ul></ul><ul><ul><li>Protocolo de señalización de capa de aplicación para iniciación, modificación y terminación de sesiones de comunicación multimedia entre usuarios. </li></ul></ul>
  7. 7. Breve Introducción a VoIP <ul><li>SIP: Arquitectura. </li></ul>
  8. 8. Breve Introducción a VoIP <ul><li>SIP: Llamada. </li></ul>
  9. 9. Breve Introducción a VoIP <ul><li>RTP: </li></ul><ul><ul><li>A pesar del nombre, protocolo de nivel de aplicación. </li></ul></ul><ul><ul><li>Objetivo: transmitir información de audio y vídeo en tiempo real. </li></ul></ul><ul><ul><li>Inicialmente se publicó como protocolo multicast, aunque se ha usado en varias aplicaciones unicast. </li></ul></ul><ul><ul><li>Se usa frecuentemente en sistemas de streaming, junto a RTSP, videoconferencia y sistemas push to talk (en conjunción con H.323 o SIP). </li></ul></ul><ul><ul><li>Representa también la base de la industria de VoIP. </li></ul></ul>
  10. 10. Breve Introducción a VoIP <ul><li>SRTP: </li></ul><ul><ul><li>Secure Real-time Transport Protocol. </li></ul></ul><ul><ul><li>Define un perfil de RTP con la intención de proporcionar cifrado, autenticación del mensaje e integridad, y protección contra reenvíos a los datos RTP en aplicaciones unicast y multicast. </li></ul></ul><ul><ul><li>Fue publicado por primera vez por el IETF en marzo de 2004 como el RFC 3711. </li></ul></ul>
  11. 11. Breve Introducción a VoIP <ul><li>ZRTP: </li></ul><ul><ul><li>ZRTP es una extensión de RTP que describe el establecimiento de un intercambio Diffie-Hellman de claves para SRTP. </li></ul></ul><ul><ul><li>Fue enviado al IETF por Phil Zimmermann, Jon Callas y Alan Johnston el 5 de marzo 2006. </li></ul></ul>
  12. 12. Breve Introducción a VoIP <ul><li>ZRTP: </li></ul><ul><ul><li>Funcionalidades de ZRTP: </li></ul></ul><ul><ul><ul><li>No requiere el intercambio previo de otros secretos compartidos o una Infraestructura de Clave Pública (PKI) </li></ul></ul></ul><ul><ul><ul><li>Evita ataques de man-in-the-middle. </li></ul></ul></ul><ul><ul><ul><li>No delega en la señalización SIP para la gestión de claves ni en ningún servidor. </li></ul></ul></ul><ul><ul><ul><li>Soporta encriptación oportunística detectando automáticamente si el cliente VoIP del otro lado soporta ZRTP. </li></ul></ul></ul><ul><ul><ul><li>ZRTP puede usarse con cualquier protocolo de señalización como SIP, H.323, Jabber, y Peer-to-Peer SIP. </li></ul></ul></ul><ul><ul><ul><ul><li>ZRTP es independiente de la capa de señalización, puesto que realiza toda su negociación de claves dentro del flujo de datos RTP. </li></ul></ul></ul></ul>
  13. 13. Seguridad en Voz sobre IP <ul><li>Vulnerabilidades en VoIP: </li></ul><ul><ul><li>Ruptura de protocolos de autenticación usados en VoIP (HTTP-Digest). </li></ul></ul><ul><ul><li>Captura de tráfico VoIP. </li></ul></ul><ul><ul><li>Secuestro de sesiones. </li></ul></ul><ul><ul><li>Obtención del CallerID oculto. </li></ul></ul><ul><ul><li>Ataques de Denegación de Servicio (DoS). </li></ul></ul><ul><ul><li>Ataques a terminales. </li></ul></ul><ul><ul><li>Ataques en redes VoWiFi (VoIP sobre WiFi). </li></ul></ul><ul><ul><li>SPIT: Spam over IP Telephony. </li></ul></ul>
  14. 14. Seguridad en Voz sobre IP <ul><li>Medidas de seguridad en VoIP: </li></ul><ul><ul><li>Mecanismos de gestión de claves: </li></ul></ul><ul><ul><ul><li>Métodos: Pre-Shared key, Public key, Diffie-Hellman. </li></ul></ul></ul><ul><ul><ul><li>Protocolos para VoIP: MIKEY. </li></ul></ul></ul><ul><ul><li>Cifrado de los flujos de datos: </li></ul></ul><ul><ul><ul><li>TLS. </li></ul></ul></ul><ul><ul><ul><li>SRTP. </li></ul></ul></ul><ul><ul><ul><li>ZRTP. </li></ul></ul></ul><ul><ul><li>IPsec y VoIP. </li></ul></ul>
  15. 15. HTTP-Digest en VoIP <ul><li>HTTP-Digest es el método de autenticación para VoIP: </li></ul><ul><ul><li>Más sencillo. </li></ul></ul><ul><ul><li>Más eficiente: </li></ul></ul><ul><ul><ul><li>Ancho de banda. </li></ul></ul></ul><ul><ul><ul><li>Procesamiento (CPU). </li></ul></ul></ul><ul><ul><li>Más inseguro :-) </li></ul></ul>
  16. 16. HTTP-Digest en VoIP <ul><li>Funcionamiento: </li></ul><ul><ul><li>Se genera un texto concreto (lo que se conoce como “digest”) como desafío y se envía al usuario que se quiere autenticar. </li></ul></ul><ul><ul><li>El usuario lo cifra utilizando su contraseña y lo envía como respuesta.. </li></ul></ul><ul><ul><li>Si el cifrado es correcto, el autenticador podrá descifrarlo correctamente al recibir la respuesta y compararlo con el “digest” original. </li></ul></ul><ul><ul><li>El desafío cifrado empleado se usa como base para calcular una PMK (Pre-Master Key). </li></ul></ul>
  17. 17. HTTP-Digest en VoIP <ul><li>Dentro de un desafío existen varios campos diferenciados: </li></ul><ul><ul><li>realm: identifica las credenciales dentro de un mensaje SIP. Normalmente es el dominio del cual el servidor proxy SIP es responsable. </li></ul></ul><ul><ul><li>qop: significa protección de la calidad. Especifica qué esquemas de protección soporta el servidor. </li></ul></ul><ul><ul><li>nonce: string generado de forma única cada vez que un servidor genera un desafío “digest”. Se genera a partir de un dato arbitrario y una marca de tiempo. </li></ul></ul><ul><ul><li>opaque: string similar a una SYNCookie. </li></ul></ul><ul><ul><li>algorithm: por el momento sólo está soportado MD5. </li></ul></ul>
  18. 18. HTTP-Digest en VoIP <ul><li>Ejemplo: </li></ul><ul><ul><li>Desafío: </li></ul></ul><ul><ul><li>Digest realm=&quot;iptel.org&quot;, qop=&quot;auth,auth-int&quot;, nonce=&quot;dcd98b7102dd2f0e8b11d0f600bfb0c093&quot;, opaque=&quot;&quot;, algorithm=MD5 </li></ul></ul><ul><ul><li>Respuesta: </li></ul></ul><ul><ul><li>Digest username=&quot;jan&quot;, realm=&quot;iptel.org&quot;, nonce=&quot;dcd98b7102dd2f0e8b11d0f600bfb0c093&quot;, uri=&quot;sip:iptel.org&quot;, qop=auth, nc=00000001, cnonce=&quot;0a4f113b&quot;, response=&quot;6629fae49393a05397450978507c4ef1&quot;, opaque=&quot;&quot; </li></ul></ul>
  19. 19. HTTP-Digest en VoIP <ul><li>Herramientas para cracking HTTP-Digest: </li></ul><ul><ul><li>GNU/Linux: </li></ul></ul><ul><ul><ul><li>SIPcrack. </li></ul></ul></ul><ul><ul><li>MS Windows: </li></ul></ul><ul><ul><ul><li>Cain & Abel. </li></ul></ul></ul>
  20. 20. HTTP-Digest en VoIP <ul><li>SIPcrack: </li></ul><ul><ul><li>Herramienta programada por Martin J. Münch (http://www.codito.de/) que incorpora dos programas diferentes: </li></ul></ul><ul><ul><ul><li>sipdump: para capturar el tráfico relativo a la autenticación SIP dentro de un fichero de tráfico. </li></ul></ul></ul><ul><ul><ul><li>sipcrack: para atacar criptográficamente el desafío contenido en la autenticación. </li></ul></ul></ul>
  21. 21. HTTP-Digest en VoIP <ul><li>SIPcrack, uso: </li></ul><ul><ul><li>ARP Poison para capturar el tráfico: </li></ul></ul><ul><ul><ul><li>echo 1 > /proc/sys/net/ipv4/ip_forward </li></ul></ul></ul><ul><ul><ul><li>ettercap -o -T -P repoison_arp -M arp:remote /192.168.0.1/ /192.168.0.2/ </li></ul></ul></ul><ul><ul><li>Captura de tráfico: </li></ul></ul><ul><ul><ul><li>tshark -i eth0 -w captura.pcap ip host 192.168.0.2 </li></ul></ul></ul><ul><ul><li>Captura de los desafíos sip: </li></ul></ul><ul><ul><ul><li>sipdump -f captura.pcap -d sip.pcap </li></ul></ul></ul><ul><ul><ul><li>sipdump -i eth0 -d sip.pcap (hace los 2 pasos anteriores –captura de tráfico y de desafíos- en uno) </li></ul></ul></ul>
  22. 22. HTTP-Digest en VoIP <ul><li>SIPcrack, uso: </li></ul><ul><ul><li>Cracking de diccionario: </li></ul></ul><ul><ul><ul><li>sipcrack -d sip.pcap -w /usr/share/dict/spanish </li></ul></ul></ul><ul><ul><li>Cracking por fuerza bruta: </li></ul></ul><ul><ul><ul><li>seq 1 10000 | ./sipcrack -d sip.pcap –s </li></ul></ul></ul><ul><ul><li>Cracking con John the Ripper: </li></ul></ul><ul><ul><ul><li>john -i --stdout | ./sipcrack -d sip.pcap -s </li></ul></ul></ul>
  23. 23. HTTP-Digest en VoIP <ul><li>Cain & Abel: </li></ul><ul><ul><li>Desarrollado por Massimiliano Montoro (http://www.oxid.it) </li></ul></ul><ul><ul><li>Recuperador de contraseñas para sistemas operativos Microsoft. </li></ul></ul><ul><ul><li>Ha ido incorporando múltiples funcionalidades a lo largo del tiempo como: </li></ul></ul><ul><ul><ul><li>Ataques de ARP Poison. </li></ul></ul></ul><ul><ul><ul><li>Man-in-the-middle. </li></ul></ul></ul><ul><ul><ul><li>Análisis de tráfico HTTPS o SSHv1, etc. </li></ul></ul></ul><ul><ul><li>Entre sus características también destaca su capacidad para atacar a HTTP-Digest dentro de paquetes SIP. </li></ul></ul>
  24. 24. HTTP-Digest en VoIP <ul><li>Cain & Abel, uso: </li></ul><ul><ul><li>ARP Poison: </li></ul></ul><ul><ul><ul><li>Pulsamos el botón &quot;Start/Stop Sniffer&quot;. </li></ul></ul></ul><ul><ul><ul><li>Pulsamos el botón &quot;Add to list&quot;. </li></ul></ul></ul><ul><ul><ul><li>Realizamos un escaneo automático y seleccionamos el cliente VoIP y la PBX. </li></ul></ul></ul><ul><ul><ul><li>Dentro de la pestaña ARP Poison Routing, añadimos a los dos hosts involucrados. </li></ul></ul></ul>
  25. 25. HTTP-Digest en VoIP <ul><li>Cain & Abel: </li></ul>
  26. 26. HTTP-Digest en VoIP <ul><li>Cain & Abel: </li></ul><ul><ul><li>Capturar tráfico HTTP-Digest: </li></ul></ul><ul><ul><ul><li>En la pestaña Passwords vemos si se ha capturado alguna. </li></ul></ul></ul><ul><ul><li>Crackear HTTP-Digest: </li></ul></ul><ul><ul><ul><li>Seleccionamos la contraseña capturada (pestaña Passwords), pulsamos botón derecho y elegimos “Send to Cracker”. </li></ul></ul></ul>
  27. 27. HTTP-Digest en VoIP <ul><li>Cain & Abel: </li></ul>
  28. 28. Secuestro de sesiones en VoIP <ul><li>Al realizar una petición REGISTER usando SIP, se puede poner una dirección SIP diferente para el From: y para el Contact:. </li></ul><ul><li>Mediante un ataque MiTM y software de reinyección de mensajes SIP (SiVuS, por ejemplo), podemos modificar la petición y recibir los mensajes y tráfico del cliente legítimo. </li></ul>
  29. 29. Secuestro de sesiones en VoIP
  30. 30. Problemas con el CallerID en VoIP <ul><li>En una red PSTN, el Caller ID funciona así: </li></ul><ul><ul><li>Tu compañía telefónica envía tu número de teléfono en cada llamada (el CPN o Calling Party Number ), como si fuera el remitente en un sobre de correo. </li></ul></ul><ul><ul><li>Junto con el CPN se transmite un bit de privacidad que informa al conmutador telefónico del otro extremo si deseas compartir tu número con el receptor de la llamada o no. </li></ul></ul><ul><ul><li>Si tienes activado el bloqueo de llamada, la compañía de teléfono a la que estás llamando sabe tu número, pero no lo mostrará a la persona a la que llamas. </li></ul></ul>
  31. 31. Problemas con el CallerID en VoIP <ul><li>En VoIP los elementos intermedios pueden ser no confiables. </li></ul><ul><ul><li>Asterisk tuvo una vulnerabilidad en 2003 (CAN-2003-0779 Asterisk CallerID CDR SQL injection) que permitía conocer el CallerID incluso de los usuarios que deseaban ocultarlo. </li></ul></ul>
  32. 32. Captura de tráfico VoIP <ul><li>Para realizar una escucha no autorizada en VoIP simplemente es necesario realizar los siguientes pasos: </li></ul><ul><ul><li>Redirigir y capturar el tráfico VoIP que resulte de interés. </li></ul></ul><ul><ul><li>Analizar los flujos de datos y generar un volcado a fichero de un flujo de datos continuo. </li></ul></ul><ul><ul><li>Recodificar el flujo de datos para convertirlo a un formato fácilmente reproducible. </li></ul></ul>
  33. 33. Captura de tráfico VoIP <ul><li>Herramientas para la captura de tráfico VoIP: </li></ul><ul><ul><li>GNU/Linux: </li></ul></ul><ul><ul><ul><li>Oreka. </li></ul></ul></ul><ul><ul><ul><li>VoIPong. </li></ul></ul></ul><ul><ul><ul><li>Vomit. </li></ul></ul></ul><ul><ul><ul><li>WireShark. </li></ul></ul></ul><ul><ul><li>MS Windows: </li></ul></ul><ul><ul><ul><li>Cain & Abel. </li></ul></ul></ul>
  34. 34. Captura de tráfico VoIP <ul><li>Oreka: </li></ul><ul><ul><li>Desarrollado por el equipo de Audacity. </li></ul></ul><ul><ul><li>Sistema modular y multiplataforma diseñado para obtener y almacenar flujos de datos de audio, así como de los metadatos implicados en esas transmisiones. </li></ul></ul><ul><ul><li>Almacena sesiones RTP de VoIP haciendo una escucha pasiva de los paquetes. </li></ul></ul><ul><ul><ul><li>Los dos lados de la conversación se mezclan juntos y cada llamada se almacena en un fichero separado. </li></ul></ul></ul><ul><ul><ul><li>Si se detecta que la llamada ha empleado SIP o Skinny (SCCP), también son almacenados los metadatos de la misma. </li></ul></ul></ul><ul><ul><ul><li>Soporta múltiples códecs: A-Law, U-Law y GSM6.10. </li></ul></ul></ul>
  35. 35. Captura de tráfico VoIP <ul><li>Oreka: </li></ul><ul><ul><li>Su arquitectura modular hace que esté separado en tres servicios diferentes: </li></ul></ul><ul><ul><ul><li>Orkaudio, el servicio encargado de escuchar conversaciones VoIP y decodificarlas a ficheros WAV. </li></ul></ul></ul><ul><ul><ul><li>Orkweb, que proporciona una interfaz de administración web. </li></ul></ul></ul><ul><ul><ul><li>Orktrack, el servicio encargado de registrar las conversaciones VoIP en MySQL. </li></ul></ul></ul>
  36. 36. Captura de tráfico VoIP <ul><li>Oreka, uso: </li></ul><ul><ul><li>Lanzar el daemon orkaudio: </li></ul></ul><ul><ul><ul><li># orkaudio debug </li></ul></ul></ul><ul><ul><li>Analizar las capturas realizadas en /var/log/orkaudio y tratarlas con Audacity. </li></ul></ul>
  37. 37. Captura de tráfico VoIP <ul><li>VoIPong: </li></ul><ul><ul><li>Desarrollado por Murat Balaban: http://www.enderunix.org. </li></ul></ul><ul><ul><li>Detecta llamadas VoIP en una red y vuelca el contenido de las mismas en ficheros separados. </li></ul></ul><ul><ul><li>Si el códec empleado es G711 generará un fichero WAV, de lo contrario generará un fichero RAW de datos. </li></ul></ul><ul><ul><li>Actualmente soporta SIP, H323, Cisco's Skinny Client Protocol, RTP y RTCP. </li></ul></ul><ul><ul><li>Ha sido programado en C por razones de rendimiento y es código multiplataforma. </li></ul></ul>
  38. 38. Captura de tráfico VoIP <ul><li>VoIPong, uso: </li></ul><ul><ul><li>voipong -f -d4 </li></ul></ul><ul><ul><li>EnderUNIX VOIPONG Voice Over IP Sniffer starting... </li></ul></ul><ul><ul><li>Release 2.0, running on elektron [Linux 2.6.17-2-k7 #1 SMP Wed Sep 13 17:18:46 UTC 2006 i686] </li></ul></ul><ul><ul><li>(c) Murat Balaban http://www.enderunix.org/ </li></ul></ul><ul><ul><li>14/01/07 12:33:10: EnderUNIX VOIPONG Voice Over IP Sniffer starting... </li></ul></ul><ul><ul><li>14/01/07 12:33:10: Release 2.0 running on elektron [Linux 2.6.17-2-k7 #1 SMP Wed Sep 13 17:18:46 UTC 2006 i686]. (c) Murat Balaban http://www.enderunix.org/ [pid: 11483] </li></ul></ul><ul><ul><li>14/01/07 12:33:10: Default matching algorithm: lfp </li></ul></ul><ul><ul><li>14/01/07 12:33:10: loadmodule: /usr/local/etc/voipong/modules/modvocoder_pcma.so (@0xa7fe222a) </li></ul></ul><ul><ul><li>14/01/07 12:33:10: loadmodule: /usr/local/etc/voipong/modules/modvocoder_pcmu.so (@0xa7fe020d) </li></ul></ul><ul><ul><li>14/01/07 12:33:10: loaded 2 module(s) </li></ul></ul><ul><ul><li>14/01/07 12:33:10: loadnetfile: fopen(): No such file or directory </li></ul></ul><ul><ul><li>14/01/07 12:33:10: eth0 has been opened in promisc mode. (192.168.0.0/255.255.255.0) </li></ul></ul><ul><ul><li>14/01/07 12:33:48: created a call recorder instance! </li></ul></ul><ul><ul><li>14/01/07 12:33:49: [11492] VoIP call has been detected. </li></ul></ul><ul><ul><li>14/01/07 12:33:49: [11492] 192.168.0.2:10066 <--> 192.168.0.3:5008 </li></ul></ul><ul><ul><li>14/01/07 12:33:49: [11492] Encoding 3-GSM-8KHz, recording....... </li></ul></ul><ul><ul><li>14/01/07 12:34:22: [11492] maximum idle time [10 secs] has been elapsed for this call, the call might have been ended. </li></ul></ul><ul><ul><li>14/01/07 12:34:22: [11492] create_wave: no modules have been loaded to decode payload type: 3 </li></ul></ul><ul><ul><li>14/01/07 12:34:22: [11492] create_wave: leaving *.raw files untouched. </li></ul></ul><ul><ul><li>14/01/07 12:34:22: child [pid: 11492] terminated normally [exit code: 0] </li></ul></ul>
  39. 39. Captura de tráfico VoIP <ul><li>Vomit: </li></ul><ul><ul><li>Desarrollado por Niels Provos: http://vomit.xtdnet.nl. </li></ul></ul><ul><ul><li>Voice Over Misconfigured Internet Telephones. </li></ul></ul><ul><ul><li>Convierte conversaciones realizadas mediante un teléfono IP CISCO a ficheros WAV fácilmente reproducibles. </li></ul></ul>
  40. 40. Captura de tráfico VoIP <ul><li>Vomit, uso: </li></ul><ul><ul><li>vomit -r phone.dump -d eth0 | waveplay -S8000 -B16 -C1 </li></ul></ul>
  41. 41. Captura de tráfico VoIP <ul><li>Cain & Abel: </li></ul><ul><ul><li>Es capaz de extraer diferentes parámetros de una sesión RTP. </li></ul></ul><ul><ul><li>También puede capturar y decodificar los flujos de de datos de audio RTP codificados con los siguientes códecs: </li></ul></ul><ul><ul><ul><li>G711 uLaw, G771 aLaw, ADPCM, DVI4, LPC, GSM610, Microsoft GSM, L16, G729, Speex, iLBC, G723.1, G726-16, G726-24, G726-32, G726-40, LPC-10. </li></ul></ul></ul><ul><ul><li>Después de ser decodificado, el audio es guardado en ficheros WAV mono o estéreo en el disco duro. </li></ul></ul>
  42. 42. Captura de tráfico VoIP <ul><li>Cain & Abel, uso: </li></ul><ul><ul><li>Configuramos ARP Poisoning y Sniffing. </li></ul></ul><ul><ul><li>Seleccionamos la pestaña VoIP y vemos las conversaciones VoIP. </li></ul></ul><ul><ul><li>En tiempo real podemos pulsar botón derecho sobre ellas y escucharlas, o bien almacenarlas en el disco duro. </li></ul></ul>
  43. 43. Captura de tráfico VoIP <ul><li>Cain & Abel: </li></ul>
  44. 44. Captura de tráfico VoIP <ul><li>WireShark: </li></ul><ul><ul><li>A pesar de ser un analizador genérico, las últimas versiones disponen de plugins para VoIP muy útiles. </li></ul></ul><ul><ul><li>Uso: </li></ul></ul><ul><ul><ul><li>Dentro de la opción “Statistics” del menú principal tenemos varias opciones para analizar la captura. </li></ul></ul></ul><ul><ul><ul><li>Con “VoIP Calls” podremos hacer un estudio detallado del tráfico obtenido. </li></ul></ul></ul>
  45. 45. Captura de tráfico VoIP <ul><li>WireShark: </li></ul>
  46. 46. Captura de tráfico VoIP <ul><li>WireShark: </li></ul>
  47. 47. Captura de tráfico VoIP <ul><li>WireShark: </li></ul>
  48. 48. Ataques DoS en VoIP <ul><li>Las redes VoIP son muy vulnerables a ataques DoS: </li></ul><ul><ul><li>Los requisitos de QoS son muy exigentes. </li></ul></ul><ul><ul><li>Solamente con provocar retardos el ataque es un éxito. </li></ul></ul><ul><ul><li>Las medidas contra ataques DoS suponen latencias, en ocasiones inadmisibles. </li></ul></ul>
  49. 49. Ataques DoS en VoIP <ul><li>Ataques DoS específicos de VoIP: </li></ul><ul><ul><li>Saturación mediante paquetes RTP. </li></ul></ul><ul><ul><li>Malformación en mensajes INVITE: con Content-Lengh negativo, mayor o igual a 1073741823 bytes, etc. </li></ul></ul><ul><ul><li>Cierre de la comunicación mediante mensajes BYE. </li></ul></ul><ul><ul><li>Cierre de la comunicación mediante mensajes CANCEL. </li></ul></ul>
  50. 50. Ataques DoS en VoIP <ul><li>Herramientas: </li></ul><ul><ul><li>Herramientas de generación de tráfico, fuzzers: SIPsak, SIPp o SiVuS. </li></ul></ul><ul><ul><li>Herramientas de ataques DoS: </li></ul></ul><ul><ul><ul><li>Scripts (típicamente en Perl o Python). </li></ul></ul></ul><ul><ul><ul><li>Implementan específicamente alguno de los ataques ya comentados. </li></ul></ul></ul><ul><ul><ul><li>Ejemplos: UDPflood, RTPflood, INVITEflood o Teardown. </li></ul></ul></ul>
  51. 51. Ataques DoS en VoIP <ul><li>Herramientas: </li></ul><ul><ul><li>SIPSak: </li></ul></ul><ul><ul><ul><li>sipsak -F -s sip:6001@192.168.0.2 –vvvv </li></ul></ul></ul><ul><ul><li>SIPp: </li></ul></ul><ul><ul><ul><li>sipp 192.168.0.2 </li></ul></ul></ul>
  52. 52. Ataques DoS en VoIP <ul><ul><li>SiVuS: </li></ul></ul>
  53. 53. Ataques DoS en VoIP <ul><li>Herramientas: </li></ul><ul><ul><li>UDPflood: </li></ul></ul><ul><ul><ul><li>udpflood 192.168.0.3 192.168.0.2 5060 5060 10000000000 </li></ul></ul></ul><ul><ul><li>RTPflood: </li></ul></ul><ul><ul><ul><li>rtpflood 192.168.0.3 192.168.0.2 8000 8002 1000000 15000 2000 1886986910 </li></ul></ul></ul><ul><ul><li>INVITEflood: </li></ul></ul><ul><ul><ul><li>inviteflood eth0 500 192.168.0.2 192.168.0.2 1000000 -a hacker </li></ul></ul></ul>
  54. 54. Ataques DoS en VoIP <ul><li>Herramientas: </li></ul><ul><ul><li>Teardown: </li></ul></ul><ul><ul><ul><li>teardown eth0 500 192.168.0.2 192.168.0.2 6113C052-4E28-2AAF-3FB6-5DC44A483EF9@192.168.0.3 400 400 </li></ul></ul></ul><ul><ul><li>IAXflood: </li></ul></ul><ul><ul><ul><li>iaxflood 192.168.0.3 192.168.0.2 10000000 </li></ul></ul></ul><ul><ul><li>SIP-kill: </li></ul></ul><ul><ul><ul><li>sip-kill.pl -ieth0 -mBYE </li></ul></ul></ul>
  55. 55. Ataques MiTM en VoIP <ul><li>Al igual que en el resto de redes. </li></ul><ul><li>Ataques de ARP Poisoning sirven para hacer eavesdropping. </li></ul><ul><li>Ataques MiTM usando proxies SIP: </li></ul><ul><ul><li>SIP-Proxy: </li></ul></ul><ul><ul><ul><li>Herramienta similar a Proxomitron para HTTP. </li></ul></ul></ul><ul><ul><ul><li>Permite modificar en tiempo real los mensajes SIP entre el User Agent y el Proxy SIP real. </li></ul></ul></ul>
  56. 56. Ataques a terminales VoIP <ul><li>Dos tipos de ataques: </li></ul><ul><ul><li>Ataques DoS: sobre todo con malformación en mensajes: </li></ul></ul><ul><ul><ul><li>Express Talk v.1.03: los mensajes INVITE con Content-Lengh negativo provocan que la terminación anómala del programa. </li></ul></ul></ul><ul><ul><ul><li>CallConductor v. 1.03: ocurre lo mismo que con Express Talk. </li></ul></ul></ul><ul><ul><ul><li>X-Lite 1103: si se envían mensajes INVITE con un valor de Content-Length mayor o igual a 1073741823 bytes, el rendimiento se degrada de forma notable, consumiendo toda la memoria RAM y Virtual disponible en el sistema. </li></ul></ul></ul>
  57. 57. Ataques a terminales VoIP <ul><li>Dos tipos de ataques: </li></ul><ul><ul><li>Ataques durante el aprovisionamiento (provisioning): </li></ul></ul><ul><ul><ul><li>Captura de configuraciones (ej. Cisco CallManager, por TFTP). </li></ul></ul></ul><ul><ul><ul><li>Aprovisionamientos falsos, etc. </li></ul></ul></ul>
  58. 58. Ataques a redes VoWiFi <ul><li>Redes VoWiFi: las redes más vulnerables de todas. Se suman: </li></ul><ul><ul><li>Vulnerabilidades conocidas de TCP/IP. </li></ul></ul><ul><ul><li>Vulnerabilidades WiFi: </li></ul></ul><ul><ul><ul><li>Captura de tráfico. </li></ul></ul></ul><ul><ul><ul><li>Cracking WEP y WPA-PSK. </li></ul></ul></ul><ul><ul><ul><li>Ataques de desasociación. </li></ul></ul></ul><ul><ul><ul><li>Reinyección de tráfico. </li></ul></ul></ul><ul><ul><li>Vulnerabilidades VoIP. </li></ul></ul><ul><ul><li>Requisitos exigentes de VoIP. </li></ul></ul>
  59. 59. SPIT <ul><li>SPIT es SPam over Ip Telephony, spam a través de VoIP. </li></ul><ul><li>En las redes VoIP hay dos tipos de spam posible: </li></ul><ul><ul><li>De voz: mensajes comerciales. </li></ul></ul><ul><ul><li>De IM, mensajería instantánea: </li></ul></ul><ul><ul><ul><li>Malware. </li></ul></ul></ul><ul><ul><ul><li>Mensajes comerciales. </li></ul></ul></ul>
  60. 60. SPIT <ul><li>Las soluciones actuales son similares a las empleadas contra el spam de correo electrónico: </li></ul><ul><ul><li>SPF: Sender Policy Framework. </li></ul></ul><ul><ul><li>DomainKeys. </li></ul></ul><ul><ul><li>Greylists: listas grises. </li></ul></ul><ul><ul><li>... </li></ul></ul>
  61. 61. SPIT <ul><li>Hay herramientas básicas de generación de SPIT: </li></ul><ul><ul><li>Spitter: </li></ul></ul><ul><ul><ul><li>Se emplea conjuntamente con Asteriks. </li></ul></ul></ul><ul><ul><ul><li>Es preciso definir contextos y un dialplan para los spitters. </li></ul></ul></ul><ul><ul><ul><li>Actualmente es beta y solamente se desarrolla con intereses educacionales. </li></ul></ul></ul>
  62. 62. Referencias <ul><li>Presentaciones y trabajos de Irontec, Sara Rincón, María Unda, David Castellanos, Gaizka Isusquiza, Marcelo Pellón, Digium, Cisco, KTH de Suecia, publicaciones en IEEE y ACM, O’Reilly, VoIP Hacking, Syngress. </li></ul><ul><li>Todas las imágenes son propiedad de sus respectivos dueños. </li></ul>

×