554,8554 - Pentesting RTSP
Reading time: 5 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Taarifa za Msingi
Kutoka wikipedia:
The Real Time Streaming Protocol (RTSP) ni itifaki ya udhibiti wa mtandao iliyoundwa kwa ajili ya matumizi katika mifumo ya burudani na mawasiliano ili kudhibiti seva za media zinazotiririsha. Itifaki hutumika kuanzisha na kudhibiti vikao vya media kati ya ncha za mwisho. Wateja wa seva za media hutoa amri za mtindo wa VHS, such as play, record and pause, ili kuwezesha udhibiti wa wakati halisi wa utiririshaji wa media kutoka seva kwenda kwa mteja (Video On Demand) au kutoka kwa mteja kwenda seva (Voice Recording).
Uwasilishaji wa data inayotiririsha yenyewe si jukumu la RTSP. Seva nyingi za RTSP hutumia the Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP) kwa ajili ya uwasilishaji wa mtiririko wa media. Hata hivyo, baadhi ya wauzaji hutumia itifaki za usafirishaji za umiliki. Programu ya seva ya RTSP kutoka RealNetworks, kwa mfano, pia ilitumia proprietary Real Data Transport (RDT).
Bandari za chaguo-msingi: 554,8554
PORT STATE SERVICE
554/tcp open rtsp
Maelezo Muhimu
RTSP ni sawa na HTTP lakini imebuniwa mahsusi kwa ajili ya media streaming. Imefafanuliwa katika specification rahisi ambayo inaweza kupatikana hapa:
Vifaa vinaweza kuruhusu upatikanaji bila uthibitisho au kwa uthibitisho. Ili kuangalia, ombi la "DESCRIBE" linatumwa. Mfano wa msingi unaonyeshwa hapa chini:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2
Kumbuka, muundo sahihi unajumuisha mara mbili ya "\r\n" ili kupata jibu thabiti. Jibu la "200 OK" linaonyesha upatikanaji bila uthibitisho, wakati "401 Unauthorized" linaonyesha hitaji la uthibitisho, likifunua ikiwa Basic au Digest authentication inahitajika.
Kwa Basic authentication, unafanya encoding ya username na password kwa base64 na kuijumuisha katika ombi kama ifuatavyo:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==
Mfano huu unatumia "admin" na "1234" kama nywila. Hapa kuna Python script ya kutuma ombi kama hilo:
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 ni rahisi zaidi na inapendekezwa. Digest authentication inahitaji uangalifu katika kushughulikia maelezo ya uthibitisho yanayotolewa katika jibu la "401 Unauthorized".
Muhtasari huu unarahisisha mchakato wa kupata RTSP streams, ukilenga Basic authentication kwa ajili ya urahisi wake na ufanisi katika jaribio za awali.
Uorodheshi
Tupate taarifa kuhusu njia halali na URLs zinazoungwa mkono, na tujaribu brute-force kupata ufikiaji (ikiwa inahitajika) ili kupata maudhui.
nmap -sV --script "rtsp-*" -p <PORT> <IP>
Kuonyesha mtiririko wa RTSP kwa ffplay
Mara tu unapogundua njia halali ya RTSP (mfano, /mpeg4
, /live.sdp
) na kuthibitisha ufikivu (unauthenticated or with credentials), unaweza kutumia ffplay
kucheza mtiririko:
ffplay -rtsp_transport tcp rtsp://<IP>/mpeg4 -x 2560 -y 1440
-rtsp_transport tcp
: Tumia TCP badala ya UDP kwa streaming yenye uaminifu zaidi-x
,-y
: Bendera za hiari za kudhibiti azimio la video- Badilisha
<IP>
na njia kama inahitajika
Brute Force
Programu nyingine muhimu
To bruteforce: https://github.com/Tek-Security-Group/rtsp_authgrinder
- Gundua RTSP hosts zilizo wazi kwenye target yoyote inayopatikana
- Pata taarifa zao za umma (hostname, port, modeli ya kamera, n.k.)
- Zindua automated dictionary attacks ili kupata stream route yao (kwa mfano /live.sdp)
- Zindua automated dictionary attacks ili kupata username na password za kamera
- Tengeneza thumbnails kutoka kwao ili kuthibitisha kama streams ni halali na kupata mtazamo wa haraka wa yaliyomo
- Jaribu kuunda Gstreamer pipeline ili kukagua kama zimekodwa ipasavyo
- Chapisha muhtasari wa taarifa zote ambazo Cameradar inaweza kupata
Tazama pia
32100 Udp - Pentesting Pppp Cs2 P2p Cameras
Marejeo
- 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
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.