# 554,8554 - Pentesting RTSP
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)! Andere Möglichkeiten, HackTricks zu unterstützen: * Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen 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-Merch**](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 [**Telegram-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 einreichen.
## Grundlegende Informationen Von [Wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol): > Das **Real Time Streaming Protocol** (**RTSP**) ist ein Netzwerksteuerungsprotokoll, das für den Einsatz in Unterhaltungs- und Kommunikationssystemen entwickelt wurde, um Streaming-Mediaserver zu steuern. Das Protokoll wird verwendet, um Mediensitzungen zwischen Endpunkten zu etablieren und zu steuern. Clients von Medienservern geben VHS-ähnliche Befehle wie Wiedergabe, Aufnahme und Pause aus, um die Echtzeitsteuerung des Medien-Streamings vom Server zu einem Client (Video on Demand) oder von einem Client zum Server (Sprachaufzeichnung) zu erleichtern. > > Die Übertragung von Streaming-Daten selbst ist keine Aufgabe von RTSP. Die meisten RTSP-Server verwenden das Real-time Transport Protocol (RTP) in Verbindung mit dem Real-time Control Protocol (RTCP) für die Bereitstellung von Mediendatenströmen. Einige Anbieter implementieren jedoch proprietäre Transportprotokolle. Die RTSP-Server-Software von RealNetworks verwendet beispielsweise auch das proprietäre Real Data Transport (RDT). **Standardports:** 554, 8554 ``` PORT STATE SERVICE 554/tcp open rtsp ``` ## Schlüsseldetails **RTSP** ist ähnlich wie HTTP, aber speziell für das Streamen von Medien konzipiert. Es ist in einer klaren Spezifikation definiert, die hier gefunden werden kann: [RTSP – RFC2326](https://tools.ietf.org/html/rfc2326) Geräte können **unauthentisierten** oder **authentisierten** Zugriff ermöglichen. Um dies zu überprüfen, wird eine "DESCRIBE"-Anfrage gesendet. Ein grundlegendes Beispiel wird unten gezeigt: `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r` Denken Sie daran, dass das korrekte Format eine doppelte "\r\n" für eine konsistente Antwort enthält. Eine "200 OK"-Antwort zeigt **unauthentisierten Zugriff** an, während "401 Unauthorized" auf die Notwendigkeit der Authentifizierung hinweist und offenbart, ob **Basic-Authentifizierung** oder **Digest-Authentifizierung** erforderlich ist. Für die **Basic-Authentifizierung** codieren Sie den Benutzernamen und das Passwort in Base64 und fügen sie der Anfrage wie folgt hinzu: `DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r` In diesem Beispiel werden "admin" und "1234" für die Anmeldeinformationen verwendet. Hier ist ein **Python-Skript**, um eine solche Anfrage zu senden: ```python import socket req = "DESCRIBE rtsp://: RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n\r\n" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("192.168.1.1", 554)) s.sendall(req) data = s.recv(1024) print(data) ``` **Basic authentication** ist einfacher und bevorzugt. **Digest authentication** erfordert eine sorgfältige Behandlung der Authentifizierungsdetails, die in der "401 Unauthorized" Antwort bereitgestellt werden. Diese Übersicht vereinfacht den Prozess des Zugriffs auf RTSP-Streams und konzentriert sich auf **Basic authentication** aufgrund seiner Einfachheit und Praktikabilität bei ersten Versuchen. ## Enumeration Lassen Sie uns Informationen über gültige Methoden und URLs abrufen und versuchen, den Zugriff zu erzwingen (falls erforderlich), um Zugriff auf den Inhalt zu erhalten. ```bash nmap -sV --script "rtsp-*" -p ``` ### [Brute Force](../generic-methodologies-and-resources/brute-force.md#rtsp) ### **Andere nützliche Programme** Zum Brute-Forcen: [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder) [**Cameradar**](https://github.com/Ullaakut/cameradar) * Erkenne offene RTSP-Hosts auf jedem erreichbaren Ziel * Erhalte ihre öffentlichen Informationen (Hostname, Port, Kameramodell, etc.) * Starte automatisierte Wörterbuchangriffe, um ihren Stream-Pfad zu erhalten (zum Beispiel /live.sdp) * Starte automatisierte Wörterbuchangriffe, um den Benutzernamen und das Passwort der Kameras zu erhalten * Generiere Miniaturansichten, um zu überprüfen, ob die Streams gültig sind und einen schnellen Überblick über ihren Inhalt zu erhalten * Versuche, eine Gstreamer-Pipeline zu erstellen, um zu überprüfen, ob sie ordnungsgemäß codiert sind * Gib eine Zusammenfassung aller Informationen aus, die Cameradar erhalten konnte ## Referenzen * [https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol) * [http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/](http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/) * [https://github.com/Ullaakut/cameradar](https://github.com/Ullaakut/cameradar)
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)! Andere Möglichkeiten, HackTricks zu unterstützen: * Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)! * Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](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 [**Telegram-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 einreichen.