Seguridad en VoIP - Hackelarre

download Seguridad en VoIP - Hackelarre

If you can't read please download the document

description

Charla sobre seguridad en VoIP impartida en el Hackelarre, Hackmeeting 2007, celebrado en Astra, Gernika.

Transcript of Seguridad en VoIP - Hackelarre

  • 1. Seguridad en VoIP

2. Breve Introduccin a VoIP

  • Qu es?
    • Voz sobre Protocolo de Internet, tambin llamado Voz sobre IP, VoIP, Telefona IP, Telefona por Internet, Telefona Broadband y Voz sobre Broadband es el enrutamiento de conversaciones de voz sobre Internet o a travs de alguna otra red basada en IP[Wikipedia].
  • Tecnologa bastante reciente:
    • A pesar de que en 1973 ya se comenz con el experimental Network Voice Protocol, no es hasta los 90 cuando comienza a despegar.

3. Breve Introduccin a VoIP

  • Utiliza toda la infraestructura IP existente:
    • Intranets / Extranets / Internet.
    • Comparte conexin con los datos.
    • Consecuencias:
      • Muy barata implantacin.
        • Conectividad no basada en el tiempo o la distancia.
      • Problemas de QoS.
        • VoIP es mucho ms exigente que el trfico de datos.

4. Breve Introduccin a VoIP

  • Problemas:
    • Relacionados con la QoS:
      • Gran necesidad de ancho de banda para los flujos de datos.
      • Retardos (< 300 ms.):
        • Latencia: tiempo necesario para enviar los paquetes IP de voz de un punto a su destino.
        • Jitter: variabilidad de la latencia.
        • Tiempo de procesamiento si se emplean medidas de seguridad (SRTP, MIKEY, IPsec, etc.).
    • Relacionados con la arquitectura de red: NAT, servidores STUN, etc.

5. Breve Introduccin a VoIP

  • El nmero de protocolos diferentes implicados en la VoIP es elevado:
    • Protocolos de sealizacin: SIP, H.225.0, etc.
    • Protocolos de streaming de datos: RTP, RTCP, SRTP, ZRTP, etc.
    • Protocolos de autenticacin, seguridad, cifrado: MIKEY, S/MIME, TLS, etc.
    • Familias de protocolos: H.323, que utiliza H.225.0, H.235, H.245, etc.

6. Breve Introduccin a VoIP

  • SIP:
    • Session Initiation Protocol, protocolo del IETF para VoIP, texto y sesiones multimedia.
    • Protocolo de sealizacin de capa de aplicacin para iniciacin, modificacin y terminacin de sesiones de comunicacin multimedia entre usuarios.

7. Breve Introduccin a VoIP

  • SIP: Arquitectura.

8. Breve Introduccin a VoIP

  • SIP: Llamada.

9. Breve Introduccin a VoIP

  • RTP:
    • A pesar del nombre, protocolo de nivel de aplicacin.
    • Objetivo: transmitir informacin de audio y vdeo en tiempo real.
    • Inicialmente se public como protocolo multicast, aunque se ha usado en varias aplicaciones unicast.
    • Se usa frecuentemente en sistemas de streaming, junto a RTSP, videoconferencia y sistemas push to talk (en conjuncin con H.323 o SIP).
    • Representa tambin la base de la industria de VoIP.

10. Breve Introduccin a VoIP

  • SRTP:
    • Secure Real-time Transport Protocol.
    • Define un perfil de RTP con la intencin de proporcionar cifrado, autenticacin del mensaje e integridad, y proteccin contra reenvos a los datos RTP en aplicaciones unicast y multicast.
    • Fue publicado por primera vez por el IETF en marzo de 2004 como el RFC 3711.

11. Breve Introduccin a VoIP

  • ZRTP:
    • ZRTP es una extensin de RTP que describe el establecimiento de un intercambio Diffie-Hellman de claves para SRTP.
    • Fue enviado al IETF por Phil Zimmermann, Jon Callas y Alan Johnston el 5 de marzo 2006.

12. Breve Introduccin a VoIP

  • ZRTP:
    • Funcionalidades de ZRTP:
      • No requiere el intercambio previo de otros secretos compartidos o una Infraestructura de Clave Pblica (PKI)
      • Evita ataques de man-in-the-middle.
      • No delega en la sealizacin SIP para la gestin de claves ni en ningn servidor.
      • Soporta encriptacin oportunstica detectando automticamente si el cliente VoIP del otro lado soporta ZRTP.
      • ZRTP puede usarse con cualquier protocolo de sealizacin como SIP, H.323, Jabber, y Peer-to-Peer SIP.
        • ZRTP es independiente de la capa de sealizacin, puesto que realiza toda su negociacin de claves dentro del flujo de datos RTP.

13. Seguridad en Voz sobre IP

  • Vulnerabilidades en VoIP:
    • Ruptura de protocolos de autenticacin usados en VoIP (HTTP-Digest).
    • Captura de trfico VoIP.
    • Secuestro de sesiones.
    • Obtencin del CallerID oculto.
    • Ataques de Denegacin de Servicio (DoS).
    • Ataques a terminales.
    • Ataques en redes VoWiFi (VoIP sobre WiFi).
    • SPIT: Spam over IP Telephony.

14. Seguridad en Voz sobre IP

  • Medidas de seguridad en VoIP:
    • Mecanismos de gestin de claves:
      • Mtodos: Pre-Shared key, Public key, Diffie-Hellman.
      • Protocolos para VoIP: MIKEY.
    • Cifrado de los flujos de datos:
      • TLS.
      • SRTP.
      • ZRTP.
    • IPsec y VoIP.

15. HTTP-Digest en VoIP

  • HTTP-Digest es el mtodo de autenticacin para VoIP:
    • Ms sencillo.
    • Ms eficiente:
      • Ancho de banda.
      • Procesamiento (CPU).
    • Ms inseguro :-)

16. HTTP-Digest en VoIP

  • Funcionamiento:
    • Se genera un texto concreto (lo que se conoce como digest) como desafo y se enva al usuario que se quiere autenticar.
    • El usuario lo cifra utilizando su contrasea y lo enva como respuesta..
    • Si el cifrado es correcto, el autenticador podr descifrarlo correctamente al recibir la respuesta y compararlo con el digest original.
    • El desafo cifrado empleado se usa como base para calcular una PMK (Pre-Master Key).

17. HTTP-Digest en VoIP

  • Dentro de un desafo existen varios campos diferenciados:
    • realm: identifica las credenciales dentro de un mensaje SIP. Normalmente es el dominio del cual el servidor proxy SIP es responsable.
    • qop: significa proteccin de la calidad. Especifica qu esquemas de proteccin soporta el servidor.
    • nonce: string generado de forma nica cada vez que un servidor genera un desafo digest. Se genera a partir de un dato arbitrario y una marca de tiempo.
    • opaque: string similar a una SYNCookie.
    • algorithm: por el momento slo est soportado MD5.

18. HTTP-Digest en VoIP

  • Ejemplo:
    • Desafo:
    • Digest realm="iptel.org", qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="", algorithm=MD5
    • Respuesta:
    • Digest username="jan", realm="iptel.org", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="sip:iptel.org", qop=auth, nc=00000001, cnonce="0a4f113b", response="6629fae49393a05397450978507c4ef1", opaque=""

19. HTTP-Digest en VoIP

  • Herramientas para cracking HTTP-Digest:
    • GNU/Linux:
      • SIPcrack.
      • sipvicious.
    • MS Windows:
      • Cain & Abel.

20. HTTP-Digest en VoIP

  • SIPcrack:
    • Herramienta programada por Martin J. Mnch (http://www.codito.de/) que incorpora dos programas diferentes:
      • sipdump: para capturar el trfico relativo a la autenticacin SIP dentro de un fichero de trfico.
      • sipcrack: para atacar criptogrficamente el desafo contenido en la autenticacin.

21. HTTP-Digest en VoIP

  • SIPcrack, uso:
    • ARP Poison para capturar el trfico:
      • echo 1 > /proc/sys/net/ipv4/ip_forward
      • ettercap -o -T -P repoison_arp -M arp:remote /192.168.0.1/ /192.168.0.2/
    • Captura de trfico:
      • tshark -i eth0 -w captura.pcap ip host 192.168.0.2
    • Captura de los desafos sip:
      • sipdump -f captura.pcap -d sip.pcap
      • sipdump -i eth0 -d sip.pcap (hace los 2 pasos anteriores captura de trfico y de desafos- en uno)

22. HTTP-Digest en VoIP

  • SIPcrack, uso:
    • Cracking de diccionario:
      • sipcrack -d sip.pcap -w /usr/share/dict/spanish
    • Cracking por fuerza bruta:
      • seq 1 10000 | ./sipcrack -d sip.pcap s
    • Cracking con John the Ripper:
      • john -i --stdout | ./sipcrack -d sip.pcap -s

23. HTTP-Digest en VoIP

  • sipvicious:
    • Desarrollado por Sandro Gauci.
    • Escrito en Python.
    • En modo texto.
    • Funcionalidades:
      • Bsqueda de equipamiento SIP en rangos de redes.
      • Cracking por rangos numricos y diccionario de autenticacin SIP.
      • Generacin de informes.

24. HTTP-Digest en VoIP

  • sipvicious, uso:
    • Scan:
      • ./svmap.py 192.168.0.0/24 -v
    • Listar usuarios:
      • /svwar.py 192.168.0.100
    • Cracking auth:
      • ./svcrack.py 192.168.0.100 u 6000

25. HTTP-Digest en VoIP

  • sipvicious:
    • http://sipvicious.org

26. HTTP-Digest en VoIP

  • Cain & Abel:
    • Desarrollado por Massimiliano Montoro (http://www.oxid.it)
    • Recuperador de contraseas para sistemas operativos Microsoft.
    • Ha ido incorporando mltiples funcionalidades a lo largo del tiempo como:
      • Ataques de ARP Poison.
      • Man-in-the-middle.
      • Anlisis de trfico HTTPS o SSHv1, etc.
    • Entre sus caractersticas tambin destaca su capacidad para atacar a HTTP-Digest dentro de paquetes SIP.

27. HTTP-Digest en VoIP

  • Cain & Abel, uso:
    • ARP Poison:
      • Pulsamos el botn "Start/Stop Sniffer".
      • Pulsamos el botn "Add to list".
      • Realizamos un escaneo automtico y seleccionamos el cliente VoIP y la PBX.
      • Dentro de la pestaa ARP Poison Routing, aadimos a los dos hosts involucrados.

28. HTTP-Digest en VoIP

  • Cain & Abel:

29. HTTP-Digest en VoIP

  • Cain & Abel:
    • Capturar trfico HTTP-Digest:
      • En la pestaa Passwords vemos si se ha capturado alguna.
    • Crackear HTTP-Digest:
      • Seleccionamos la contrasea capturada (pestaa Passwords), pulsamos botn derecho y elegimos Send to Cracker.

30. HTTP-Digest en VoIP

  • Cain & Abel:

31. Secuestro de sesiones en VoIP

  • Al realizar una peticin REGISTER usando SIP, se puede poner una direccin SIP diferente para el From: y para el Contact:.
  • Mediante un ataque MiTM y software de reinyeccin de mensajes SIP (SiVuS, por ejemplo), podemos modificar la peticin y recibir los mensajes y trfico del cliente legtimo.

32. Secuestro de sesiones en VoIP 33. Problemas con el CallerID en VoIP

  • En una red PSTN, el Caller ID funciona as:
    • Tu compaa telefnica enva tu nmero de telfono en cada llamada (el CPN oCalling Party Number ), como si fuera el remitente en un sobre de correo.
    • Junto con el CPN se transmite un bit de privacidad que informa al conmutador telefnico del otro extremo si deseas compartir tu nmero con el receptor de la llamada o no.
    • Si tienes activado el bloqueo de llamada, la compaa de telfono a la que ests llamando sabe tu nmero, pero no lo mostrar a la persona a la que llamas.

34. Problemas con el CallerID en VoIP

  • En VoIP los elementos intermedios pueden ser no confiables.
    • Asterisk tuvo una vulnerabilidad en 2003 (CAN-2003-0779Asterisk CallerID CDR SQL injection) que permita conocer el CallerID incluso de los usuarios que deseaban ocultarlo.

35. Captura de trfico VoIP

  • Para realizar una escucha no autorizada en VoIP simplemente es necesario realizar los siguientes pasos:
    • Redirigir y capturar el trfico VoIP que resulte de inters.
    • Analizar los flujos de datos y generar un volcado a fichero de un flujo de datos continuo.
    • Recodificar el flujo de datos para convertirlo a un formato fcilmente reproducible.

36. Captura de trfico VoIP

  • Herramientas para la captura de trfico VoIP:
    • GNU/Linux:
      • Oreka.
      • VoIPong.
      • Vomit.
      • WireShark.
    • MS Windows:
      • Cain & Abel.

37. Captura de trfico VoIP

  • Oreka:
    • Desarrollado por el equipo de Audacity.
    • Sistema modular y multiplataforma diseado para obtener y almacenar flujos de datos de audio, as como de los metadatos implicados en esas transmisiones.
    • Almacena sesiones RTP de VoIP haciendo una escucha pasiva de los paquetes.
      • Los dos lados de la conversacin se mezclan juntos y cada llamada se almacena en un fichero separado.
      • Si se detecta que la llamada ha empleado SIP o Skinny (SCCP), tambin son almacenados los metadatos de la misma.
      • Soporta mltiples cdecs: A-Law, U-Law y GSM6.10.

38. Captura de trfico VoIP

  • Oreka:
    • Su arquitectura modular hace que est separado en tres servicios diferentes:
      • Orkaudio, el servicio encargado de escuchar conversaciones VoIP y decodificarlas a ficheros WAV.
      • Orkweb, que proporciona una interfaz de administracin web.
      • Orktrack, el servicio encargado de registrar las conversaciones VoIP en MySQL.

39. Captura de trfico VoIP

  • Oreka, uso:
    • Lanzar el daemon orkaudio:
      • # orkaudio debug
    • Analizar las capturas realizadas en /var/log/orkaudio y tratarlas con Audacity.

40. Captura de trfico VoIP

  • VoIPong:
    • Desarrollado por Murat Balaban: http://www.enderunix.org.
    • Detecta llamadas VoIP en una red y vuelca el contenido de las mismas en ficheros separados.
    • Si el cdec empleado es G711 generar un fichero WAV, de lo contrario generar un fichero RAW de datos.
    • Actualmente soporta SIP, H323, Cisco's Skinny Client Protocol, RTP y RTCP.
    • Ha sido programado en C por razones de rendimiento y es cdigo multiplataforma.

41. Captura de trfico VoIP

  • VoIPong, uso:
    • voipong -f -d4
    • EnderUNIX VOIPONG Voice Over IP Sniffer starting...
    • 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/
    • 14/01/07 12:33:10: EnderUNIX VOIPONG Voice Over IP Sniffer starting...
    • 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]
    • 14/01/07 12:33:10: Default matching algorithm: lfp
    • 14/01/07 12:33:10: loadmodule: /usr/local/etc/voipong/modules/modvocoder_pcma.so (@0xa7fe222a)
    • 14/01/07 12:33:10: loadmodule: /usr/local/etc/voipong/modules/modvocoder_pcmu.so (@0xa7fe020d)
    • 14/01/07 12:33:10: loaded 2 module(s)
    • 14/01/07 12:33:10: loadnetfile: fopen(): No such file or directory
    • 14/01/07 12:33:10: eth0 has been opened inpromisc mode. (192.168.0.0/255.255.255.0)
    • 14/01/07 12:33:48: created a call recorder instance!
    • 14/01/07 12:33:49: [11492] VoIP call has been detected.
    • 14/01/07 12:33:49: [11492] 192.168.0.2:10066 192.168.0.3:5008
    • 14/01/07 12:33:49: [11492] Encoding 3-GSM-8KHz, recording.......
    • 14/01/07 12:34:22: [11492] maximum idle time [10 secs] has been elapsed for this call, the call might have been ended.
    • 14/01/07 12:34:22: [11492] create_wave: no modules have been loaded to decode payload type: 3
    • 14/01/07 12:34:22: [11492] create_wave: leaving *.raw files untouched.
    • 14/01/07 12:34:22: child [pid: 11492] terminated normally [exit code: 0]

42. Captura de trfico VoIP

  • Vomit:
    • Desarrollado por Niels Provos: http://vomit.xtdnet.nl.
    • Voice Over Misconfigured Internet Telephones.
    • Convierte conversaciones realizadas mediante un telfono IP CISCO a ficheros WAV fcilmente reproducibles.

43. Captura de trfico VoIP

  • Vomit, uso:
    • vomit -r phone.dump -d eth0 | waveplay -S8000 -B16 -C1

44. Captura de trfico VoIP

  • Cain & Abel:
    • Es capaz de extraer diferentes parmetros de una sesin RTP.
    • Tambin puede capturar y decodificar los flujos de de datos de audio RTP codificados con los siguientes cdecs:
      • 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.
    • Despus de ser decodificado, el audio es guardado en ficheros WAV mono o estreo en el disco duro.

45. Captura de trfico VoIP

  • Cain & Abel, uso:
    • Configuramos ARP Poisoning y Sniffing.
    • Seleccionamos la pestaa VoIP y vemos las conversaciones VoIP.
    • En tiempo real podemos pulsar botn derecho sobre ellas y escucharlas, o bien almacenarlas en el disco duro.

46. Captura de trfico VoIP

  • Cain & Abel:

47. Captura de trfico VoIP

  • WireShark:
    • A pesar de ser un analizador genrico, las ltimas versiones disponen de plugins para VoIP muy tiles.
    • Uso:
      • Dentro de la opcin Statistics del men principal tenemos varias opciones para analizar la captura.
      • Con VoIP Calls podremos hacer un estudio detallado del trfico obtenido.

48. Captura de trfico VoIP

  • WireShark:

49. Captura de trfico VoIP

  • WireShark:

50. Captura de trfico VoIP

  • WireShark:

51. Ataques DoS en VoIP

  • Las redes VoIP son muy vulnerables a ataques DoS:
    • Los requisitos de QoS son muy exigentes.
    • Solamente con provocar retardos el ataque es un xito.
    • Las medidas contra ataques DoS suponen latencias, en ocasiones inadmisibles.

52. Ataques DoS en VoIP

  • Ataques DoS especficos de VoIP:
    • Saturacin mediante paquetes RTP.
    • Malformacin en mensajes INVITE: con Content-Lengh negativo, mayor o igual a 1073741823 bytes, etc.
    • Cierre de la comunicacin mediante mensajes BYE.
    • Cierre de la comunicacin mediante mensajes CANCEL.

53. Ataques DoS en VoIP

  • Herramientas:
    • Herramientas de generacin de trfico, fuzzers: SIPsak, SIPp o SiVuS.
    • Herramientas de ataques DoS:
      • Scripts (tpicamente en Perl o Python).
      • Implementan especficamente alguno de los ataques ya comentados.
      • Ejemplos: UDPflood, RTPflood, INVITEflood o Teardown.

54. Ataques DoS en VoIP

  • Herramientas:
    • SIPSak:
    • SIPp:
      • sipp 192.168.0.2
    • Hay bastantes ms (nastysip, etc.), aunque muchas estn en fase alpha o beta.

55. Ataques DoS en VoIP

    • SiVuS:

56. Ataques DoS en VoIP

  • Herramientas:
    • UDPflood:
      • udpflood 192.168.0.3 192.168.0.2 5060 5060 10000000000
    • RTPflood:
      • rtpflood 192.168.0.3 192.168.0.2 8000 8002 1000000 15000 2000 1886986910
    • INVITEflood:
      • inviteflood eth0 500 192.168.0.2 192.168.0.2 1000000 -a hacker

57. Ataques DoS en VoIP

  • Herramientas:
    • Teardown:
    • IAXflood:
      • iaxflood 192.168.0.3 192.168.0.2 10000000
    • SIP-kill:
      • sip-kill.pl -ieth0 mBYE
    • Exploits propios de Asterisk (ver Milw0rm, SecurityFocus, etc.).

58. Ataques MiTM en VoIP

  • Al igual que en el resto de redes.
  • Ataques de ARP Poisoning sirven para hacer eavesdropping.
  • Ataques MiTM usando proxies SIP:
    • SIP-Proxy:
      • Herramienta similar a Proxomitron para HTTP.
      • Permite modificar en tiempo real los mensajes SIP entre el User Agent y el Proxy SIP real.

59. Ataques a terminales VoIP

  • Dos tipos de ataques:
    • Ataques DoS: sobre todo con malformacin en mensajes:
      • Express Talk v.1.03: los mensajes INVITEcon Content-Lengh negativo provocan que la terminacin anmala del programa.
      • CallConductor v. 1.03: ocurre lo mismo que con Express Talk.
      • X-Lite 1103: si se envan 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.

60. Ataques a terminales VoIP

  • Dos tipos de ataques:
    • Ataques durante el aprovisionamiento (provisioning):
      • Captura de configuraciones (ej. Cisco CallManager, por TFTP).
      • Aprovisionamientos falsos, etc.

61. Ataques a redes VoWiFi

  • Redes VoWiFi: las redes ms vulnerables de todas. Se suman:
    • Vulnerabilidades conocidas de TCP/IP.
    • Vulnerabilidades WiFi:
      • Captura de trfico.
      • Cracking WEP y WPA-PSK.
      • Ataques de desasociacin.
      • Reinyeccin de trfico.
    • Vulnerabilidades VoIP.
    • Requisitos exigentes de VoIP.

62. Ataques a redes VoWiFi

  • Redes VoWiFi:

VoIP Wi-Fi VoWiFi QoS Seguridad 63. Ataques a redes VoWiFi

  • Redes VoWiFi: las redes ms vulnerables de todas. Se suman:
    • Vulnerabilidades conocidas de TCP/IP.
    • Vulnerabilidades WiFi:
      • Captura de trfico.
      • Cracking WEP y WPA-PSK.
      • Ataques de desasociacin.
      • Reinyeccin de trfico.
    • Vulnerabilidades VoIP.
    • Requisitos exigentes de VoIP.

64. SPIT

  • SPIT es SPam over Ip Telephony,spama travs de VoIP.
  • En las redes VoIP hay dos tipos de spam posible:
    • De voz: mensajes comerciales.
    • De IM, mensajera instantnea:
      • Malware.
      • Mensajes comerciales.

65. SPIT

  • Las soluciones actuales son similares a las empleadas contra el spam de correo electrnico:
    • SPF: Sender Policy Framework.
    • DomainKeys.
    • Greylists: listas grises.
    • ...

66. SPIT

  • Hay herramientas bsicas de generacin de SPIT:
    • Spitter:
      • Se emplea conjuntamente con Asterisk.
      • Es preciso definir contextos y un dialplan para los spitters.
      • Actualmente es beta y solamente se desarrolla con intereses educacionales.

67. Referencias

  • Presentaciones y trabajos de Irontec, Sara Rincn, Mara Unda, David Castellanos, Gaizka Isusquiza, Marcelo Pelln, Digium, Cisco, KTH de Suecia, publicaciones en IEEE y ACM, OReilly, VoIP Hacking, Syngress.
  • Todas las imgenes son propiedad de sus respectivos dueos.
  • Esta obra est protegida por una licencia CC by-sa 2.5, sintete libre de usarla bajo esos trminos.