Protocoles VoIP de base
Reading time: 12 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.
Protocoles de signalisation
SIP (Session Initiation Protocol)
C'est la norme de l'industrie, pour plus d'informations, consultez :
SIP (Session Initiation Protocol)
MGCP (Media Gateway Control Protocol)
MGCP (Media Gateway Control Protocol) est un protocole de signalisation et de contrÎle d'appel décrit dans le RFC 3435. Il fonctionne dans une architecture centralisée, qui se compose de trois composants principaux :
- Agent d'appel ou ContrÎleur de passerelle multimédia (MGC) : La passerelle principale dans l'architecture MGCP est responsable de la gestion et du contrÎle des passerelles multimédias. Elle gÚre les processus de configuration, de modification et de terminaison des appels. Le MGC communique avec les passerelles multimédias en utilisant le protocole MGCP.
- Passerelles multimédias (MG) ou Passerelles esclaves : Ces dispositifs convertissent les flux multimédias numériques entre différents réseaux, tels que la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets. Ils sont gérés par le MGC et exécutent les commandes reçues de celui-ci. Les passerelles multimédias peuvent inclure des fonctions telles que le transcodage, la mise en paquets et l'annulation d'écho.
- Passerelles de signalisation (SG) : Ces passerelles sont responsables de la conversion des messages de signalisation entre différents réseaux, permettant une communication fluide entre les systÚmes de téléphonie traditionnels (par exemple, SS7) et les réseaux basés sur IP (par exemple, SIP ou H.323). Les passerelles de signalisation sont cruciales pour l'interopérabilité et garantissent que les informations de contrÎle d'appel sont correctement communiquées entre les différents réseaux.
En résumé, MGCP centralise la logique de contrÎle d'appel dans l'agent d'appel, ce qui simplifie la gestion des passerelles multimédias et de signalisation, offrant une meilleure évolutivité, fiabilité et efficacité dans les réseaux de télécommunications.
SCCP (Skinny Client Control Protocol)
Le Skinny Client Control Protocol (SCCP) est un protocole de signalisation et de contrÎle d'appel propriétaire détenu par Cisco Systems. Il est principalement utilisé pour la communication entre le Cisco Unified Communications Manager (anciennement connu sous le nom de CallManager) et les téléphones IP Cisco ou d'autres points de terminaison vocaux et vidéo Cisco.
SCCP est un protocole léger qui simplifie la communication entre le serveur de contrÎle d'appel et les dispositifs de point de terminaison. Il est appelé "Skinny" en raison de son design minimaliste et de ses exigences en bande passante réduites par rapport à d'autres protocoles VoIP comme H.323 ou SIP.
Les principaux composants d'un systÚme basé sur SCCP sont :
- Serveur de contrÎle d'appel : Ce serveur, généralement un Cisco Unified Communications Manager, gÚre les processus de configuration, de modification et de terminaison des appels, ainsi que d'autres fonctionnalités de téléphonie telles que le renvoi d'appel, le transfert d'appel et la mise en attente d'appel.
- Points de terminaison SCCP : Ce sont des dispositifs tels que des téléphones IP, des unités de vidéoconférence ou d'autres points de terminaison vocaux et vidéo Cisco qui utilisent SCCP pour communiquer avec le serveur de contrÎle d'appel. Ils s'enregistrent auprÚs du serveur, envoient et reçoivent des messages de signalisation, et suivent les instructions fournies par le serveur de contrÎle d'appel pour la gestion des appels.
- Passerelles : Ces dispositifs, tels que les passerelles vocales ou les passerelles multimédias, sont responsables de la conversion des flux multimédias entre différents réseaux, comme la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets. Ils peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.
SCCP offre une mĂ©thode de communication simple et efficace entre les serveurs de contrĂŽle d'appel Cisco et les dispositifs de point de terminaison. Cependant, il convient de noter que SCCP est un protocole propriĂ©taire, ce qui peut limiter l'interopĂ©rabilitĂ© avec des systĂšmes non Cisco. Dans de tels cas, d'autres protocoles VoIP standard comme SIP peuvent ĂȘtre plus appropriĂ©s.
H.323
H.323 est une suite de protocoles pour la communication multimédia, y compris la voix, la vidéo et la conférence de données sur des réseaux commutés par paquets, tels que les réseaux basés sur IP. Il a été développé par l'Union internationale des télécommunications (UIT-T) et fournit un cadre complet pour la gestion des sessions de communication multimédia.
Certains composants clés de la suite H.323 incluent :
- Terminaux : Ce sont des dispositifs de point de terminaison, tels que des téléphones IP, des systÚmes de vidéoconférence ou des applications logicielles, qui prennent en charge H.323 et peuvent participer à des sessions de communication multimédia.
- Passerelles : Ces dispositifs convertissent les flux multimédias entre différents réseaux, comme la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets, permettant l'interopérabilité entre H.323 et d'autres systÚmes de communication. Ils peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.
- ContrÎleurs d'accÚs (Gatekeepers) : Ce sont des composants optionnels qui fournissent des services de contrÎle et de gestion des appels dans un réseau H.323. Ils effectuent des fonctions telles que la traduction d'adresses, la gestion de la bande passante et le contrÎle d'admission, aidant à gérer et à optimiser les ressources réseau.
- Unités de contrÎle multipoint (MCU) : Ces dispositifs facilitent les conférences multipoints en gérant et en mélangeant les flux multimédias de plusieurs points de terminaison. Les MCU permettent des fonctionnalités telles que le contrÎle de la disposition vidéo, le commutateur activé par la voix et la présence continue, rendant possible l'organisation de conférences à grande échelle avec plusieurs participants.
H.323 prend en charge une gamme de codecs audio et vidĂ©o, ainsi que d'autres services supplĂ©mentaires comme le renvoi d'appel, le transfert d'appel, la mise en attente d'appel et l'attente d'appel. MalgrĂ© son adoption gĂ©nĂ©ralisĂ©e dans les premiĂšres annĂ©es de VoIP, H.323 a Ă©tĂ© progressivement remplacĂ© par des protocoles plus modernes et flexibles comme le Session Initiation Protocol (SIP), qui offre une meilleure interopĂ©rabilitĂ© et une mise en Ćuvre plus facile. Cependant, H.323 reste utilisĂ© dans de nombreux systĂšmes hĂ©ritĂ©s et continue d'ĂȘtre pris en charge par divers fournisseurs d'Ă©quipements.
IAX (Inter Asterisk eXchange)
IAX (Inter-Asterisk eXchange) est un protocole de signalisation et de contrÎle d'appel principalement utilisé pour la communication entre les serveurs PBX Asterisk (Private Branch Exchange) et d'autres dispositifs VoIP. Il a été développé par Mark Spencer, le créateur du logiciel PBX open-source Asterisk, comme une alternative à d'autres protocoles VoIP comme SIP et H.323.
IAX est connu pour sa simplicitĂ©, son efficacitĂ© et sa facilitĂ© de mise en Ćuvre. Certaines caractĂ©ristiques clĂ©s d'IAX incluent :
- Port UDP unique : IAX utilise un seul port UDP (4569) pour à la fois le trafic de signalisation et de médias, ce qui simplifie le passage à travers les pare-feu et le NAT, facilitant son déploiement dans divers environnements réseau.
- Protocole binaire : Contrairement aux protocoles basés sur du texte comme SIP, IAX est un protocole binaire, ce qui réduit sa consommation de bande passante et le rend plus efficace pour la transmission de données de signalisation et de médias.
- Trunking : IAX prend en charge le trunking, ce qui permet de combiner plusieurs appels en une seule connexion réseau, réduisant ainsi la surcharge et améliorant l'utilisation de la bande passante.
- Chiffrement natif : IAX a un support intégré pour le chiffrement, utilisant des méthodes comme RSA pour l'échange de clés et AES pour le chiffrement des médias, fournissant une communication sécurisée entre les points de terminaison.
- Communication pair-Ă -pair : IAX peut ĂȘtre utilisĂ© pour une communication directe entre les points de terminaison sans avoir besoin d'un serveur central, permettant un routage des appels plus simple et plus efficace.
MalgrĂ© ses avantages, IAX prĂ©sente certaines limitations, telles que son focus principal sur l'Ă©cosystĂšme Asterisk et une adoption moins rĂ©pandue par rapport Ă des protocoles plus Ă©tablis comme SIP. En consĂ©quence, IAX pourrait ne pas ĂȘtre le meilleur choix pour l'interopĂ©rabilitĂ© avec des systĂšmes ou dispositifs non-Asterisk. Cependant, pour ceux qui travaillent dans l'environnement Asterisk, IAX offre une solution robuste et efficace pour la communication VoIP.
Protocoles de transmission et de transport
SDP (Session Description Protocol)
SDP (Session Description Protocol) est un format basé sur du texte utilisé pour décrire les caractéristiques des sessions multimédias, telles que la voix, la vidéo ou la conférence de données, sur des réseaux IP. Il a été développé par l'Internet Engineering Task Force (IETF) et est défini dans le RFC 4566. SDP ne gÚre pas la transmission réelle des médias ou l'établissement de sessions, mais est utilisé en conjonction avec d'autres protocoles de signalisation, comme le SIP (Session Initiation Protocol), pour négocier et échanger des informations sur les flux multimédias et leurs attributs.
Certains éléments clés de SDP incluent :
- Informations sur la session : SDP décrit les détails d'une session multimédia, y compris le nom de la session, la description de la session, l'heure de début et l'heure de fin.
- Flux multimédias : SDP définit les caractéristiques des flux multimédias, tels que le type de média (audio, vidéo ou texte), le protocole de transport (par exemple, RTP ou SRTP) et le format multimédia (par exemple, informations sur le codec).
- Informations de connexion : SDP fournit des informations sur l'adresse rĂ©seau (adresse IP) et le numĂ©ro de port oĂč les mĂ©dias doivent ĂȘtre envoyĂ©s ou reçus.
- Attributs : SDP prend en charge l'utilisation d'attributs pour fournir des informations supplĂ©mentaires et optionnelles sur une session ou un flux multimĂ©dia. Les attributs peuvent ĂȘtre utilisĂ©s pour spĂ©cifier diverses fonctionnalitĂ©s telles que les clĂ©s de chiffrement, les exigences de bande passante ou les mĂ©canismes de contrĂŽle des mĂ©dias.
SDP est généralement utilisé dans le processus suivant :
- Une partie initiatrice crée une description SDP de la session multimédia proposée, y compris les détails des flux multimédias et leurs attributs.
- La description SDP est envoyée à la partie réceptrice, généralement intégrée dans un message de protocole de signalisation comme SIP ou RTSP.
- La partie réceptrice traite la description SDP, et en fonction de ses capacités, elle peut accepter, rejeter ou modifier la session proposée.
- La description SDP finale est renvoyée à la partie initiatrice dans le cadre du message de protocole de signalisation, complétant ainsi le processus de négociation.
La simplicité et la flexibilité de SDP en font une norme largement adoptée pour décrire les sessions multimédias dans divers systÚmes de communication, jouant un rÎle crucial dans l'établissement et la gestion des sessions multimédias en temps réel sur des réseaux IP.
RTP / RTCP / SRTP / ZRTP
- RTP (Real-time Transport Protocol) : RTP est un protocole réseau conçu pour la livraison de données audio et vidéo, ou d'autres médias en temps réel, sur des réseaux IP. Développé par l'IETF et défini dans le RFC 3550, RTP est couramment utilisé avec des protocoles de signalisation comme SIP et H.323 pour permettre la communication multimédia. RTP fournit des mécanismes pour la synchronisation, le séquençage et l'horodatage des flux multimédias, aidant à garantir une lecture fluide et opportune des médias.
- RTCP (Real-time Transport Control Protocol) : RTCP est un protocole compagnon de RTP, utilisĂ© pour surveiller la qualitĂ© de service (QoS) et fournir des retours d'information sur la transmission des flux multimĂ©dias. DĂ©fini dans le mĂȘme RFC 3550 que RTP, RTCP Ă©change pĂ©riodiquement des paquets de contrĂŽle entre les participants d'une session RTP. Il partage des informations telles que la perte de paquets, le jitter et le temps de rĂ©ponse, ce qui aide Ă diagnostiquer et Ă s'adapter aux conditions du rĂ©seau, amĂ©liorant ainsi la qualitĂ© globale des mĂ©dias.
- SRTP (Secure Real-time Transport Protocol) : SRTP est une extension de RTP qui fournit le chiffrement, l'authentification des messages et la protection contre les rejets pour les flux multimédias, garantissant une transmission sécurisée des données audio et vidéo sensibles. Défini dans le RFC 3711, SRTP utilise des algorithmes cryptographiques comme AES pour le chiffrement et HMAC-SHA1 pour l'authentification des messages. SRTP est souvent utilisé en combinaison avec des protocoles de signalisation sécurisés comme SIP sur TLS pour fournir une sécurité de bout en bout dans la communication multimédia.
- ZRTP (Zimmermann Real-time Transport Protocol) : ZRTP est un protocole d'accord de clés cryptographiques qui fournit un chiffrement de bout en bout pour les flux multimédias RTP. Développé par Phil Zimmermann, le créateur de PGP, ZRTP est décrit dans le RFC 6189. Contrairement à SRTP, qui s'appuie sur des protocoles de signalisation pour l'échange de clés, ZRTP est conçu pour fonctionner indépendamment du protocole de signalisation. Il utilise l'échange de clés Diffie-Hellman pour établir un secret partagé entre les parties communicantes, sans nécessiter de confiance préalable ou d'infrastructure à clé publique (PKI). ZRTP inclut également des fonctionnalités telles que Short Authentication Strings (SAS) pour se protéger contre les attaques de type homme du milieu.
Ces protocoles jouent des rÎles essentiels dans la livraison et la sécurisation de la communication multimédia en temps réel sur des réseaux IP. Alors que RTP et RTCP gÚrent la transmission réelle des médias et le suivi de la qualité, SRTP et ZRTP garantissent que les médias transmis sont protégés contre l'écoute, la falsification et les attaques par rejeu.
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.