554,8554 - Pentesting RTSP
मूल जानकारी
wikipedia से:
रियल टाइम स्ट्रीमिंग प्रोटोकॉल (RTSP) एक नेटवर्क नियंत्रण प्रोटोकॉल है जो मनोरंजन और संचार प्रणालियों में उपयोग के लिए डिज़ाइन किया गया है ताकि स्ट्रीमिंग मीडिया सर्वर को नियंत्रित किया जा सके। इस प्रोटोकॉल का उपयोग अंत बिंदुओं के बीच मीडिया सत्र स्थापित और नियंत्रित करने के लिए किया जाता है। मीडिया सर्वर के ग्राहक VHS-शैली कमांड जारी करते हैं, जैसे कि प्ले, रिकॉर्ड और पॉज़, ताकि सर्वर से ग्राहक तक मीडिया स्ट्रीमिंग का वास्तविक समय नियंत्रण (वीडियो ऑन डिमांड) या ग्राहक से सर्वर तक (वॉयस रिकॉर्डिंग) हो सके।
स्ट्रीमिंग डेटा के प्रसारण खुद RTSP का कार्य नहीं है। अधिकांश RTSP सर्वर रियल-टाइम ट्रांसपोर्ट प्रोटोकॉल (RTP) का उपयोग करते हैं जो रियल-टाइम नियंत्रण प्रोटोकॉल (RTCP) के साथ मीडिया स्ट्रीम वितरण के लिए होता है। हालांकि, कुछ विक्रेताओं द्वारा प्रोप्राइटरी ट्रांसपोर्ट प्रोटोकॉल का अमल किया जाता है। उदाहरण के लिए, RealNetworks के RTSP सर्वर सॉफ़्टवेयर ने भी RealNetworks का प्रोप्राइटरी रियल डेटा ट्रांसपोर्ट (RDT) का उपयोग किया।
डिफ़ॉल्ट पोर्ट: 554,8554
महत्वपूर्ण विवरण
RTSP HTTP के समान है, लेकिन यह विशेष रूप से मीडिया स्ट्रीमिंग के लिए डिज़ाइन किया गया है। यह एक सीधी विनिर्दिष्टि में परिभाषित है जिसे यहाँ पाया जा सकता है:
उपकरणों को अप्रमाणित या प्रमाणित एक्सेस देने की अनुमति हो सकती है। जांचने के लिए, "DESCRIBE" अनुरोध भेजा जाता है। एक मौलिक उदाहरण नीचे दिखाया गया है:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2
ध्यान रखें, सही स्वरूपण में एक डबल "\r\n" शामिल करना एक संबंधित प्रतिक्रिया के लिए आवश्यक है। "200 OK" प्रतिक्रिया अप्रमाणित एक्सेस को सूचित करती है, जबकि "401 Unauthorized" प्रमाणीकरण की आवश्यकता को संकेत करती है, जो प्रकट करता है कि बेसिक या डाइजेस्ट प्रमाणीकरण की आवश्यकता है।
बेसिक प्रमाणीकरण के लिए, आप उपयोगकर्ता नाम और पासवर्ड को base64 में एन्कोड करते हैं और इसे अनुरोध में शामिल करते हैं जैसे:
DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==
इस उदाहरण में "व्यवस्थापक" और "1234" का उपयोग किया गया है। यहाँ एक Python स्क्रिप्ट है जो ऐसा एक अनुरोध भेजने के लिए:
मूलभूत प्रमाणीकरण सरल और पसंदीदा है। डाइजेस्ट प्रमाणीकरण में "401 अनधिकृत" प्रतिक्रिया में प्रदान की गई प्रमाणीकरण विवरणों का सावधानीपूर्वक संभालना आवश्यक है।
यह अवलोकन RTSP स्ट्रीम तक पहुंचने की प्रक्रिया को सरलता और प्रारंभिक प्रयासों में उपयोगीता के लिए मूलभूत प्रमाणीकरण पर केंद्रित करता है।
गणना
हमें वैध विधियों और URL के बारे में जानकारी प्राप्त करनी होगी और पहुंच को ब्रूट-फोर्स (यदि आवश्यक हो) करने के लिए पहुंच प्राप्त करने का प्रयास करें।
अन्य उपयोगी कार्यक्रम
ब्रूटफोर्स के लिए: https://github.com/Tek-Security-Group/rtsp_authgrinder
किसी भी पहुंचने योग्य लक्ष्य पर खुले RTSP होस्ट का पता लगाएं
उनकी सार्वजनिक जानकारी प्राप्त करें (होस्टनाम, पोर्ट, कैमरा मॉडल, आदि)
उनके स्ट्रीम रूट (उदाहरण के लिए /live.sdp) प्राप्त करने के लिए स्वचालित शब्दकोश हमले चालू करें
कैमरों के उपयोगकर्ता नाम और पासवर्ड प्राप्त करने के लिए स्वचालित शब्दकोश हमले चालू करें
उनसे थंबनेल उत्पन्न करें ताकि जांच सकें कि स्ट्रीम वैध है और उनकी सामग्री का त्वरित पूर्वावलोकन हो
यह जांचने के लिए एक जीस्ट्रीमर पाइपलाइन बनाने का प्रयास करें कि वे सही ढंग से एन्कोड हैं
Cameradar द्वारा प्राप्त सभी जानकारियों का सारांश प्रिंट करें
संदर्भ
Last updated