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

विषयसूची
- Docker के साथ त्वरित प्रारंभ
- बाइनरी स्थापित करें
- Android (Termux) पर स्थापित करें
- कॉन्फ़िगरेशन
- सुरक्षा और जिम्मेदार उपयोग
- आउटपुट
- कैमरा एक्सेस जांचें
- कमांड-लाइन विकल्प और पर्यावरण चर
- इनपुट फ़ाइल प्रारूप
- बिल्ड करें और योगदान दें
- अक्सर पूछे जाने वाले प्रश्न
- उदाहरण
- लाइसेंस

Docker के साथ त्वरित प्रारंभ
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/24 - IP:
172.16.100.10 - होस्ट:
localhost - रेंज:
172.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 1.25 या बाद का संस्करण
चरण
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latest
cameradar बाइनरी अब आपके $GOPATH/bin में है।
उपलब्ध फ़्लैग के लिए कॉन्फ़िगरेशन संदर्भ देखें।
Android (Termux) पर स्थापित करें
ये चरण Android के लिए एक कार्यशील Termux सेटअप का सारांश प्रस्तुत करते हैं। Google Play से नहीं, बल्कि F-Droid या आधिकारिक Termux साइट से Termux 117 का उपयोग करें।
1) Termux और Alpine सेट करें
Termux में आवश्यक पैकेज स्थापित करें:
pkg update
pkg install mc wget git nmap proot-distro
Alpine स्थापित करें और लॉग इन करें:
proot-distro install alpine
proot-distro login alpine
2) Alpine में बिल्ड टूल्स स्थापित करें
apk add wget git go gcc clang musl-dev make
3) Cameradar बनाएँ
एक मॉड्यूल पथ बनाएँ और रिपॉजिटरी क्लोन करें:
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
4) Cameradar चलाएँ
डिक्शनरी कॉपी करें और बाइनरी चलाएँ:
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 और TLS प्रमाणपत्र
RTSPS स्ट्रीम तक पहुँचने के लिए rtsps:// URL का उपयोग करें।
- यदि स्ट्रीम प्रमाणपत्र किसी विश्वसनीय सार्वजनिक CA द्वारा जारी किया गया है, तो कोई अतिरिक्त सेटअप की आवश्यकता नहीं है।
- यदि स्ट्रीम प्रमाणपत्र स्व-हस्ताक्षरित है या किसी निजी CA द्वारा जारी किया गया है, तो OS ट्रस्ट स्टोर इसे अस्वीकार कर सकता है।
- उस स्थिति में, Cameradar चलाते समय
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 एंडपॉइंट जानते हैं, तो आप डिस्कवरी छोड़ सकते हैं और प्रत्येक लक्ष्य और पोर्ट को एक स्ट्रीम उम्मीदवार के रूप में मान सकते हैं। यह मोड डिस्कवरी नहीं चलाता है और प्रतिबंधित नेटवर्क पर या जब आप ज्ञात इन्वेंट्री पर हमला करना चाहते हैं तब उपयोगी हो सकता है।
डिस्कवरी छोड़ने का अर्थ:
- Cameradar डिस्कवरी नहीं चलाता है और डिवाइस मॉडल का पता नहीं लगाता है।
- लक्ष्य IP पतों में हल हो जाते हैं। होस्टनाम DNS के माध्यम से हल होते हैं।
- CIDR ब्लॉक और IPv4 रेंज रेंज के प्रत्येक पते में विस्तारित हो जाते हैं।
- बड़ी रेंज कई लक्ष्य बनाती हैं, इसलिए उनका सावधानी से उपयोग करें।
उदाहरण:
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 को मान्य करता है।
फ्रेमचेक का अर्थ:
- Cameradar केवल तभी
200 OKस्वीकार करता है जब वह फ्रेम जनरेशन की पुष्टि कर सके। - यदि कोई RTP पैकेट नहीं आता है, तो Cameradar परिणाम को गलत सकारात्मक मानता है और हमला जारी रखता है।
- रूट जाँचें प्रोबिंग के दौरान देखे गए प्रमाणीकरण चैलेंज के साथ संगत रहती हैं।
--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 बिल्ड
रिपॉजिटरी रूट में निम्नलिखित कमांड चलाएँ:
docker build . -t cameradar
परिणामी इमेज का नाम cameradar है।
Go बिल्ड
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latest
cameradar बाइनरी अब $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
इसके द्वारा, किसी भी व्यक्ति को जो इस सॉफ़्टवेयर और संबंधित दस्तावेज़ फ़ाइलों ("सॉफ़्टवेयर") की एक प्रति प्राप्त करता है, बिना किसी प्रतिबंध के सॉफ़्टवेयर में सौदा करने की अनुमति निःशुल्क प्रदान की जाती है, जिसमें बिना किसी सीमा के, सॉफ़्टवेयर की प्रतियों का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उप-लाइसेंस और/या बेचने का अधिकार शामिल है, और उन व्यक्तियों को ऐसा करने की अनुमति देना जिन्हें सॉफ़्टवेयर प्रदान किया गया है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट सूचना और यह अनुमति सूचना सॉफ़्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में शामिल की जाएगी।
सॉफ़्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी के, स्पष्ट या निहित, जिसमें बिना सीमा के व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघन न होने की वारंटी शामिल है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध, अपकृत्य या किसी अन्य कार्यवाही में उत्पन्न हुआ हो, सॉफ़्टवेयर से या उसके उपयोग या अन्य सौदों से संबंधित।