6.5 KiB
554,8554 - Pentesting RTSP
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJATELJSTVO!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Sa wikipedia:
Real Time Streaming Protocol (RTSP) je mrežni kontrolni protokol dizajniran za korišćenje u zabavnim i komunikacionim sistemima radi kontrole servera za strimovanje medija. Protokol se koristi za uspostavljanje i kontrolisanje medijskih sesija između krajnjih tačaka. Klijenti medijskih servera izdaju komande u stilu VHS-a, poput reprodukcije, snimanja i pauziranja, radi olakšavanja realne kontrole strimovanja medija sa servera ka klijentu (Video na zahtev) ili od klijenta ka serveru (Snimanje glasa).
Samo slanje strimovanih podataka nije zadatak RTSP-a. Većina RTSP servera koristi Real-time Transport Protocol (RTP) u kombinaciji sa Real-time Control Protocol (RTCP) za isporuku medijskog strima. Međutim, neki proizvođači implementiraju vlasite transportne protokole. Na primer, RTSP server softver od RealNetworks-a takođe koristi RealNetworks-ov vlasiti Real Data Transport (RDT).
Podrazumevani portovi: 554,8554
PORT STATE SERVICE
554/tcp open rtsp
Ključni detalji
RTSP je sličan HTTP-u, ali je dizajniran specifično za strujanje medija. Definisan je u jednostavnoj specifikaciji koja se može pronaći ovde:
Uređaji mogu dozvoliti neautentifikovan ili autentifikovan pristup. Da biste proverili, šalje se zahtev "DESCRIBE". Osnovni primer je prikazan ispod:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r
Zapamtite, ispravno formatiranje uključuje dvostruki "\r\n" za dosledan odgovor. Odgovor "200 OK" ukazuje na neautentifikovan pristup, dok "401 Unauthorized" signalizira potrebu za autentifikacijom, otkrivajući da li je potrebna osnovna ili digest autentifikacija.
Za osnovnu autentifikaciju, enkodirate korisničko ime i lozinku u base64 i uključujete ih u zahtev na sledeći način:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r
Ovaj primer koristi "admin" i "1234" za pristupne podatke. Evo Python skripte za slanje takvog zahteva:
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)
Osnovna autentikacija je jednostavnija i poželjnija. Digest autentikacija zahteva pažljivo rukovanje detaljima autentikacije koji se pružaju u odgovoru "401 Unauthorized".
Ovaj pregled pojednostavljuje proces pristupa RTSP tokovima, fokusirajući se na Osnovnu autentikaciju zbog njene jednostavnosti i praktičnosti u početnim pokušajima.
Enumeracija
Pokušajmo da dobijemo informacije o podržanim validnim metodama i URL-ovima i pokušajmo da provalimo pristup (ako je potrebno) kako bismo pristupili sadržaju.
nmap -sV --script "rtsp-*" -p <PORT> <IP>
Brute Force
Drugi korisni programi
Za brute force: https://github.com/Tek-Security-Group/rtsp_authgrinder
- Otkriva otvorene RTSP hostove na bilo kojoj dostupnoj meti
- Dobija njihove javne informacije (ime hosta, port, model kamere, itd.)
- Pokreće automatske rečničke napade da dobije njihov stream put (na primer /live.sdp)
- Pokreće automatske rečničke napade da dobije korisničko ime i lozinku kamera
- Generiše sličice da proveri da li su streamovi validni i da brzo pregleda njihov sadržaj
- Pokušava da kreira Gstreamer pipeline da proveri da li su pravilno enkodirani
- Ispisuje sažetak svih informacija koje je Cameradar mogao da dobije
Reference
- 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
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.