Kamerka GUI
Kamerka GUI इंटरनेट-एक्सपोज़्ड औद्योगिक नियंत्रण प्रणाली, इंटरनेट ऑफ थिंग्स और चिकित्सा उपकरणों की खोज, समीक्षा और ट्राइएज करने के लिए Django-आधारित रिकॉनिसेंस डैशबोर्ड है। यह Shodan खोज डेटा, Google Maps विज़ुअलाइज़ेशन, डिवाइस स्क्रीनशॉट, निष्क्रिय खुफिया संवर्धन और चयनित स्कैन/एक्सप्लॉइट हेल्पर्स को एक वेब इंटरफ़ेस में जोड़ता है।
ऐप डिवाइस तालिकाओं में Filter Honeypots टॉगल के साथ समीक्षा के दौरान शोर को कम करने में मदद करता है। यह उन उपकरणों को बाहर करता है जो हनीपॉट-शैली संकेतक उजागर करते हैं, ताकि विश्लेषक पहले संभावित वास्तविक संपत्तियों पर ध्यान केंद्रित कर सकें। Kamerka एक डिवाइस Indicator फ़ील्ड भी प्रस्तुत करता है, जो पार्स किए गए बैनर, प्रोटोकॉल प्रतिक्रियाओं, स्क्रीनशॉट लेबल और अन्य डिवाइस मेटाडेटा से निर्मित होता है, यह समझाने के लिए कि किसी डिवाइस को क्यों फ़्लैग किया गया या उसे कैसे स्थित या वर्गीकृत किया जा सकता है।
इसका उपयोग केवल अधिकृत अनुसंधान, संपत्ति सूची, रक्षात्मक एक्सपोज़र प्रबंधन और उपयुक्त मालिकों या CERT/CSIRT टीमों को रिपोर्ट करने के लिए करें।
यह क्या करता है
- Shodan पर ICS, IoT, स्वास्थ्य सेवा और हमलावर-बुनियादी ढांचा डिवाइस श्रेणियों की खोज करता है।
- देश-आधारित खोजों और निर्देशांक-आधारित खोजों का समर्थन करता है।
- खोजों और खोजे गए उपकरणों को स्थानीय Django डेटाबेस में संग्रहीत करता है।
- खोज इतिहास, डैशबोर्ड, आँकड़े, पसंदीदा और स्क्रीनशॉट गैलरी दिखाता है।
- उपकरणों को वैश्विक और प्रति-डिवाइस Google Maps दृश्यों पर प्रदर्शित करता है।
- भू-स्थान में मदद के लिए बैनर और प्रोटोकॉल प्रतिक्रियाओं से डिवाइस संकेतक पार्स करता है।
- डिवाइस-स्तरीय खुफिया जानकारी, बैनर डेटा, स्क्रीनशॉट, होस्टनाम, संगठन, स्थान, पोर्ट, उत्पाद और कमजोरियाँ दिखाता है।
- Intel टैब से Shodan होस्ट स्कैन और Whois XML API संवर्धन चलाता है।
- Nmap XML आउटपुट आयात करने और चयनित Nmap NSE स्कैन चलाने का समर्थन करता है।
- विशिष्ट डिवाइस परिवारों के लिए चयनित प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट हेल्पर्स शामिल करता है।
स्क्रीनशॉट
मानचित्र

डिवाइस इंटेल

स्क्रीनशॉट के साथ डिवाइस इंटेल


स्क्रीनशॉट गैलरी

डैशबोर्ड

मुख्य दृश्य
Dashboard: उच्च-स्तरीय संख्या, Shodan क्रेडिट, हाल की खोजें, चार्ट, विश्व कवरेज और पसंदीदा।
Database: सभी खोजे गए उपकरणों की खोज योग्य तालिका, संभावित हनीपॉट के लिए फ़िल्टरिंग के साथ।
History: देश के नाम, चयनित डिवाइस श्रेणियां और परिणामों के लिंक के साथ पिछली खोजें।
Map: खोजे गए उपकरणों का वैश्विक क्लस्टर्ड Google मानचित्र।
Gallery: सभी एकत्रित डिवाइस स्क्रीनशॉट, देश फ़िल्टरिंग के साथ।
Results: प्रति-खोज डिवाइस तालिका, मानचित्र, आँकड़े और निर्यात-शैली ब्राउज़िंग।
Device: एकल डिवाइस के लिए Locate, Intel और Exploit टैब।
आवश्यकताएँ
- अनुरक्षित Django 5.2 और Celery स्टैक के लिए Python 3.10 से 3.13 अनुशंसित है।
- Celery बैकग्राउंड जॉब्स के लिए Redis सर्वर।
- Shodan API कुंजी। भुगतान खाता अनुशंसित है क्योंकि व्यापक खोजें क्रेडिट/पेज का उपयोग करती हैं।
- मानचित्र और रूट/लोकेशन सुविधाओं के लिए Google Maps JavaScript API कुंजी।
- यदि आप Whois संवर्धन चाहते हैं तो Whois XML API कुंजी।
- यदि आप Nmap XML आयात भू-स्थान चाहते हैं तो रिपॉजिटरी रूट में
GeoLite2-City.mmdb।
- यदि आप सक्रिय Nmap स्कैन चलाना चाहते हैं तो स्थानीय रूप से Nmap स्थापित।
Python निर्भरताएँ requirements.txt में सूचीबद्ध हैं। प्रोजेक्ट अब Django 5.2 LTS लाइन, Celery 5.6 और बाउंडेड Python पैकेजों को लक्षित करता है ताकि इंस्टॉल असंगत प्रमुख संस्करणों पर कूदे बिना वर्तमान बने रहें।
स्थापना
रिपॉजिटरी को क्लोन करें और एक वर्चुअल वातावरण बनाएँ:
git clone https://github.com/woj-ciech/Kamerka-GUI.git
cd Kamerka-GUI
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
यदि python3.12 उपलब्ध नहीं है, तो किसी अन्य Python 3.10-3.13 इंटरप्रेटर का उपयोग करें। पुराने Python 3.8/3.9 वर्चुअल वातावरण का पुन: उपयोग न करें क्योंकि वर्तमान निर्भरता सेट के लिए Python 3.10+ आवश्यक है।
डेटाबेस स्कीमा बनाएँ:
रिपॉजिटरी रूट में keys.json बनाएँ:
{
"keys": {
"shodan": "YOUR_SHODAN_API_KEY",
"google_maps": "YOUR_GOOGLE_MAPS_API_KEY",
"whoisxmlapi": "YOUR_WHOIS_XML_API_KEY"
}
}
एक अलग टर्मिनल में Redis प्रारंभ करें:
दूसरे टर्मिनल में Celery वर्कर प्रारंभ करें:
source .venv/bin/activate
celery --app kamerka worker --loglevel=info
Django डेवलपमेंट सर्वर प्रारंभ करें:
source .venv/bin/activate
python manage.py runserver
ऐप खोलें:
कॉन्फ़िगरेशन नोट्स
keys.json रनटाइम पर आवश्यक है क्योंकि ऐप keys['keys'] से API कुंजियाँ पढ़ता है।
keys.json को सोर्स कंट्रोल से बाहर रखें। इसमें निजी क्रेडेंशियल्स हैं।
- डिफ़ॉल्ट डेटाबेस SQLite है। यह स्थानीय परीक्षण के लिए ठीक है; तैनाती के लिए उत्पादन डेटाबेस का उपयोग करें।
- बैकग्राउंड खोजें, Shodan स्कैन, Whois स्कैन और Nmap आयात Celery वर्कर के सक्रिय होने पर निर्भर करते हैं।
- निर्देशांक खोजें प्रदत्त अक्षांश/देशांतर के आसपास Shodan जियो क्वेरी का उपयोग करती हैं।
- बड़ी Shodan खोजें जल्दी से क्रेडिट का उपभोग कर सकती हैं। जानबूझकर पेज सीमाओं का उपयोग करें।
सामान्य कार्यप्रवाह
- खोज पृष्ठ खोलें और ICS, IoT, स्वास्थ्य सेवा या बुनियादी ढाँचा खोज मोड चुनें।
- एक या अधिक डिवाइस श्रेणियाँ चुनें।
- कोई देश या निर्देशांक चुनें, फिर चुनें कि कितने Shodan पृष्ठ एकत्र करने हैं।
- खोज सबमिट करें और Celery कार्य समाप्त होने तक प्रतीक्षा करें।
- डैशबोर्ड, इतिहास या प्रति-खोज परिणाम पृष्ठ की समीक्षा करें।
- Intel, मानचित्र स्थान, स्क्रीनशॉट, Shodan स्कैन परिणाम और Whois डेटा का निरीक्षण करने के लिए व्यक्तिगत उपकरण खोलें।
- सक्रिय स्कैन या एक्सप्लॉइट हेल्पर्स का उपयोग केवल तभी करें जब आपके पास स्पष्ट प्राधिकरण हो।
समर्थित खोज श्रेणियाँ
समर्थित Shodan क्वेरीज़ की पूरी सूची queries.md में रखी गई है।
व्यापक श्रेणियों में शामिल हैं:
- औद्योगिक नियंत्रण प्रणाली और OT प्रोटोकॉल।
- कैमरे और स्क्रीनशॉट-सक्षम IoT उपकरण।
- स्वास्थ्य सेवा और चिकित्सा प्रणालियाँ।
- भवन ऑटोमेशन और स्मार्ट बुनियादी ढाँचा।
- हमलावर बुनियादी ढाँचा संकेतक।
- VNC, RDP, MQTT, प्रिंटर और वेब कैमरा जैसी सामान्य एक्सपोज़्ड सेवाएँ।
Nmap समर्थन
Kamerka Nmap XML आउटपुट आयात कर सकता है और nmap_scripts के अंतर्गत NSE सहायक स्क्रिप्ट शामिल करता है।
शामिल स्क्रिप्ट परिवारों में शामिल हैं:
- ATG
- BACnet
- Codesys
- DNP3
- EtherNet/IP
- Fox/Niagara
- Modbus
- Omron FINS
- PCWorx
- ProConOS
- Siemens S7
एक्सप्लॉइट हेल्पर्स
प्रोजेक्ट में विशिष्ट डिवाइस परिवारों के लिए चयनित एक्सप्लॉइट/हेल्पर मॉड्यूल शामिल हैं, जिनमें शामिल हैं:
- Bosch Security Systems DVR 630/650/670 Series
- VideoIQ रिमोट फ़ाइल प्रकटीकरण
- Hikvision बैकडोर-शैली उपयोगकर्ता संशोधन प्रवाह
- Contec Smart Home पासवर्ड रीसेट व्यवहार
- Grandstream UCM सूचना/संस्करण जाँच
- Netwave कैमरा स्थिति प्रकटीकरण
- CirCarLife SCADA सूचना प्रकटीकरण
- Amcrest अनप्रमाणित ऑडियो/वीडियो एंडपॉइंट हेल्पर
- Lutron Quantum सूचना प्रकटीकरण
ये हेल्पर्स केवल नियंत्रित सत्यापन के लिए हैं। उन्हें उन प्रणालियों के विरुद्ध न चलाएँ जिनके मालिक नहीं हैं या जिनके परीक्षण की अनुमति नहीं है।
समस्या निवारण
- यदि खोज कभी पूरी नहीं होती है, तो सुनिश्चित करें कि Redis चल रहा है और Celery वर्कर जुड़ा है।
- यदि मानचित्र लोड नहीं होते हैं, तो सुनिश्चित करें कि Google Maps API कुंजी मान्य है और आपके होस्ट के लिए अधिकृत है।
- यदि Shodan खोज विफल होती है, तो सुनिश्चित करें कि API कुंजी में क्रेडिट हैं और क्वेरी/पेज गणना अनुमत है।
- यदि Whois संवर्धन खाली है, तो Whois XML API कुंजी और कोटा सुनिश्चित करें।
- यदि Nmap XML आयात विफल होता है, तो सुनिश्चित करें कि XML फ़ाइल मान्य है और
GeoLite2-City.mmdb प्रोजेक्ट रूट में मौजूद है।
सुरक्षा और कानूनी सूचना
Kamerka उजागर महत्वपूर्ण बुनियादी ढाँचा, IoT और चिकित्सा संपत्तियों की पहचान कर सकता है। सभी निष्कर्षों का जिम्मेदारी से उपचार करें:
- केवल उन संपत्तियों पर उपयोग करें जिनके मालिक हैं या जिनका मूल्यांकन करने के लिए अधिकृत हैं।
- तीसरे पक्ष की प्रणालियों का शोषण, परिवर्तन या विघटन न करें।
- उजागर महत्वपूर्ण प्रणालियों की रिपोर्ट उपयुक्त जिम्मेदार प्रकटीकरण चैनलों के माध्यम से करें।
- इस उपकरण के दुरुपयोग या क्षति के लिए लेखक और योगदानकर्ता जिम्मेदार नहीं हैं।
संबंधित पठन
श्रेय