hacktricks/network-services-pentesting/554-8554-pentesting-rtsp.md

100 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 554,8554 - Kupima Usalama wa RTSP
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
## Taarifa Msingi
Kutoka [wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol):
> **Itifaki ya Uchezaji wa Moja kwa Moja** (**RTSP**) ni itifaki ya kudhibiti mtandao iliyoundwa kwa matumizi katika mifumo ya burudani na mawasiliano kudhibiti seva za media za uchezaji. Itifaki hutumiwa kuanzisha na kudhibiti vikao vya media kati ya mwisho. Wateja wa seva za media hutolea amri za mtindo wa VHS, kama vile kucheza, kurekodi na kusitisha, kurahisisha kudhibiti halisi wa uchezaji wa media kutoka kwa seva kwenda kwa mteja (Video On Demand) au kutoka kwa mteja kwenda kwa seva (Kurekodi Sauti).
>
> Uhamishaji wa data ya uchezaji wenyewe sio jukumu la RTSP. Seva nyingi za RTSP hutumia Itifaki ya Usafirishaji wa Moja kwa Moja (RTP) pamoja na Itifaki ya Kudhibiti ya Moja kwa Moja (RTCP) kwa utoaji wa mtiririko wa media. Walakini, baadhi ya wauzaji hutekeleza itifaki za usafirishaji za kipekee. Programu ya seva ya RTSP kutoka RealNetworks, kwa mfano, pia ilikuwa inatumia Usafirishaji wa Data wa Kipekee wa RealNetworks (RDT).
**Bandari za Ubadilishaji:** 554, 8554
```
PORT STATE SERVICE
554/tcp open rtsp
```
## Maelezo Muhimu
**RTSP** ni sawa na HTTP lakini imeundwa mahsusi kwa ajili ya utiririshaji wa media. Imeelezwa katika maelezo rahisi yanayopatikana hapa:
[RTSP RFC2326](https://tools.ietf.org/html/rfc2326)
Vifaa vinaweza kuruhusu ufikiaji **bila uthibitisho** au **uliothibitishwa**. Ili kuchunguza hili, ombi la "DESCRIBE" hutumwa. Mfano wa msingi umewekwa hapa chini:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r`
Kumbuka, muundo sahihi unajumuisha "\r\n" mara mbili kwa jibu la kawaida. Jibu la "200 OK" linaashiria ufikiaji **bila uthibitisho**, wakati "401 Unauthorized" inaashiria hitaji la uthibitisho, ikifichua ikiwa unahitaji **uthibitisho wa Msingi** au **uthibitisho wa Digest**.
Kwa **uthibitisho wa Msingi**, unakodisha jina la mtumiaji na nywila kwa base64 na kuliweka katika ombi kama ifuatavyo:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r`
Mfano huu unatumia "admin" na "1234" kama sifa. Hapa kuna **skripti ya Python** ya kutuma ombi kama hilo:
```python
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)
```
**Uthibitisho wa msingi** ni rahisi na unapendelewa. **Uthibitisho wa kuchimba** unahitaji kushughulikia kwa uangalifu maelezo ya uthibitisho yaliyotolewa katika jibu la "401 Unauthorized".
Hii muhtasari unafanya iwe rahisi kufikia mitiririko ya RTSP, ikilenga **uthibitisho wa msingi** kwa urahisi wake na matumizi katika jaribio la kwanza.
## Urambazaji
Tupate habari kuhusu njia halali na URL zinazoungwa mkono na jaribu kufanya upenyezi wa ufikiaji (ikiwa inahitajika) ili kupata ufikiaji wa yaliyomo.
```bash
nmap -sV --script "rtsp-*" -p <PORT> <IP>
```
### [Kuvunja Kwa Nguvu](../generic-methodologies-and-resources/brute-force.md#rtsp)
### **Programu Nyingine Zenye Manufaa**
Kwa kuvunja kwa nguvu: [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder)
[**Cameradar**](https://github.com/Ullaakut/cameradar)
* Kugundua seva za RTSP zilizofunguliwa kwenye lengo lolote linalopatikana
* Pata habari zao za umma (jina la mwenyeji, bandari, mfano wa kamera, n.k.)
* Anzisha mashambulizi ya maneno ya siri kiotomatiki kupata njia yao ya mtiririko (kwa mfano /live.sdp)
* Anzisha mashambulizi ya maneno ya siri kiotomatiki kupata jina la mtumiaji na nywila za kamera
* Unda picha za kidole kutoka kwao ili kuhakikisha kuwa mtiririko ni sahihi na kupata muhtasari wa haraka wa maudhui yao
* Jaribu kuunda mstari wa Gstreamer kuangalia kama wamekodishwa kwa usahihi
* Chapisha muhtasari wa habari zote ambazo Cameradar ingeweza kupata
## Marejeo
* [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/)
* [https://github.com/Ullaakut/cameradar](https://github.com/Ullaakut/cameradar)
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>