hacktricks/network-services-pentesting/pentesting-voip/basic-voip-protocols
2024-05-05 21:58:36 +00:00
..
README.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 21:58:36 +00:00
sip-session-initiation-protocol.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 21:58:36 +00:00

Protocolos básicos de VoIP

Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

WhiteIntel

WhiteIntel es un motor de búsqueda alimentado por la dark web que ofrece funcionalidades gratuitas para verificar si una empresa o sus clientes han sido comprometidos por malwares de robo.

El objetivo principal de WhiteIntel es combatir los secuestros de cuentas y los ataques de ransomware resultantes de malwares que roban información.

Puedes visitar su sitio web y probar su motor de forma gratuita en:

{% embed url="https://whiteintel.io" %}


Protocolos de señalización

SIP (Protocolo de Inicio de Sesión)

Este es el estándar de la industria, para obtener más información consulta:

{% content-ref url="sip-session-initiation-protocol.md" %} sip-session-initiation-protocol.md {% endcontent-ref %}

MGCP (Protocolo de Control de Puerta de Enlace Multimedia)

MGCP (Protocolo de Control de Puerta de Enlace Multimedia) es un protocolo de señalización y control de llamadas descrito en el RFC 3435. Opera en una arquitectura centralizada, que consta de tres componentes principales:

  1. Agente de Llamadas o Controlador de Puerta de Enlace Multimedia (MGC): La puerta de enlace maestra en la arquitectura MGCP es responsable de gestionar y controlar las puertas de enlace multimedia. Se encarga de los procesos de configuración, modificación y terminación de llamadas. El MGC se comunica con las puertas de enlace multimedia utilizando el protocolo MGCP.
  2. Puertas de Enlace Multimedia (MGs) o Puertas de Enlace Esclavas: Estos dispositivos convierten flujos de medios digitales entre diferentes redes, como la telefonía conmutada tradicional y las redes IP conmutadas por paquetes. Son gestionados por el MGC y ejecutan comandos recibidos de él. Las puertas de enlace multimedia pueden incluir funciones como transcodificación, paquetización y cancelación de eco.
  3. Puertas de Enlace de Señalización (SGs): Estas puertas de enlace son responsables de convertir mensajes de señalización entre diferentes redes, permitiendo una comunicación fluida entre sistemas de telefonía tradicionales (por ejemplo, SS7) y redes basadas en IP (por ejemplo, SIP o H.323). Las puertas de enlace de señalización son cruciales para la interoperabilidad y aseguran que la información de control de llamadas se comunique correctamente entre las diferentes redes.

En resumen, MGCP centraliza la lógica de control de llamadas en el agente de llamadas, lo que simplifica la gestión de las puertas de enlace multimedia y de señalización, proporcionando una mejor escalabilidad, fiabilidad y eficiencia en las redes de telecomunicaciones.

SCCP (Protocolo de Control de Cliente Delgado)

El Protocolo de Control de Cliente Delgado (SCCP) es un protocolo de señalización y control de llamadas propietario propiedad de Cisco Systems. Se utiliza principalmente para la comunicación entre el Gestor de Comunicaciones Unificadas de Cisco (anteriormente conocido como CallManager) y los teléfonos IP de Cisco u otros dispositivos de voz y video de Cisco.

SCCP es un protocolo ligero que simplifica la comunicación entre el servidor de control de llamadas y los dispositivos finales. Se le llama "Delgado" debido a su diseño minimalista y requisitos de ancho de banda reducidos en comparación con otros protocolos de VoIP como H.323 o SIP.

Los componentes principales de un sistema basado en SCCP son:

  1. Servidor de Control de Llamadas: Este servidor, típicamente un Gestor de Comunicaciones Unificadas de Cisco, gestiona los procesos de configuración, modificación y terminación de llamadas, así como otras funciones de telefonía como la transferencia de llamadas, el reenvío de llamadas y la retención de llamadas.
  2. Dispositivos Finales SCCP: Estos son dispositivos como teléfonos IP, unidades de videoconferencia u otros dispositivos de voz y video de Cisco que utilizan SCCP para comunicarse con el servidor de control de llamadas. Se registran en el servidor, envían y reciben mensajes de señalización y siguen las instrucciones proporcionadas por el servidor de control de llamadas para el manejo de llamadas.
  3. Pasarelas: Estos dispositivos, como pasarelas de voz o puertas de enlace multimedia, son responsables de convertir flujos de medios entre diferentes redes, como la telefonía conmutada tradicional y las redes IP conmutadas por paquetes. También pueden incluir funcionalidades adicionales, como transcodificación o cancelación de eco.

SCCP ofrece un método de comunicación simple y eficiente entre los servidores de control de llamadas de Cisco y los dispositivos finales. Sin embargo, vale la pena señalar que SCCP es un protocolo propietario, lo que puede limitar la interoperabilidad con sistemas no Cisco. En tales casos, otros protocolos estándar de VoIP como SIP pueden ser más adecuados.

H.323

H.323 es una suite de protocolos para comunicación multimedia, incluyendo voz, video y conferencias de datos sobre redes conmutadas por paquetes, como redes basadas en IP. Fue desarrollado por la Unión Internacional de Telecomunicaciones (ITU-T) y proporciona un marco integral para gestionar sesiones de comunicación multimedia.

Algunos componentes clave de la suite H.323 incluyen:

  1. Terminales: Estos son dispositivos finales, como teléfonos IP, sistemas de videoconferencia o aplicaciones de software, que admiten H.323 y pueden participar en sesiones de comunicación multimedia.
  2. Pasarelas: Estos dispositivos convierten flujos de medios entre diferentes redes, como la telefonía conmutada tradicional y las redes IP conmutadas por paquetes, permitiendo la interoperabilidad entre H.323 y otros sistemas de comunicación. También pueden incluir funcionalidades adicionales, como transcodificación o cancelación de eco.
  3. Gatekeepers: Estos son componentes opcionales que proporcionan servicios de control y gestión de llamadas en una red H.323. Realizan funciones como traducción de direcciones, gestión de ancho de banda y control de admisión, ayudando a gestionar y optimizar los recursos de red.
  4. Unidades de Control Multipunto (MCUs): Estos dispositivos facilitan conferencias multipunto al gestionar y mezclar flujos de medios de múltiples dispositivos finales. Las MCUs permiten funciones como control de diseño de video, conmutación activada por voz y presencia continua, lo que permite organizar conferencias a gran escala con múltiples participantes.

H.323 admite una variedad de códecs de audio y video, así como otros servicios complementarios como reenvío de llamadas, transferencia de llamadas, retención de llamadas y espera de llamadas. A pesar de su amplia adopción en los primeros días de VoIP, H.323 ha sido gradualmente reemplazado por protocolos más modernos y flexibles como el Protocolo de Inicio de Sesión (SIP), que ofrece una mejor interoperabilidad y una implementación más sencilla. Sin embargo, H.323 sigue siendo utilizado en muchos sistemas heredados y continúa siendo compatible con varios proveedores de equipos.

IAX (Intercambio Entre Asterisk)

IAX (Intercambio Entre Asterisk) es un protocolo de señalización y control de llamadas utilizado principalmente para la comunicación entre servidores Asterisk PBX (Centralita Privada) y otros dispositivos VoIP. Fue desarrollado por Mark Spencer, el creador del software de PBX de código abierto Asterisk, como una alternativa a otros protocolos de VoIP como SIP y H.323.

IAX es conocido por su simplicidad, eficiencia y facilidad de implementación. Algunas características clave de IAX incluyen:

  1. Puerto UDP único: IAX utiliza un único puerto UDP (4569) para el tráfico de señalización y medios, lo que simplifica el tránsito por cortafuegos y NAT, facilitando su implementación en diversos entornos de red.
  2. Protocolo Binario: A diferencia de los protocolos basados en texto como SIP, IAX es un protocolo binario, lo que reduce su consumo de ancho de banda y lo hace más eficiente para transmitir datos de señalización y medios.
  3. Troncalización: IAX admite la troncalización, lo que permite combinar múltiples llamadas en una única conexión de red, reduciendo la sobrecarga y mejorando la utilización del ancho de banda.
  4. Cifrado nativo: IAX tiene soporte incorporado para el cifrado, utilizando métodos como RSA para el intercambio de claves y AES para el cifrado de medios, proporcionando una comunicación segura entre los puntos finales.
  5. Comunicación punto a punto: IAX se puede utilizar para la comunicación directa entre puntos finales sin necesidad de un servidor central, lo que permite un enrutamiento de llamadas más simple y eficiente.

A pesar de sus beneficios, IAX tiene algunas limitaciones, como su enfoque principal en el ecosistema de Asterisk y una adopción menos extendida en comparación con protocolos más establecidos como SIP. Como resultado, IAX podría no ser la mejor opción para la interoperabilidad con sistemas o dispositivos no relacionados con Asterisk. Sin embargo, para aquellos que trabajan dentro del entorno de Asterisk, IAX ofrece una solución robusta y eficiente para la comunicación de VoIP.

Protocolos de Transmisión y Transporte

SDP (Protocolo de Descripción de Sesiones)

SDP (Session Description Protocol) es un formato basado en texto utilizado para describir las características de sesiones multimedia, como voz, video o conferencias de datos, en redes IP. Fue desarrollado por el Grupo de Trabajo de Ingeniería de Internet (IETF) y está definido en el RFC 4566. SDP no maneja la transmisión real de medios o el establecimiento de sesiones, pero se utiliza en conjunto con otros protocolos de señalización, como SIP (Protocolo de Inicio de Sesión), para negociar e intercambiar información sobre los flujos de medios y sus atributos.

Algunos elementos clave de SDP incluyen:

  1. Información de Sesión: SDP describe los detalles de una sesión multimedia, incluyendo el nombre de la sesión, la descripción de la sesión, la hora de inicio y la hora de finalización.
  2. Flujos de Medios: SDP define las características de los flujos de medios, como el tipo de medio (audio, video o texto), el protocolo de transporte (por ejemplo, RTP o SRTP) y el formato de medio (por ejemplo, información de códec).
  3. Información de Conexión: SDP proporciona información sobre la dirección de red (dirección IP) y el número de puerto donde se deben enviar o recibir los medios.
  4. Atributos: SDP admite el uso de atributos para proporcionar información adicional y opcional sobre una sesión o flujo de medios. Los atributos se pueden utilizar para especificar varias características como claves de cifrado, requisitos de ancho de banda o mecanismos de control de medios.

SDP se utiliza típicamente en el siguiente proceso:

  1. Una parte iniciadora crea una descripción SDP de la sesión multimedia propuesta, incluyendo los detalles de los flujos de medios y sus atributos.
  2. La descripción SDP se envía a la parte receptora, generalmente incrustada en un mensaje de protocolo de señalización como SIP o RTSP.
  3. La parte receptora procesa la descripción SDP y, en función de sus capacidades, puede aceptar, rechazar o modificar la sesión propuesta.
  4. La descripción SDP final se envía de vuelta a la parte iniciadora como parte del mensaje de protocolo de señalización, completando el proceso de negociación.

La simplicidad y flexibilidad de SDP lo convierten en un estándar ampliamente adoptado para describir sesiones multimedia en varios sistemas de comunicación, desempeñando un papel crucial en el establecimiento y gestión de sesiones multimedia en tiempo real en redes IP.

RTP / RTCP / SRTP / ZRTP

  1. RTP (Protocolo de Transporte en Tiempo Real): RTP es un protocolo de red diseñado para la entrega de datos de audio y video, u otros medios en tiempo real, en redes IP. Desarrollado por el IETF y definido en el RFC 3550, RTP se utiliza comúnmente con protocolos de señalización como SIP y H.323 para habilitar la comunicación multimedia. RTP proporciona mecanismos para la sincronización, secuenciación y marca de tiempo de flujos de medios, ayudando a garantizar una reproducción de medios suave y oportuna.
  2. RTCP (Protocolo de Control de Transporte en Tiempo Real): RTCP es un protocolo complementario a RTP, utilizado para monitorear la calidad de servicio (QoS) y proporcionar retroalimentación sobre la transmisión de flujos de medios. Definido en el mismo RFC 3550 que RTP, RTCP intercambia periódicamente paquetes de control entre los participantes en una sesión de RTP. Comparte información como pérdida de paquetes, jitter y tiempo de ida y vuelta, lo que ayuda a diagnosticar y adaptarse a las condiciones de red, mejorando la calidad general de los medios.
  3. SRTP (Protocolo de Transporte Seguro en Tiempo Real): SRTP es una extensión de RTP que proporciona cifrado, autenticación de mensajes y protección contra repeticiones para flujos de medios, asegurando la transmisión segura de datos de audio y video sensibles. Definido en el RFC 3711, SRTP utiliza algoritmos criptográficos como AES para el cifrado y HMAC-SHA1 para la autenticación de mensajes. SRTP se utiliza frecuentemente en combinación con protocolos de señalización seguros como SIP sobre TLS para proporcionar seguridad de extremo a extremo en la comunicación multimedia.
  4. ZRTP (Protocolo de Transporte en Tiempo Real de Zimmermann): ZRTP es un protocolo de acuerdo de claves criptográficas que proporciona cifrado de extremo a extremo para flujos de medios RTP. Desarrollado por Phil Zimmermann, el creador de PGP, ZRTP está descrito en el RFC 6189. A diferencia de SRTP, que depende de protocolos de señalización para el intercambio de claves, ZRTP está diseñado para funcionar de forma independiente al protocolo de señalización. Utiliza el intercambio de claves Diffie-Hellman para establecer un secreto compartido entre las partes que se comunican, sin requerir confianza previa o una infraestructura de clave pública (PKI). ZRTP también incluye características como Cadenas de Autenticación Cortas (SAS) para protegerse contra ataques de intermediarios.

Estos protocolos desempeñan roles esenciales en la entrega y seguridad de la comunicación multimedia en tiempo real en redes IP. Mientras que RTP y RTCP manejan la transmisión real de medios y el monitoreo de calidad, SRTP y ZRTP aseguran que los medios transmitidos estén protegidos contra escuchas, manipulaciones y ataques de repetición.