554,8554 - Pentesting RTSP
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Vanaf wikipedia:
Die Real Time Streaming Protocol (RTSP) is ân netwerkbeheerprotokol wat ontwerp is vir gebruik in vermaak- en kommunikasiesisteme om streaming media-bedieners te beheer. Die protokol word gebruik om mediasessies tussen eindpunte tot stand te bring en te beheer. KliĂ«nte van media-bedieners gee VHS-styl opdragte, soos play, record and pause, om real-time beheer van die mediastroom vanaf die bediener na ân kliĂ«nt (Video On Demand) of vanaf ân kliĂ«nt na die bediener (Voice Recording) te vergemaklik.
Die oordrag van streaming-data self is nie ân taak van RTSP nie. Die meeste RTSP-bedieners gebruik die Real-time Transport Protocol (RTP) in samewerking met die Real-time Control Protocol (RTCP) vir die aflewering van mediastrome. Sommige verskaffers implementeer egter proprietĂȘre transportprotokolle. Die RTSP-bedienersoftware van RealNetworks, byvoorbeeld, het ook RealNetworks se proprietĂȘre Real Data Transport (RDT) gebruik.
Standaard poorte: 554,8554
PORT STATE SERVICE
554/tcp open rtsp
Belangrike besonderhede
RTSP is soortgelyk aan HTTP maar ontwerp spesifiek vir mediastroom. Dit is gedefinieer in ân eenvoudige spesifikasie wat hier gevind kan word:
Toestelle kan nie-geauthentiseerde of geauthentiseerde toegang toelaat. Om dit te kontroleer, word ân âDESCRIBEâ request gestuur. ân Basiese voorbeeld word hieronder getoon:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2
Onthou, die korrekte indeling sluit ân dubbele â\r\nâ in vir ân konsekwente antwoord. ân â200 OKâ antwoord dui op nie-geauthentiseerde toegang, terwyl â401 Unauthorizedâ die behoefte aan verifikasie aandui, wat wys of Basic of Digest authentication benodig word.
Vir Basic authentication, kodeer jy die gebruikersnaam en wagwoord in base64 en sluit dit in die request in soos volg:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==
Hierdie voorbeeld gebruik âadminâ en â1234â as die inlogbesonderhede. Hier is ân Python script om so ân request te stuur:
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 is eenvoudiger en word verkies. Digest authentication vereis deeglike hantering van die authentikasie-byligting wat in die â401 Unauthorizedâ response verskaf word.
Hierdie oorsig vereenvoudig die proses om toegang tot RTSP-strome te kry, met fokus op Basic authentication vanweë die eenvoud en praktysheid in aanvanklike pogings.
Enumerasie
Kom ons kry inligting oor watter geldige metodes en URLs ondersteun word en probeer, indien nodig, om brute-force toegang te verkry tot die inhoud.
nmap -sV --script "rtsp-*" -p <PORT> <IP>
RTSP-stroom bekyk met ffplay
Sodra jy ân geldige RTSP-pad ontdek het (bv. /mpeg4, /live.sdp) en toegang bevestig het (sonder autentisering of met inlogbesonderhede), kan jy ffplay gebruik om die stroom af te speel:
ffplay -rtsp_transport tcp rtsp://<IP>/mpeg4 -x 2560 -y 1440
-rtsp_transport tcp: Gebruik TCP in plaas van UDP vir meer betroubare stroom-x,-y: Opsionele vlae om videoresolusie te beheer- Vervang
<IP>en pad soos nodig
Brute Force
Ander nuttige programme
Om te bruteforce: https://github.com/Tek-Security-Group/rtsp_authgrinder
- Detecteer oop RTSP-hosts op enige toeganklike teiken
- Kry hul publieke inligting (gasheernaam, poort, kamera-model, ens.)
- Begin geoutomatiseerde woordeboek-aanvalle om hul stroomroete te kry (bv. /live.sdp)
- Begin geoutomatiseerde woordeboek-aanvalle om die gebruikersnaam en wagwoord van die kameras te kry
- Genereer miniatuurbeelde daarvan om te kontroleer of die strome geldig is en om ân vinnige voorskou van hul inhoud te hĂȘ
- Probeer ân Gstreamer-pipeline skep om te kyk of hulle behoorlik gekodeer is
- Druk ân opsomming van al die inligting wat Cameradar kon kry
Sien ook
32100 Udp - Pentesting Pppp Cs2 P2p Cameras
Verwysings
- https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol
- http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/
- https://github.com/Ullaakut/cameradar
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

