
Cameradar RTSP वीडियो निगरानी कैमरों में घुसपैठ करता है।
Cameradar, अधिकृत लक्ष्यों पर RTSP एंडपॉइंट्स को स्कैन करता है, और उनके क्रेडेंशियल्स तथा रूट्स को ब्रूटफोर्स करने के लिए डिक्शनरी अटैक का उपयोग करता है।
/live.sdp) की डिक्शनरी-आधारित खोज का प्रयास करता है।

Docker स्थापित करें और चलाएँ:
docker run --rm -t --net=host ullaakut/cameradar --targets <target>
उदाहरण:
docker run --rm -t --net=host ullaakut/cameradar --targets 192.168.100.0/24
यह लक्ष्य सबनेट पर पोर्ट 554, 5554 और 8554 को स्कैन करता है। यह RTSP स्ट्रीम को सूचीबद्ध करने का प्रयास करता है। सभी विकल्पों के लिए कॉन्फ़िगरेशन संदर्भ देखें।
लक्ष्य CIDR, IP, IP रेंज या होस्टनाम हो सकते हैं।
172.16.100.0/24172.16.100.10localhost172.16.100.10-20कस्टम डिक्शनरी का उपयोग करने के लिए, उन्हें माउंट करें और दोनों फ़्लैग पास करें:
docker run --rm -t --net=host \
-v /path/to/dictionaries:/tmp/dictionaries \
ullaakut/cameradar \
--custom-routes /tmp/dictionaries/my_routes \
--custom-credentials /tmp/dictionaries/my_credentials.json \
--targets 192.168.100.0/24
यदि Docker उपलब्ध नहीं है या आप स्थानीय बिल्ड चाहते हैं तो इस विकल्प का उपयोग करें।
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latestcameradar बाइनरी अब आपके $GOPATH/bin में है।
उपलब्ध फ़्लैग के लिए कॉन्फ़िगरेशन संदर्भ देखें।
ये चरण Android के लिए एक कार्यशील Termux सेटअप का सारांश प्रस्तुत करते हैं। Google Play से नहीं, बल्कि F-Droid या आधिकारिक Termux साइट से Termux 117 का उपयोग करें।
Termux में आवश्यक पैकेज स्थापित करें:
pkg update
pkg install mc wget git nmap proot-distro
Alpine स्थापित करें और लॉग इन करें:
proot-distro install alpine
proot-distro login alpine
apk add wget git go gcc clang musl-dev make
एक मॉड्यूल पथ बनाएँ और रिपॉजिटरी क्लोन करें:
mkdir -p go/pkg/mod/github.com/Ullaakut
cd go/pkg/mod/github.com/Ullaakut
git clone https://github.com/Ullaakut/cameradar.git
cd cameradar/cmd/cameradar
go install
डिक्शनरी कॉपी करें और बाइनरी चलाएँ:
mkdir -p /tmp
cp -r ../../dictionaries /tmp/dictionaries
/go/bin/cameradar --targets=<target> --custom-credentials=/tmp/dictionaries/credentials.json --custom-routes=/tmp/dictionaries/routes --ui=plain --debug
<target> को एक IP, रेंज, होस्ट या सबनेट से बदलें जिसे आप परीक्षण करने के लिए अधिकृत हैं।
डिफ़ॉल्ट पोर्ट 554, 5554, 8554, http, 322 और 8322 हैं।
यदि आप पोर्ट निर्दिष्ट नहीं करते हैं, तो Cameradar इनका उपयोग करता है।
कस्टम पोर्ट स्कैन करने का उदाहरण:
docker run --rm -t --net=host \
ullaakut/cameradar \
--ports "18554,19000-19010" \
--targets localhost
आप डिफ़ॉल्ट डिक्शनरी को अपने स्वयं के रूट्स और क्रेडेंशियल्स फ़ाइलों से बदल सकते हैं।
रिपॉजिटरी dictionaries फ़ोल्डर में आधारभूत डिक्शनरी प्रदान करती है।
docker run --rm -t --net=host \
-v /my/folder/with/dictionaries:/tmp/dictionaries \
ullaakut/cameradar \
--custom-routes /tmp/dictionaries/my_routes \
--custom-credentials /tmp/dictionaries/my_credentials.json \
--targets 172.19.124.0/24
RTSPS स्ट्रीम तक पहुँचने के लिए rtsps:// URL का उपयोग करें।
SSL_CERT_FILE को CA प्रमाणपत्र (या स्व-हस्ताक्षरित सेटअप के लिए सर्वर प्रमाणपत्र) पर इंगित करें।स्थानीय बाइनरी के साथ उदाहरण:
SSL_CERT_FILE=/path/to/ca-or-server.crt \
cameradar \
--targets localhost \
--ports 8322 \
--skip-scan \
--custom-routes routes.txt \
--custom-credentials credentials.json
Docker के साथ उदाहरण:
docker run --rm -t --net=host \
-e SSL_CERT_FILE=/tmp/certs/server.crt \
-v /path/to/certs:/tmp/certs:ro \
ullaakut/cameradar \
--targets localhost \
--ports 8322
यदि आप SSL_CERT_FILE का उपयोग नहीं करना चाहते हैं, तो अपने CA प्रमाणपत्र को अपने रनटाइम वातावरण द्वारा उपयोग किए जाने वाले सिस्टम ट्रस्ट स्टोर में जोड़ें।
--skip-scan के साथ डिस्कवरी छोड़ेंयदि आप पहले से RTSP एंडपॉइंट जानते हैं, तो आप डिस्कवरी छोड़ सकते हैं और प्रत्येक लक्ष्य और पोर्ट को एक स्ट्रीम उम्मीदवार के रूप में मान सकते हैं। यह मोड डिस्कवरी नहीं चलाता है और प्रतिबंधित नेटवर्क पर या जब आप ज्ञात इन्वेंट्री पर हमला करना चाहते हैं तब उपयोगी हो सकता है।
डिस्कवरी छोड़ने का अर्थ:
उदाहरण:
docker run --rm -t --net=host \
ullaakut/cameradar \
--skip-scan \
--ports "554,8554" \
--targets 192.168.1.10
इस उदाहरण में, Cameradar 192.168.1.10 के पोर्ट 554 और 8554 के खिलाफ डिक्शनरी हमलों का प्रयास करता है।
--scanner के साथ डिस्कवरी स्कैनर चुनेंCameradar दो डिस्कवरी बैकएंड का समर्थन करता है:
nmap (डिफ़ॉल्ट)masscanअधिक विश्वसनीय RTSP डिस्कवरी के लिए nmap का उपयोग करें: यह सेवा पहचान करता है और RTSP को अन्य खुले पोर्टों से बेहतर अलग कर सकता है।
बहुत बड़े नेटवर्क को स्कैन करते समय masscan का उपयोग करें: यह आमतौर पर तेज़ और बड़े पैमाने पर अधिक कुशल होता है, लेकिन यह सेवा डिस्कवरी प्रदान नहीं करता है।
docker run --rm -t --net=host \
ullaakut/cameradar \
--scanner masscan \
--ports "554,8554" \
--targets 192.168.1.0/24
[!WARNING]
--scan-speedकेवलnmapस्कैनर पर लागू होता है।
--framecheck के साथ गलत सकारात्मकता कम करेंकुछ कैमरे RTSP व्यवहार का पूरी तरह से पालन नहीं करते हैं और रूट या क्रेडेंशियल गलत होने पर भी 200 OK वापस कर सकते हैं।
जब आप --framecheck सक्षम करते हैं, तो Cameradar प्लेबैक का प्रयास करके और RTP पैकेट की प्रतीक्षा करके प्रत्येक 200 OK को मान्य करता है।
फ्रेमचेक का अर्थ:
200 OK स्वीकार करता है जब वह फ्रेम जनरेशन की पुष्टि कर सके।--framecheck डिफ़ॉल्ट रूप से अक्षम है क्योंकि यह RTSP अनुरोध जोड़ता है और हमले की अवधि को काफी बढ़ा सकता है।
Docker के साथ उदाहरण:
docker run --rm -t --net=host \
ullaakut/cameradar \
--targets 192.168.1.0/24 \
--ports "554,8554" \
--framecheck
स्थानीय बाइनरी और पर्यावरण चर के साथ उदाहरण:
FRAMECHECK=true \
cameradar \
--targets 192.168.1.0/24 \
--ports "554,8554"
Cameradar एक प्रवेश परीक्षण उपकरण है। केवल उन नेटवर्क और उपकरणों को स्कैन करें जिनके आप मालिक हैं या जिनका परीक्षण करने की आपको स्पष्ट अनुमति है। इस उपकरण का उपयोग अनधिकृत सिस्टम या स्ट्रीम तक पहुँचने के लिए न करें। यदि आप अनिश्चित हैं, तो रुकें और स्कैन करने से पहले लिखित अनुमोदन प्राप्त करें।
Cameradar परिणामों को एक पठनीय टर्मिनल UI में प्रस्तुत करता है।
यह खोजों को कंसोल पर लॉग करता है।
रिपोर्ट में खोजे गए होस्ट, पहचाने गए डिवाइस मॉडल और मान्य रूट या क्रेडेंशियल शामिल हैं।
यदि आप --output फ़्लैग के लिए एक पथ निर्दिष्ट करते हैं, तो Cameradar खोजी गई स्ट्रीम के साथ एक M3U प्लेलिस्ट भी लिखता है।
स्ट्रीम से कनेक्ट करने के लिए VLC Media Player का उपयोग करें:
rtsp://username:password@address:port/route
सुरक्षित RTSP एंडपॉइंट के लिए, उपयोग करें:
rtsps://username:password@address:port/route
फ़ाइल में IP, होस्टनाम, IP रेंज और सबनेट हो सकते हैं। प्रविष्टियों को नई पंक्तियों से अलग करें। उदाहरण:
0.0.0.0
localhost
192.17.0.0/16
192.168.1.140-255
192.168.2-3.0-255
जब आप --skip-scan का उपयोग करते हैं, तो Cameradar लक्ष्य सूची बनाने से पहले प्रत्येक प्रविष्टि को स्पष्ट IP पतों में विस्तारित करता है।
पूर्ण CLI और पर्यावरण चर संदर्भ कॉन्फ़िगरेशन संदर्भ में बनाए रखा गया है।
इसमें सभी समर्थित फ़्लैग, डिफ़ॉल्ट, स्वीकृत मान और env var मैपिंग शामिल हैं।
रिपॉजिटरी रूट में निम्नलिखित कमांड चलाएँ:
docker build . -t cameradar
परिणामी इमेज का नाम cameradar है।
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latestcameradar बाइनरी अब $GOPATH/bin/cameradar में है।
समस्या निवारण और FAQ देखें
अपनी मशीन पर डिफ़ॉल्ट पोर्ट स्कैन करने के लिए cameradar चलाना
docker run --rm -t --net=host ullaakut/cameradar --targets localhost
एक इनपुट फ़ाइल के साथ cameradar चलाना, पोर्ट 8554 पर लॉग सक्षम
docker run --rm -t --net=host -v /tmp:/tmp ullaakut/cameradar --targets /tmp/test.txt --ports 8554
कस्टम डिक्शनरी के साथ एक सबनेट पर cameradar चलाना, पोर्ट 554, 5554, 8554, 322 और 8322 पर
docker run --rm -t --net=host -v /tmp:/tmp ullaakut/cameradar --targets 192.168.0.0/24 --custom-credentials "/tmp/dictionaries/credentials.json" --custom-routes "/tmp/dictionaries/routes" --ports 554,5554,8554
masscan डिस्कवरी के साथ cameradar चलाना
docker run --rm -t --net=host ullaakut/cameradar --scanner masscan --targets 192.168.0.0/24 --ports 554,8554
कॉपीराइट 2026 Ullaakut
इसके द्वारा, किसी भी व्यक्ति को जो इस सॉफ़्टवेयर और संबंधित दस्तावेज़ फ़ाइलों ("सॉफ़्टवेयर") की एक प्रति प्राप्त करता है, बिना किसी प्रतिबंध के सॉफ़्टवेयर में सौदा करने की अनुमति निःशुल्क प्रदान की जाती है, जिसमें बिना किसी सीमा के, सॉफ़्टवेयर की प्रतियों का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उप-लाइसेंस और/या बेचने का अधिकार शामिल है, और उन व्यक्तियों को ऐसा करने की अनुमति देना जिन्हें सॉफ़्टवेयर प्रदान किया गया है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट सूचना और यह अनुमति सूचना सॉफ़्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में शामिल की जाएगी।
सॉफ़्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी के, स्पष्ट या निहित, जिसमें बिना सीमा के व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघन न होने की वारंटी शामिल है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध, अपकृत्य या किसी अन्य कार्यवाही में उत्पन्न हुआ हो, सॉफ़्टवेयर से या उसके उपयोग या अन्य सौदों से संबंधित।