mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-22 11:03:24 +00:00
96 lines
13 KiB
Markdown
96 lines
13 KiB
Markdown
# Grundlegende VoIP-Protokolle
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories senden.
|
|
|
|
</details>
|
|
|
|
## Signalisierungsprotokolle
|
|
|
|
### SIP (Session Initiation Protocol)
|
|
|
|
Dies ist der Branchenstandard, für weitere Informationen siehe:
|
|
|
|
{% content-ref url="sip-session-initiation-protocol.md" %}
|
|
[sip-session-initiation-protocol.md](sip-session-initiation-protocol.md)
|
|
{% endcontent-ref %}
|
|
|
|
### MGCP (Media Gateway Control Protocol)
|
|
|
|
MGCP (Media Gateway Control Protocol) ist ein **Signalisierungs- und Anrufsteuerungsprotokoll**, das in RFC 3435 beschrieben wird. Es arbeitet in einer zentralisierten Architektur, die aus drei Hauptkomponenten besteht:
|
|
|
|
1. **Call Agent oder Media Gateway Controller (MGC)**: Das Master-Gateway in der MGCP-Architektur ist für die **Verwaltung und Steuerung der Media Gateways** verantwortlich. Es handhabt den Anrufaufbau, die Änderung und Beendigung von Prozessen. Der MGC kommuniziert mit den Media Gateways über das MGCP-Protokoll.
|
|
2. **Media Gateways (MGs) oder Slave Gateways**: Diese Geräte **konvertieren digitale Mediendatenströme zwischen verschiedenen Netzwerken**, wie z. B. traditionelle schaltungsbasierte Telefonie und paketbasierte IP-Netzwerke. Sie werden vom MGC verwaltet und führen von ihm empfangene Befehle aus. Media Gateways können Funktionen wie Transcodierung, Paketierung und Echokompensation umfassen.
|
|
3. **Signalisierungsgateways (SGs)**: Diese Gateways sind für die **Konvertierung von Signalisierungsnachrichten zwischen verschiedenen Netzwerken** verantwortlich und ermöglichen eine nahtlose Kommunikation zwischen traditionellen Telefonsystemen (z. B. SS7) und IP-basierten Netzwerken (z. B. SIP oder H.323). Signalisierungsgateways sind entscheidend für die Interoperabilität und stellen sicher, dass Informationen zur Anrufsteuerung ordnungsgemäß zwischen den verschiedenen Netzwerken übermittelt werden.
|
|
|
|
Zusammenfassend zentralisiert MGCP die Anrufsteuerungslogik im Call Agent, was die Verwaltung von Media- und Signalisierungsgateways vereinfacht und eine bessere Skalierbarkeit, Zuverlässigkeit und Effizienz in Telekommunikationsnetzwerken bietet.
|
|
|
|
### SCCP (Skinny Client Control Protocol)
|
|
|
|
Das Skinny Client Control Protocol (SCCP) ist ein **proprietäres Signalisierungs- und Anrufsteuerungsprotokoll**, das von Cisco Systems entwickelt wurde. Es wird hauptsächlich für die Kommunikation zwischen Cisco Unified Communications Manager (früher bekannt als CallManager) und Cisco IP-Telefonen oder anderen Cisco-Sprach- und Videoendpunkten verwendet.
|
|
|
|
SCCP ist ein leichtgewichtiges Protokoll, das die Kommunikation zwischen dem Call Control Server und den Endgeräten vereinfacht. Es wird als "Skinny" bezeichnet, aufgrund seines minimalistischen Designs und der reduzierten Bandbreitenanforderungen im Vergleich zu anderen VoIP-Protokollen wie H.323 oder SIP.
|
|
|
|
Die Hauptkomponenten eines SCCP-basierten Systems sind:
|
|
|
|
1. **Call Control Server**: Dieser Server, in der Regel ein Cisco Unified Communications Manager, verwaltet den Anrufaufbau, die Änderung und Beendigung von Prozessen sowie andere Telefoniefunktionen wie Rufumleitung, Anrufweiterleitung und Anruf halten.
|
|
2. **SCCP-Endpunkte**: Dies sind Geräte wie IP-Telefone, Videokonferenzsysteme oder andere Cisco-Sprach- und Videoendpunkte, die SCCP zur Kommunikation mit dem Call Control Server verwenden. Sie registrieren sich beim Server, senden und empfangen Signalisierungsnachrichten und befolgen die Anweisungen des Call Control Servers zur Anrufbearbeitung.
|
|
3. **Gateways**: Diese Geräte wie Sprachgateways oder Mediagateways sind für die Konvertierung von Mediendatenströmen zwischen verschiedenen Netzwerken, wie traditionelle schaltungsbasierte Telefonie und paketbasierte IP-Netzwerke, verantwortlich. Sie können auch zusätzliche Funktionen wie Transcodierung oder Echokompensation umfassen.
|
|
|
|
SCCP bietet eine einfache und effiziente Kommunikationsmethode zwischen Cisco Call Control Servern und Endgeräten. Es ist jedoch zu beachten, dass **SCCP ein proprietäres Protokoll** ist, das die Interoperabilität mit Nicht-Cisco-Systemen einschränken kann. In solchen Fällen können andere standardisierte VoIP-Protokolle wie SIP möglicherweise besser geeignet sein.
|
|
|
|
### H.323
|
|
|
|
H.323 ist eine **Protokollsuite** für Multimedia-Kommunikation, einschließlich Sprach-, Video- und Datenkonferenzen über paketvermittelte Netzwerke wie IP-basierte Netzwerke. Es wurde von der Internationalen Fernmeldeunion (ITU-T) entwickelt und bietet einen umfassenden Rahmen für die Verwaltung von Multimedia-Kommunikationssitzungen.
|
|
|
|
Einige wichtige Komponenten der H.323-Suite sind:
|
|
|
|
1. **Endgeräte**: Dies sind Endgeräte wie IP-Telefone, Videokonferenzsysteme oder Softwareanwendungen, die H.323 unterstützen und an Multimedia-Kommunikationssitzungen teilnehmen können.
|
|
2. **Gateways**: Diese Geräte konvertieren Mediendatenströme zwischen verschiedenen Netzwerken wie traditionelle schaltungsbasierte Telefonie und paketvermittelte IP-Netzwerke und ermöglichen die Interoperabilität zwischen H.323 und anderen Kommunikationssystemen. Sie können auch zusätzliche Funktionen wie Transcodierung oder Echokompensation umfassen.
|
|
3. **Gatekeeper**: Dies sind optionale Komponenten, die Call Control- und Managementdienste in einem H.323-Netzwerk bereitstellen. Sie führen Funktionen wie Adressübersetzung, Bandbreitenmanagement und Zulassungskontrolle durch und helfen bei der Verwaltung und Optimierung von Netzwerkressourcen.
|
|
4. **Multipoint Control Units (MCUs)**: Diese Geräte ermöglichen Multipoint-Konferenzen, indem sie Mediendatenströme von mehreren Endgeräten verwalten und mischen. MCUs ermöglichen Funktionen wie die Steuerung des Videolayouts, sprachaktivierte Umschaltung und kontinuierliche Präsenz, sodass große Konferenzen mit mehreren Teilnehmern möglich sind.
|
|
|
|
H.323 unterstützt eine Reihe von Audio- und Video-Codecs sowie andere ergänzende Dienste wie Rufumleitung, Anrufweiterleitung, Anruf halten und Anruf warten. Trotz seiner weiten Verbreitung in den Anfangstagen von VoIP wurde H.323 allmählich durch modernere und flexiblere Protokolle wie das **Session Initiation Protocol (SIP)** ersetzt, das eine bessere Interoperabilität und einfachere Implementierung bietet. Dennoch wird H.323 in vielen Legacy-Systemen verwendet und von verschiedenen Geräteherstellern unterstützt.
|
|
|
|
### IAX (Inter Asterisk eXchange)
|
|
|
|
IAX (Inter-Asterisk eXchange) ist ein **Signalisierungs- und Anrufsteuerungsprotokoll**, das hauptsächlich für die Kommunikation zwischen Asterisk PBX (Private Branch Exchange)-Servern und anderen VoIP-Geräten verwendet wird. Es wurde von Mark Spencer,
|
|
## Übertragungs- und Transportprotokolle
|
|
|
|
### SDP (Session Description Protocol)
|
|
|
|
SDP (Session Description Protocol) ist ein **textbasiertes Format**, das verwendet wird, um die Eigenschaften von Multimedia-Sitzungen wie Sprach-, Video- oder Datenkonferenzen über IP-Netzwerke zu beschreiben. Es wurde von der **Internet Engineering Task Force (IETF)** entwickelt und ist in **RFC 4566** definiert. SDP behandelt nicht die eigentliche Medienübertragung oder Sitzungseinrichtung, sondern wird in Verbindung mit anderen Signalisierungsprotokollen wie **SIP (Session Initiation Protocol)** verwendet, um Informationen über die Medienströme und ihre Attribute zu verhandeln und auszutauschen.
|
|
|
|
Einige wichtige Elemente von SDP sind:
|
|
|
|
1. **Sitzungsinformationen**: SDP beschreibt die Details einer Multimedia-Sitzung, einschließlich Sitzungsname, Sitzungsbeschreibung, Startzeit und Endzeit.
|
|
2. **Medienströme**: SDP definiert die Eigenschaften von Medienströmen, wie den Medientyp (Audio, Video oder Text), das Transportprotokoll (z. B. RTP oder SRTP) und das Medienformat (z. B. Codec-Informationen).
|
|
3. **Verbindungsinformationen**: SDP liefert Informationen über die Netzwerkadresse (IP-Adresse) und Portnummer, an die die Medien gesendet oder empfangen werden sollen.
|
|
4. **Attribute**: SDP unterstützt die Verwendung von Attributen, um zusätzliche optionale Informationen über eine Sitzung oder einen Medienstrom bereitzustellen. Attribute können verwendet werden, um verschiedene Funktionen wie Verschlüsselungsschlüssel, Bandbreitenanforderungen oder Mediensteuerungsmechanismen anzugeben.
|
|
|
|
SDP wird in der Regel in folgendem Prozess verwendet:
|
|
|
|
1. Eine initiierende Partei erstellt eine SDP-Beschreibung der vorgeschlagenen Multimedia-Sitzung, einschließlich der Details der Medienströme und ihrer Attribute.
|
|
2. Die SDP-Beschreibung wird an die empfangende Partei gesendet, normalerweise eingebettet in eine Signalisierungsprotokollnachricht wie SIP oder RTSP.
|
|
3. Die empfangende Partei verarbeitet die SDP-Beschreibung und kann basierend auf ihren Fähigkeiten die vorgeschlagene Sitzung akzeptieren, ablehnen oder modifizieren.
|
|
4. Die endgültige SDP-Beschreibung wird als Teil der Signalisierungsprotokollnachricht an die initiierende Partei zurückgesendet und schließt den Verhandlungsprozess ab.
|
|
|
|
Die Einfachheit und Flexibilität von SDP machen es zu einem weit verbreiteten Standard zur Beschreibung von Multimedia-Sitzungen in verschiedenen Kommunikationssystemen und spielen eine entscheidende Rolle bei der Einrichtung und Verwaltung von Echtzeit-Multimedia-Sitzungen über IP-Netzwerke.
|
|
|
|
### RTP / RTCP / SRTP / ZRTP
|
|
|
|
1. **RTP (Real-time Transport Protocol)**: RTP ist ein Netzwerkprotokoll, das für die Übertragung von Audio- und Videodaten oder anderen Echtzeitmedien über IP-Netzwerke entwickelt wurde. Entwickelt von der **IETF** und definiert in **RFC 3550**, wird RTP häufig mit Signalisierungsprotokollen wie SIP und H.323 verwendet, um multimediale Kommunikation zu ermöglichen. RTP bietet Mechanismen zur **Synchronisierung**, **Sequenzierung** und **Zeitstempelung** von Medienströmen, um eine reibungslose und rechtzeitige Wiedergabe der Medien zu gewährleisten.
|
|
2. **RTCP (Real-time Transport Control Protocol)**: RTCP ist ein Begleitprotokoll zu RTP, das zur Überwachung der Dienstqualität (QoS) und zur Bereitstellung von Rückmeldungen über die Übertragung von Medienströmen verwendet wird. Definiert im selben **RFC 3550** wie RTP, tauscht RTCP **periodisch Steuerungspakete zwischen den Teilnehmern einer RTP-Sitzung** aus. Es teilt Informationen wie Paketverlust, Jitter und Round-Trip-Zeit mit, die bei der Diagnose und Anpassung an Netzwerkbedingungen helfen und die Gesamtqualität der Medien verbessern.
|
|
3. **SRTP (Secure Real-time Transport Protocol)**: SRTP ist eine Erweiterung von RTP, die **Verschlüsselung**, **Nachrichtenauthentifizierung** und **Wiederholungsschutz** für Medienströme bietet und so eine sichere Übertragung sensibler Audio- und Videodaten gewährleistet. Definiert in **RFC 3711**, verwendet SRTP kryptografische Algorithmen wie AES zur Verschlüsselung und HMAC-SHA1 zur Nachrichtenauthentifizierung. SRTP wird häufig in Kombination mit sicheren Signalisierungsprotokollen wie SIP über TLS verwendet, um Ende-zu-Ende-Sicherheit in der multimedialen Kommunikation zu bieten.
|
|
4. **ZRTP (Zimmermann Real-time Transport Protocol)**: ZRTP ist ein kryptographisches Schlüsselvereinbarungsprotokoll, das **Ende-zu-Ende-Verschlüsselung** für RTP-Medienströme bietet. Entwickelt von Phil Zimmermann, dem Schöpfer von PGP, wird ZRTP in **RFC 6189** beschrieben. Im Gegensatz zu SRTP, das auf Signalisierungsprotokollen für den Schlüsselaustausch angewiesen ist, ist ZRTP so konzipiert, dass es unabhängig vom Signalisierungsprotokoll funktioniert. Es verwendet den **Diffie-Hellman-Schlüsselaustausch**, um ein gemeinsames Geheimnis zwischen den kommunizierenden Parteien herzustellen, ohne dass vorheriges Vertrauen oder eine öffentliche Schlüsselinfrastruktur (PKI) erforderlich ist. ZRTP enthält auch Funktionen wie **Short Authentication Strings (SAS)** zum Schutz vor Man-in-the-Middle-Angriffen.
|
|
|
|
Diese Protokolle spielen eine wesentliche Rolle bei der **Übermittlung und Sicherung von Echtzeit-Multimediakommunikation über IP-Netzwerke**. Während RTP und RTCP die eigentliche Medienübertragung und Qualitätsüberwachung übernehmen, stellen SRTP und ZRTP sicher, dass die übertragenen Medien vor Abhören, Manipulation und Wiederholungsangriffen geschützt sind.
|