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:

Grundlegende Informationen

Von Wikipedia:

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

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://<ip>:<port> RTSP/1.0\r\nCSeq: 2

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://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==

In diesem Beispiel werden "admin" und "1234" für die Anmeldeinformationen verwendet. Hier ist ein Python-Skript, um eine solche Anfrage zu senden:

import socket
req = "DESCRIBE rtsp://<ip>:<port> 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.

nmap -sV --script "rtsp-*" -p <PORT> <IP>

Andere nützliche Programme

Zum Brute-Forcen: https://github.com/Tek-Security-Group/rtsp_authgrinder

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

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated