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

100 lines
12 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 - पेंटेस्टिंग RTSP
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
</details>
## मूल जानकारी
[wikipedia](https://en.wikipedia.org/wiki/Real\_Time\_Streaming\_Protocol) से:
> **रियल टाइम स्ट्रीमिंग प्रोटोकॉल** (**RTSP**) एक नेटवर्क नियंत्रण प्रोटोकॉल है जो मनोरंजन और संचार प्रणालियों में उपयोग के लिए डिज़ाइन किया गया है ताकि स्ट्रीमिंग मीडिया सर्वर को नियंत्रित किया जा सके। इस प्रोटोकॉल का उपयोग अंत बिंदुओं के बीच मीडिया सत्र स्थापित और नियंत्रित करने के लिए किया जाता है। मीडिया सर्वर के ग्राहक VHS-शैली कमांड जारी करते हैं, जैसे कि प्ले, रिकॉर्ड और पॉज़, ताकि सर्वर से ग्राहक तक मीडिया स्ट्रीमिंग का वास्तविक समय नियंत्रण (वीडियो ऑन डिमांड) या ग्राहक से सर्वर तक (वॉयस रिकॉर्डिंग) हो सके।
>
> स्ट्रीमिंग डेटा के प्रसारण खुद RTSP का कार्य नहीं है। अधिकांश RTSP सर्वर रियल-टाइम ट्रांसपोर्ट प्रोटोकॉल (RTP) का उपयोग करते हैं जो रियल-टाइम नियंत्रण प्रोटोकॉल (RTCP) के साथ मीडिया स्ट्रीम वितरण के लिए होता है। हालांकि, कुछ विक्रेताओं द्वारा प्रोप्राइटरी ट्रांसपोर्ट प्रोटोकॉल का अमल किया जाता है। उदाहरण के लिए, RealNetworks के RTSP सर्वर सॉफ़्टवेयर ने भी RealNetworks का प्रोप्राइटरी रियल डेटा ट्रांसपोर्ट (RDT) का उपयोग किया।
**डिफ़ॉल्ट पोर्ट:** 554,8554
```
PORT STATE SERVICE
554/tcp open rtsp
```
## महत्वपूर्ण विवरण
**RTSP** HTTP के समान है, लेकिन यह विशेष रूप से मीडिया स्ट्रीमिंग के लिए डिज़ाइन किया गया है। यह एक सीधी विनिर्दिष्टि में परिभाषित है जिसे यहाँ पाया जा सकता है:
[RTSP RFC2326](https://tools.ietf.org/html/rfc2326)
उपकरणों को **अप्रमाणित** या **प्रमाणित** एक्सेस देने की अनुमति हो सकती है। जांचने के लिए, "DESCRIBE" अनुरोध भेजा जाता है। एक मौलिक उदाहरण नीचे दिखाया गया है:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r`
ध्यान रखें, सही स्वरूपण में एक डबल "\r\n" शामिल करना एक संबंधित प्रतिक्रिया के लिए आवश्यक है। "200 OK" प्रतिक्रिया **अप्रमाणित एक्सेस** को सूचित करती है, जबकि "401 Unauthorized" प्रमाणीकरण की आवश्यकता को संकेत करती है, जो प्रकट करता है कि **बेसिक** या **डाइजेस्ट प्रमाणीकरण** की आवश्यकता है।
**बेसिक प्रमाणीकरण** के लिए, आप उपयोगकर्ता नाम और पासवर्ड को base64 में एन्कोड करते हैं और इसे अनुरोध में शामिल करते हैं जैसे:
`DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r`
इस उदाहरण में "व्यवस्थापक" और "1234" का उपयोग किया गया है। यहाँ एक **Python स्क्रिप्ट** है जो ऐसा एक अनुरोध भेजने के लिए:
```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)
```
**मूलभूत प्रमाणीकरण** सरल और पसंदीदा है। **डाइजेस्ट प्रमाणीकरण** में "401 अनधिकृत" प्रतिक्रिया में प्रदान की गई प्रमाणीकरण विवरणों का सावधानीपूर्वक संभालना आवश्यक है।
यह अवलोकन RTSP स्ट्रीम तक पहुंचने की प्रक्रिया को सरलता और प्रारंभिक प्रयासों में उपयोगीता के लिए **मूलभूत प्रमाणीकरण** पर केंद्रित करता है।
## गणना
हमें वैध विधियों और URL के बारे में जानकारी प्राप्त करनी होगी और पहुंच को ब्रूट-फोर्स (यदि आवश्यक हो) करने के लिए पहुंच प्राप्त करने का प्रयास करें।
```bash
nmap -sV --script "rtsp-*" -p <PORT> <IP>
```
### [ब्रूट फोर्स](../generic-methodologies-and-resources/brute-force.md#rtsp)
### **अन्य उपयोगी कार्यक्रम**
ब्रूटफोर्स के लिए: [https://github.com/Tek-Security-Group/rtsp\_authgrinder](https://github.com/Tek-Security-Group/rtsp\_authgrinder)
[**Cameradar**](https://github.com/Ullaakut/cameradar)
* किसी भी पहुंचने योग्य लक्ष्य पर खुले RTSP होस्ट का पता लगाएं
* उनकी सार्वजनिक जानकारी प्राप्त करें (होस्टनाम, पोर्ट, कैमरा मॉडल, आदि)
* उनके स्ट्रीम रूट (उदाहरण के लिए /live.sdp) प्राप्त करने के लिए स्वचालित शब्दकोश हमले चालू करें
* कैमरों के उपयोगकर्ता नाम और पासवर्ड प्राप्त करने के लिए स्वचालित शब्दकोश हमले चालू करें
* उनसे थंबनेल उत्पन्न करें ताकि जांच सकें कि स्ट्रीम वैध है और उनकी सामग्री का त्वरित पूर्वावलोकन हो
* यह जांचने के लिए एक जीस्ट्रीमर पाइपलाइन बनाने का प्रयास करें कि वे सही ढंग से एन्कोड हैं
* Cameradar द्वारा प्राप्त सभी जानकारियों का सारांश प्रिंट करें
## संदर्भ
* [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>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी कंपनी का विज्ञापन देखना चाहते हैं **HackTricks** में या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में पीआर जमा करके।
</details>