Protocolos B谩sicos de VoIP
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Protocolos de Se帽alizaci贸n
SIP (Protocolo de Inicio de Sesi贸n)
Este es el est谩ndar de la industria, para m谩s informaci贸n consulta:
SIP (Session Initiation Protocol)
MGCP (Protocolo de Control de Puerta de Medios)
MGCP (Protocolo de Control de Puerta de Medios) 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:
- Agente de Llamadas o Controlador de Puerta de Medios (MGC): La puerta de enlace maestra en la arquitectura MGCP es responsable de gestionar y controlar las puertas de enlace de medios. Maneja los procesos de configuraci贸n, modificaci贸n y terminaci贸n de llamadas. El MGC se comunica con las puertas de enlace de medios utilizando el protocolo MGCP.
- Puertas de Enlace de Medios (MGs) o Puertas de Enlace Esclavas: Estos dispositivos convierte flujos de medios digitales entre diferentes redes, como la telefon铆a tradicional conmutada por circuitos y las redes IP conmutadas por paquetes. Son gestionados por el MGC y ejecutan los comandos recibidos de 茅l. Las puertas de enlace de medios pueden incluir funciones como transcodificaci贸n, empaquetado y cancelaci贸n de eco.
- 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 para asegurar que la informaci贸n de control de llamadas se comunique adecuadamente 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 de medios y de se帽alizaci贸n, proporcionando 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 de Cisco Systems. Se utiliza principalmente para la comunicaci贸n entre Cisco Unified Communications Manager (anteriormente conocido como CallManager) y tel茅fonos IP de Cisco u otros puntos finales 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 a los 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:
- Servidor de Control de Llamadas: Este servidor, t铆picamente un Cisco Unified Communications Manager, gestiona los procesos de configuraci贸n, modificaci贸n y terminaci贸n de llamadas, as铆 como otras caracter铆sticas de telefon铆a como desv铆o de llamadas, transferencia de llamadas y retenci贸n de llamadas.
- Puntos Finales SCCP: Estos son dispositivos como tel茅fonos IP, unidades de videoconferencia u otros puntos finales de voz y video de Cisco que utilizan SCCP para comunicarse con el servidor de control de llamadas. Se registran con 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.
- Puertas de Enlace: Estos dispositivos, como puertas de enlace de voz o puertas de enlace de medios, son responsables de convertir flujos de medios entre diferentes redes, como la telefon铆a tradicional conmutada por circuitos y las redes IP conmutadas por paquetes. Tambi茅n pueden incluir funcionalidad adicional, 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 un conjunto de protocolos para comunicaci贸n multimedia, incluyendo voz, video y conferencias de datos sobre redes conmutadas por paquetes, como las redes basadas en IP. Fue desarrollado por la Uni贸n Internacional de Telecomunicaciones (UIT-T) y proporciona un marco integral para gestionar sesiones de comunicaci贸n multimedia.
Algunos componentes clave del conjunto H.323 incluyen:
- Terminales: Estos son dispositivos finales, como tel茅fonos IP, sistemas de videoconferencia o aplicaciones de software, que soportan H.323 y pueden participar en sesiones de comunicaci贸n multimedia.
- Puertas de Enlace: Estos dispositivos convierten flujos de medios entre diferentes redes, como la telefon铆a tradicional conmutada por circuitos y las redes IP conmutadas por paquetes, permitiendo la interoperabilidad entre H.323 y otros sistemas de comunicaci贸n. Tambi茅n pueden incluir funcionalidad adicional, como transcodificaci贸n o cancelaci贸n de eco.
- Controladores de Llamadas: 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 la red.
- Unidades de Control Multipunto (MCUs): Estos dispositivos facilitan conferencias multipunto gestionando y mezclando flujos de medios de m煤ltiples terminales. Las MCUs permiten caracter铆sticas como control de dise帽o de video, conmutaci贸n activada por voz y presencia continua, haciendo posible albergar conferencias a gran escala con m煤ltiples participantes.
H.323 soporta una variedad de c贸decs de audio y video, as铆 como otros servicios suplementarios como desv铆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 mejor interoperabilidad y una implementaci贸n m谩s sencilla. Sin embargo, H.323 sigue en uso en muchos sistemas heredados y contin煤a siendo soportado por varios proveedores de equipos.
IAX (Intercambio Inter-Asterisk)
IAX (Inter-Asterisk eXchange) es un protocolo de se帽alizaci贸n y control de llamadas utilizado principalmente para la comunicaci贸n entre servidores PBX (Central Telef贸nica Privada) Asterisk y otros dispositivos VoIP. Fue desarrollado por Mark Spencer, el creador del software 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:
- Puerto UDP 脷nico: IAX utiliza un 煤nico puerto UDP (4569) para tanto la se帽alizaci贸n como el tr谩fico de medios, lo que simplifica el paso a trav茅s de firewalls y NAT, facilitando su implementaci贸n en diversos entornos de red.
- 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.
- Trunking: IAX soporta trunking, 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.
- Cifrado Nativo: IAX tiene soporte incorporado para cifrado, utilizando m茅todos como RSA para el intercambio de claves y AES para el cifrado de medios, proporcionando comunicaci贸n segura entre los puntos finales.
- Comunicaci贸n Peer-to-Peer: IAX puede ser utilizado para comunicaci贸n directa entre puntos finales sin la necesidad de un servidor central, permitiendo 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 Asterisk y su menor adopci贸n 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 Asterisk. Sin embargo, para aquellos que trabajan dentro del entorno Asterisk, IAX ofrece una soluci贸n robusta y eficiente para la comunicaci贸n VoIP.
Protocolos de Transmisi贸n y Transporte
SDP (Protocolo de Descripci贸n de Sesi贸n)
SDP (Protocolo de Descripci贸n de Sesi贸n) es un formato basado en texto utilizado para describir las caracter铆sticas de sesiones multimedia, como voz, video o conferencias de datos, sobre redes IP. Fue desarrollado por la Fuerza de Tarea de Ingenier铆a de Internet (IETF) y est谩 definido en el RFC 4566. SDP no maneja la transmisi贸n real de medios ni el establecimiento de sesiones, sino que se utiliza junto 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:
- Informaci贸n de la 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.
- 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 del c贸dec).
- 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.
- Atributos: SDP soporta el uso de atributos para proporcionar informaci贸n adicional y opcional sobre una sesi贸n o flujo de medios. Los atributos pueden ser utilizados para especificar diversas 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:
- 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.
- La descripci贸n SDP se env铆a a la parte receptora, generalmente incrustada dentro de un mensaje de protocolo de se帽alizaci贸n como SIP o RTSP.
- La parte receptora procesa la descripci贸n SDP y, seg煤n sus capacidades, puede aceptar, rechazar o modificar la sesi贸n propuesta.
- La descripci贸n SDP final se env铆a de vuelta a la parte iniciadora como parte del mensaje del 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 sobre redes IP.
RTP / RTCP / SRTP / ZRTP
- RTP (Protocolo de Transporte en Tiempo Real): RTP es un protocolo de red dise帽ado para la entrega de datos de audio y video, o de otros medios en tiempo real, sobre redes IP. Desarrollado por la 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 sincronizaci贸n, secuenciaci贸n y marcaci贸n de tiempo de los flujos de medios, ayudando a asegurar una reproducci贸n de medios fluida y oportuna.
- RTCP (Protocolo de Control de Transporte en Tiempo Real): RTCP es un protocolo complementario a RTP, utilizado para monitorear la calidad del 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 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 la red, mejorando la calidad general de los medios.
- SRTP (Protocolo de Transporte en Tiempo Real Seguro): SRTP es una extensi贸n de RTP que proporciona cifrado, autenticaci贸n de mensajes y protecci贸n contra repetici贸n para los 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 a menudo 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.
- 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 los 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 independientemente del protocolo de se帽alizaci贸n. Utiliza intercambio de claves Diffie-Hellman para establecer un secreto compartido entre las partes comunicantes, 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 proteger contra ataques de intermediarios.
Estos protocolos desempe帽an roles esenciales en la entrega y seguridad de la comunicaci贸n multimedia en tiempo real sobre 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 la interceptaci贸n, manipulaci贸n y ataques de repetici贸n.
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.