Ataque de redireccion de llamadas en servidores Asterisk

Contextualización

El protocolo SIP (Session Initialization Protocol) es un protocolo de señalización (application-layer control) creado para administrar sesiones multimedia entre dos o más partes. Muchos se confunden pensando en que el protocolo SIP es quien transporta la voz propiamente dicha pero no es así, esta labor la realiza otro protocolo que veremos más adelante; de lo que sí se encarga SIP es de la comunicación necesaria para establecer una llamada, modificarla, así como para finalizarla.

El protocolo SIP fue diseñado con la premisa de la simplicidad en mente, se trata de un protocolo de texto con mensajes de comunicación sencillos. Inclusive SIP comparte algunos códigos de estatus con HTTP como el familiar “404: Not found” Es un protocolo peer-to-peer.

Es decir que prácticamente toda la lógica es almacenada en los endpoints.

Señalización SIP: Métodos y respuestas

Métodos

Método Descripción
INVITEInvita a un usuario a una llamada.
ACKFacilita el intercambio de mensajes confiables.
BYETermina una conexión entre usuarios o declina una llamada.
CANCELTermina un requerimiento o búsqueda por un usuario.
OPTIONSSolicita información acerca de capacidades del servidor SIP.
REGISTERRegistra una ubicación de usuario.
INFOUsado para señalización en mitad de sesión. Para intercambiar información.

Respuestas

Response Code Response Category Response Description
100InformationalTrying
180InformationalRinging
181InformationalCall is being forwarded
182InformationalQueued
200SuccessOK
300RedirectionMultiple choices
301RedirectionMoved permanently
302RedirectionMoved temporarily
303RedirectionSee other
305RedirectionUse proxy
380RedirectionAlternative service
400Client ErrorBad request
401Client ErrorUnauthorized
402Client ErrorPayment required
403Client ErrorForbidden
404Client ErrorNot found
405Client ErrorMethod not allowed
406Client ErrorNot acceptable
407Client ErrorProxy authentication required
408Client ErrorRequest timeout
409Client ErrorConflict
410Client ErrorGone
411Client ErrorLength required
413Client ErrorRequest entity too large
414Client ErrorRequest URI too large
415Client ErrorUnsupported media type
420Client ErrorBad extension
480Client ErrorTemporarily not available
481Client ErrorCall leg/transaction does not exist
482Client ErrorLoop detected
483Client ErrorToo many hops
484Client ErrorAddress incomplete
485Client ErrorAmbiguous
486Client ErrorBusy here
500Server ErrorInternal server error
501Server ErrorNot implemented
502Server ErrorBad gateway
503Server ErrorService unavailable
504Server ErrorGateway time out
505Server ErrorSIP version not supported
600Global FailuresBusy everywhere
603Global FailuresDecline
604Global FailuresDoes not exist anywhere
606Global FailuresNot acceptable

SIP y Asterisk

Algunos detalles a tener en cuenta cuando se usa el protocolo SIP con Asterisk son los siguientes:

  • A pesar de que SIP es independiente de la capa de transporte (puede ser usado con TCP, UDP, ATM, X.25, entre otros) en Asterisk su implementación está limitada a UDP.
  • Por omisión se usa el puerto 5060, pero este parámetro se puede modificar en el archivo sip.conf.
  • SIP adolece de problemas de NAT.
  • En Asterisk es posible hacer diagnóstico del protocolo SIP. Se verá esto más adelante.

Arquitectura de una red de VoIP



El Ataque

El ataque, básicamente, consiste en que el atacante debe de esperar a que la victima envié una petición de INVITE a lo que el atacante responde rápidamente con un mensaje SIP de redirección, provocando que la víctima envié de nuevo un INVITE pero esta vez con los datos que el atacante especifico.

El Escenario

El escenario para esta practica es relativamente sencillo, solo se necesita un servidor Asterisk, con un plan de marcacion sencillo, mínimo 3 clientes (para este caso son 3 softphones) y la herramienta RedirectPoison, que puede ser instalada en su maquina o utilizar backtrack que ya la trae instalada. Pasamos a describir cada uno (se tiene en cuenta que por falta de recursos todo se encuentra virtualozado con Virtualbox):

Servidor Asterisk (Elastix) IP 192.168.0.102, tiene configurado tres extensiones 100, 102 y la 105, todo lo demás esta en la configuración por default.

Cliente 1 Softphone Ekiga IP 192.168.0.100 extension 102 –> EXTENSION HACIA DONDE SE REDIRIGEN LAS LLAMADAS

Cliente 2 Softphone Zoiper, en una maquina windows XP, IP 192.168.0.104, extension 100 –> VICTIMA

Cliente 3 Softphone X-lite, en la misma maquina windows XP, IP 192.168.0.104, Extension 105 –> USUARIO CUALQUIERA.

La idea de la practica es marcar desde la extensión victima (100) hacia la extensión usuario cualquiera (105) y que esta llamada sea automáticamente redirigida hacia la extensión 102.

Ahora si manos a la obra.

El demo lo hice en un vídeo para mas facilidad y para que se entienda muchísimo mejor, es mi primer vídeo, no tiene audio, así que por favor mucha paciencia XD, prometo mejorar.

Demostración del ataque

Fuente 1 –> Asterisk

Fuente 2 –> Hacking Exposed VoIP

Bueno espero y les haya gustado y hasta la próxima

No Comments