554,8554 - Pentesting RTSP
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
From 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 media-sessies tussen eindpunte te vestig en te beheer. Kliente van media bedieners gee VHS-styl opdragte, soos speel, opneem en pauze, om werklike tydbeheer van die media wat van die bediener na 'n kliënt (Video On Demand) of van 'n kliënt na die bediener (Stemopname) stroom te fasiliteer.
Die oordrag van streaming data self is nie 'n taak van RTSP nie. Meeste RTSP bedieners gebruik die Real-time Transport Protocol (RTP) in samewerking met Real-time Control Protocol (RTCP) vir media stroom aflewering. Sommige verskaffers implementeer egter eie vervoersprotokolle. Die RTSP bediener sagteware van RealNetworks, byvoorbeeld, het ook RealNetworks se eie Real Data Transport (RDT) gebruik.
Default ports: 554,8554
RTSP is soortgelyk aan HTTP, maar spesifiek ontwerp vir media streaming. Dit is gedefinieer in 'n eenvoudige spesifikasie wat hier gevind kan word:
Toestelle mag onaangetekende of aangetekende toegang toelaat. Om te kontroleer, word 'n "DESCRIBE" versoek gestuur. 'n Basiese voorbeeld word hieronder getoon:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2
Onthou, die korrekte formaat sluit 'n dubbele "\r\n" in vir 'n konsekwente antwoord. 'n "200 OK" antwoord dui op onaangetekende toegang, terwyl "401 Unauthorized" die behoefte aan verifikasie aandui, wat onthul of Basic of Digest authentication benodig word.
Vir Basic authentication kodeer jy die gebruikersnaam en wagwoord in base64 en sluit dit in die versoek in soos volg:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==
Hierdie voorbeeld gebruik "admin" en "1234" vir die geloofsbriewe. Hier is 'n Python script om so 'n versoek te stuur:
Basiese outentisering is eenvoudiger en verkieslik. Digest-outentisering vereis sorgvuldige hantering van die outentiseringsbesonderhede wat in die "401 Unauthorized" antwoord verskaf word.
Hierdie oorsig vereenvoudig die proses om toegang tot RTSP-strome te verkry, met fokus op Basiese outentisering vir sy eenvoud en praktiese nut in aanvanklike pogings.
Kom ons kry inligting oor geldige metodes en URL's wat ondersteun word en probeer om die toegang te brute-force (indien nodig) om toegang tot die inhoud te verkry.
Om te bruteforce: https://github.com/Tek-Security-Group/rtsp_authgrinder
Ontdek oop RTSP gasheer op enige toeganklike teiken
Kry hul publieke inligting (gasheernaam, poort, kamera model, ens.)
Begin outomatiese woordeboekaanvalle om hul stroomroete te kry (byvoorbeeld /live.sdp)
Begin outomatiese woordeboekaanvalle om die gebruikersnaam en wagwoord van die kameras te kry
Genereer miniatuurbeelde van hulle om te kyk of die strome geldig is en om 'n vinnige voorvertoning van hul inhoud te hê
Probeer om 'n Gstreamer-pyplyn te skep om te kyk of hulle behoorlik gekodeer is
Druk 'n opsomming van al die inligting wat Cameradar kon kry
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)