12 KiB
Podstawowe protokoły VoIP
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Protokoły sygnalizacyjne
SIP (Session Initiation Protocol)
Jest to standard przemysłowy, aby uzyskać więcej informacji, sprawdź:
{% 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) to protokół sygnalizacyjny i kontroli połączeń opisany w RFC 3435. Działa w architekturze scentralizowanej, składającej się z trzech głównych komponentów:
- Agent połączeń lub kontroler bramy multimedialnej (MGC): Główna brama w architekturze MGCP jest odpowiedzialna za zarządzanie i kontrolę bram multimedialnych. Obsługuje procesy konfiguracji, modyfikacji i zakończenia połączeń. MGC komunikuje się z bramami multimedialnymi za pomocą protokołu MGCP.
- Bramy multimedialne (MG) lub bramy podrzędne: Urządzenia te konwertują strumienie mediów cyfrowych między różnymi sieciami, takimi jak tradycyjna telefonia łączona obwodowo i sieci pakietowe IP. Są zarządzane przez MGC i wykonują otrzymane od niego polecenia. Bramy multimedialne mogą obejmować funkcje takie jak transkodowanie, pakietowanie i usuwanie echa.
- Bramy sygnalizacyjne (SG): Bramy te są odpowiedzialne za konwertowanie wiadomości sygnalizacyjnych między różnymi sieciami, umożliwiając płynną komunikację między tradycyjnymi systemami telefonicznymi (np. SS7) a sieciami opartymi na protokole IP (np. SIP lub H.323). Bramy sygnalizacyjne są kluczowe dla interoperacyjności i zapewnienia prawidłowego przekazywania informacji o kontroli połączeń między różnymi sieciami.
Podsumowując, MGCP scentralizowuje logikę kontroli połączeń w agencie połączeń, co upraszcza zarządzanie bramami multimedialnymi i sygnalizacyjnymi, zapewniając lepszą skalowalność, niezawodność i wydajność w sieciach telekomunikacyjnych.
SCCP (Skinny Client Control Protocol)
Skinny Client Control Protocol (SCCP) to własny protokół sygnalizacyjny i kontroli połączeń należący do Cisco Systems. Jest on głównie używany do komunikacji między Cisco Unified Communications Manager (dawniej znany jako CallManager) a telefonami IP Cisco lub innymi urządzeniami głosowymi i wideo Cisco.
SCCP to lekki protokół, który upraszcza komunikację między serwerem kontroli połączeń a urządzeniami końcowymi. Jest nazywany "Skinny" ze względu na swoje minimalistyczne projekty i mniejsze wymagania dotyczące przepustowości w porównaniu do innych protokołów VoIP, takich jak H.323 lub SIP.
Główne komponenty systemu opartego na SCCP to:
- Serwer kontroli połączeń: Ten serwer, zwykle Cisco Unified Communications Manager, zarządza procesami konfiguracji, modyfikacji i zakończenia połączeń, a także innymi funkcjami telefonicznymi, takimi jak przekazywanie połączeń, transfer połączeń i wstrzymywanie połączeń.
- Urządzenia SCCP: Są to urządzenia takie jak telefony IP, jednostki wideokonferencyjne lub inne urządzenia głosowe i wideo Cisco, które używają protokołu SCCP do komunikacji z serwerem kontroli połączeń. Rejestrują się w serwerze, wysyłają i odbierają wiadomości sygnalizacyjne oraz wykonują instrukcje podane przez serwer kontroli połączeń w celu obsługi połączeń.
- Bramy: Urządzenia te, takie jak bramy głosowe lub bramy multimedialne, są odpowiedzialne za konwersję strumieni mediów między różnymi sieciami, takimi jak tradycyjna telefonia łączona obwodowo i sieci pakietowe IP. Mogą również zawierać dodatkowe funkcje, takie jak transkodowanie lub usuwanie echa.
SCCP oferuje prosty i wydajny sposób komunikacji między serwerami kontroli połączeń Cisco a urządzeniami końcowymi. Warto jednak zauważyć, że SCCP to protokół własnościowy, co może ograniczać interoperacyjność z systemami innych producentów. W takich przypadkach inne standardowe protokoły VoIP, takie jak SIP, mogą być bardziej odpowiednie.
H.323
H.323 to zestaw protokołów do komunikacji multimedialnej, w tym głosowej, wideo i konferencji danych w sieciach pakietowych, takich jak sieci oparte na protokole IP. Został opracowany przez Międzynarodowy Związek Telekomunikacyjny (ITU-T) i zapewnia kompleksową strukturę zarządzania sesjami komunikacji multimedialnej.
Niektóre kluczowe komponenty zestawu H.323 to:
- Terminaly: Są to urządzenia końcowe, takie jak telefony IP, systemy wideokonferencyjne lub aplikacje oprogramowania, które obsługują H.323 i mogą uczestniczyć w sesjach komunikacji multimedialnej.
- Bramy: Urządzenia te konwertują strumienie mediów między różnymi sieciami, takimi jak tradycyjna telefonia łączona obwodowo i sieci pakietowe IP, umożliwiając interoperacyjność między H.323 a innymi systemami komunikacyjnymi. Mogą również zawierać dodatkowe funkcje, takie jak transkodowanie lub usuwanie echa.
- Bramy kontrolne: Są to opcjonalne komponenty, które zapewniają usługi kontroli i zarządzania w sieci H.323. Wykonują funkcje takie jak tłumaczenie adresów, zarządzanie przepustowością i kontrola dostępu, pomagając zarządzać i optymalizować zasoby sieci.
- **Jednost
Protokoły transmisji i transportu
SDP (Session Description Protocol)
SDP (Session Description Protocol) to format oparty na tekście, używany do opisu cech sesji multimedialnych, takich jak głos, wideo lub konferencje danych, w sieciach IP. Został opracowany przez Internet Engineering Task Force (IETF) i jest zdefiniowany w RFC 4566. SDP nie zajmuje się faktyczną transmisją mediów ani ustanawianiem sesji, ale jest używany w połączeniu z innymi protokołami sygnalizacyjnymi, takimi jak SIP (Session Initiation Protocol), do negocjacji i wymiany informacji na temat strumieni multimedialnych i ich cech.
Niektóre kluczowe elementy SDP to:
- Informacje o sesji: SDP opisuje szczegóły sesji multimedialnej, w tym nazwę sesji, opis sesji, czas rozpoczęcia i zakończenia.
- Strumienie multimedialne: SDP definiuje cechy strumieni multimedialnych, takie jak typ mediów (dźwięk, wideo lub tekst), protokół transportowy (np. RTP lub SRTP) i format mediów (np. informacje o kodeku).
- Informacje o połączeniu: SDP zawiera informacje o adresie sieciowym (adres IP) i numerze portu, na który należy wysyłać lub odbierać media.
- Atrybuty: SDP obsługuje użycie atrybutów do dostarczania dodatkowych, opcjonalnych informacji o sesji lub strumieniu multimedialnym. Atrybuty mogą być używane do określania różnych funkcji, takich jak klucze szyfrowania, wymagania dotyczące przepustowości lub mechanizmy kontroli mediów.
SDP jest zwykle używany w następującym procesie:
- Inicjująca strona tworzy opis SDP proponowanej sesji multimedialnej, w tym szczegóły strumieni multimedialnych i ich cechy.
- Opis SDP jest wysyłany do strony odbierającej, zazwyczaj osadzony w wiadomości protokołu sygnalizacyjnego, takiego jak SIP lub RTSP.
- Strona odbierająca przetwarza opis SDP i na podstawie swoich możliwości może zaakceptować, odrzucić lub zmodyfikować proponowaną sesję.
- Ostateczny opis SDP jest wysyłany z powrotem do inicjującej strony jako część wiadomości protokołu sygnalizacyjnego, kończąc proces negocjacji.
Prostota i elastyczność SDP sprawiają, że jest on powszechnie stosowanym standardem do opisu sesji multimedialnych w różnych systemach komunikacyjnych, odgrywając kluczową rolę w ustanawianiu i zarządzaniu sesjami multimedialnymi w czasie rzeczywistym w sieciach IP.
RTP / RTCP / SRTP / ZRTP
- RTP (Real-time Transport Protocol): RTP to protokół sieciowy zaprojektowany do dostarczania danych audio i wideo lub innych mediów w czasie rzeczywistym w sieciach IP. Opracowany przez IETF i zdefiniowany w RFC 3550, RTP jest często używany z protokołami sygnalizacyjnymi, takimi jak SIP i H.323, aby umożliwić komunikację multimedialną. RTP zapewnia mechanizmy synchronizacji, sekwencjonowania i znakowania czasowego strumieni multimedialnych, pomagając w zapewnieniu płynnego i terminowego odtwarzania mediów.
- RTCP (Real-time Transport Control Protocol): RTCP to protokół towarzyszący RTP, używany do monitorowania jakości usługi (QoS) i dostarczania informacji zwrotnej na temat transmisji strumieni multimedialnych. Zdefiniowany w tym samym RFC 3550 co RTP, RTCP okresowo wymienia pakiety kontrolne między uczestnikami sesji RTP. Udostępnia informacje takie jak utrata pakietów, jitter i czas RTT, co pomaga w diagnozowaniu i dostosowywaniu się do warunków sieciowych, poprawiając ogólną jakość mediów.
- SRTP (Secure Real-time Transport Protocol): SRTP to rozszerzenie protokołu RTP, które zapewnia szyfrowanie, uwierzytelnianie wiadomości i ochronę przed odtwarzaniem dla strumieni multimedialnych, zapewniając bezpieczną transmisję wrażliwych danych audio i wideo. Zdefiniowany w RFC 3711, SRTP używa algorytmów kryptograficznych, takich jak AES do szyfrowania i HMAC-SHA1 do uwierzytelniania wiadomości. SRTP jest często używany w połączeniu z bezpiecznymi protokołami sygnalizacyjnymi, takimi jak SIP przez TLS, aby zapewnić bezpieczeństwo end-to-end w komunikacji multimedialnej.
- ZRTP (Zimmermann Real-time Transport Protocol): ZRTP to protokół konsensusu kryptograficznego, który zapewnia szyfrowanie end-to-end dla strumieni multimedialnych RTP. Opracowany przez Phila Zimmermanna, twórcę PGP, ZRTP jest opisany w RFC 6189. W przeciwieństwie do SRTP, który polega na protokołach sygnalizacyjnych do wymiany kluczy, ZRTP jest zaprojektowany do pracy niezależnie od protokołu sygnalizacyjnego. Wykorzystuje wymianę kluczy Diffie-Hellmana do ustanowienia wspólnego sekretu między komunikującymi się stronami, bez konieczności wcześniejszego zaufania lub infrastruktury klucza publicznego (PKI). ZRTP zawiera również funkcje takie jak krótkie ciągi uwierzytelniające (SAS), które chronią przed atakami typu man-in-the-middle.
Te protokoły odgrywają kluczowe role w dostarczaniu i zabezpieczaniu komunikacji multimedialnej w czasie rzeczywistym w sieciach IP. Podczas gdy RTP i RTCP zajmują się faktyczną transmisją mediów i monitorowaniem jakości, SRTP i ZRTP zapewniają, że przesyłane media są chronione przed podsłuchiwaniem, manipulacją i atakami typu odtwarzanie.