mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/554-8554-pentesting-rtsp.md
This commit is contained in:
parent
29562c462f
commit
411202a20a
@ -6,9 +6,9 @@
|
||||
|
||||
Sa [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol):
|
||||
|
||||
> **Real Time Streaming Protocol** (**RTSP**) je protokol za kontrolu mreže dizajniran za korišćenje u sistemima zabave i komunikacija za kontrolu servera za strimovanje medija. Protokol se koristi za uspostavljanje i kontrolu medijskih sesija između krajnjih tačaka. Klijenti medijskih servera izdaju komande u stilu VHS, kao što su play, record i pause, kako bi olakšali real-time kontrolu medija koji se strimuje sa servera na klijenta (Video On Demand) ili sa klijenta na server (Voice Recording).
|
||||
> **Real Time Streaming Protocol** (**RTSP**) je protokol za kontrolu mreže dizajniran za korišćenje u sistemima zabave i komunikacija za kontrolu servera za strimovanje medija. Protokol se koristi za uspostavljanje i kontrolu medijskih sesija između krajnjih tačaka. Klijenti medijskih servera izdaju komande u stilu VHS, kao što su reprodukcija, snimanje i pauza, kako bi olakšali real-time kontrolu medija koji se strimuje sa servera na klijenta (Video Na Zahtev) ili sa klijenta na server (Snimanje Glasa).
|
||||
>
|
||||
> Prenos strimovanih podataka sam po sebi 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 dobavljači implementiraju vlasničke transportne protokole. RTSP server softver od RealNetworks, na primer, takođe koristi vlasnički Real Data Transport (RDT) od RealNetworks.
|
||||
> Prenos strimovanih podataka sam po sebi nije zadatak RTSP-a. Većina RTSP servera koristi Protokol za prenos u realnom vremenu (RTP) u kombinaciji sa Protokolom za kontrolu u realnom vremenu (RTCP) za isporuku medijskog strima. Međutim, neki dobavljači implementiraju vlasničke transportne protokole. Softver RTSP servera od RealNetworks, na primer, takođe koristi vlasnički Real Data Transport (RDT) od RealNetworks.
|
||||
|
||||
**Podrazumevani portovi:** 554,8554
|
||||
```
|
||||
@ -21,13 +21,13 @@ PORT STATE SERVICE
|
||||
|
||||
[RTSP – RFC2326](https://tools.ietf.org/html/rfc2326)
|
||||
|
||||
Uređaji mogu omogućiti **neautentifikovani** ili **autentifikovani** pristup. Da biste proverili, šalje se "DESCRIBE" zahtev. Osnovni primer je prikazan u nastavku:
|
||||
Uređaji mogu omogućiti **neautentifikovani** ili **autentifikovani** pristup. Da biste proverili, šalje se "DESCRIBE" zahtev. Osnovni primer je prikazan ispod:
|
||||
|
||||
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2`
|
||||
|
||||
Zapamtite, ispravno formatiranje uključuje dupli "\r\n" za dosledan odgovor. Odgovor "200 OK" označava **neautentifikovani pristup**, dok "401 Unauthorized" signalizira potrebu za autentifikacijom, otkrivajući da li je potrebna **Basic** ili **Digest authentication**.
|
||||
|
||||
Za **Basic authentication**, kodirate korisničko ime i lozinku u base64 i uključujete ga u zahtev na sledeći način:
|
||||
Za **Basic authentication**, kodirate 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==`
|
||||
|
||||
@ -41,16 +41,25 @@ s.sendall(req)
|
||||
data = s.recv(1024)
|
||||
print(data)
|
||||
```
|
||||
**Osnovna autentifikacija** je jednostavnija i poželjnija. **Digest autentifikacija** zahteva pažljivo rukovanje detaljima autentifikacije koji se pružaju u "401 Unauthorized" odgovoru.
|
||||
**Osnovna autentifikacija** je jednostavnija i poželjnija. **Digest autentifikacija** zahteva pažljivo rukovanje detaljima autentifikacije koji su dati u "401 Unauthorized" odgovoru.
|
||||
|
||||
Ovaj pregled pojednostavljuje proces pristupa RTSP tokovima, fokusirajući se na **Osnovnu autentifikaciju** zbog njene jednostavnosti i praktičnosti u početnim pokušajima.
|
||||
|
||||
## Enumeracija
|
||||
|
||||
Hajde da dobijemo informacije o validnim metodama i URL-ovima koji se podržavaju i pokušamo da brute-force pristup (ako je potrebno) da bismo dobili pristup sadržaju.
|
||||
Hajde da dobijemo informacije o validnim metodama i URL-ovima koji su podržani i pokušamo da brute-force pristup (ako je potrebno) da bismo dobili pristup sadržaju.
|
||||
```bash
|
||||
nmap -sV --script "rtsp-*" -p <PORT> <IP>
|
||||
```
|
||||
#### Pregled RTSP strima sa [ffplay](https://ffmpeg.org/ffplay.html)
|
||||
Kada otkrijete validan RTSP put (npr., `/mpeg4`, `/live.sdp`) i potvrdite pristup (neautentifikovan ili sa kredencijalima), možete koristiti `ffplay` za strimovanje feed-a:
|
||||
```bash
|
||||
ffplay -rtsp_transport tcp rtsp://<IP>/mpeg4 -x 2560 -y 1440
|
||||
```
|
||||
- `-rtsp_transport tcp`: Koristite TCP umesto UDP za pouzdanije strimovanje
|
||||
- `-x`, `-y`: Opcione zastavice za kontrolu rezolucije videa
|
||||
- Zamenite `<IP>` i putanju po potrebi
|
||||
|
||||
### [Brute Force](../generic-hacking/brute-force.md#rtsp)
|
||||
|
||||
### **Ostali korisni programi**
|
||||
@ -61,13 +70,13 @@ Za bruteforce: [https://github.com/Tek-Security-Group/rtsp_authgrinder](https://
|
||||
|
||||
- Otkrivanje otvorenih RTSP hostova na bilo kojem dostupnom cilju
|
||||
- Dobijanje njihovih javnih informacija (hostname, port, model kamere, itd.)
|
||||
- Pokretanje automatizovanih napada rečnikom za dobijanje njihovog puta za strim (na primer /live.sdp)
|
||||
- Pokretanje automatizovanih napada rečnikom za dobijanje njihove strim rute (na primer /live.sdp)
|
||||
- Pokretanje automatizovanih napada rečnikom za dobijanje korisničkog imena i lozinke kamera
|
||||
- Generisanje sličica iz njih kako bi se proverilo da li su strimovi validni i da bi se dobio brzi pregled njihovog sadržaja
|
||||
- Pokušaj kreiranja Gstreamer pipeline-a kako bi se proverilo da li su ispravno kodirani
|
||||
- Pokušaj kreiranja Gstreamer pipeline-a da se proveri da li su ispravno kodirani
|
||||
- Ispisivanje sažetka svih informacija koje je Cameradar mogao da dobije
|
||||
|
||||
## Reference
|
||||
## References
|
||||
|
||||
- [https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol)
|
||||
- [http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/](http://badguyfu.net/rtsp-brute-forcing-for-fun-and-naked-pictures/)
|
||||
|
Loading…
x
Reference in New Issue
Block a user