.. | ||
README.md | ||
sip-session-initiation-protocol.md |
Protocoles VoIP de base
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)
Soutenir HackTricks
- Consultez 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 aux 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 :
{% content-ref url="sip-session-initiation-protocol.md" %} sip-session-initiation-protocol.md {% endcontent-ref %}
MGCP (Media Gateway Control Protocol)
MGCP (Media Gateway Control Protocol) est un protocole de signalisation et de contrôle des appels 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 (MGs) 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 (SGs) : 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 des appels sont correctement communiquées entre les différents réseaux.
En résumé, MGCP centralise la logique de contrôle des appels 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 des appels 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 des appels 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 des appels : 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'appels, le transfert d'appels et la mise en attente des appels.
- 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 des appels. 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 des appels 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 des appels 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.
- 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 (MCUs) : Ces dispositifs facilitent les conférences multipoints en gérant et en mélangeant les flux multimédias de plusieurs points de terminaison. Les MCUs 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'appels, le transfert d'appels, la mise en attente des appels et l'attente d'appels. 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 des appels principalement utilisé pour la communication entre les serveurs Asterisk PBX (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 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 prend en charge le chiffrement intégré, 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, telles 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 le timestamping 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 chiffrement, authentification des messages et 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 clandestine, la falsification et les attaques par rejeu.
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)
Soutenir HackTricks
- Consultez 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 aux HackTricks et HackTricks Cloud dépôts github.