
Snoopy v2.0 - मॉड्यूलर डिजिटल स्थलीय ट्रैकिंग फ्रेमवर्क
SensePost प्रस्तुत करता है:
/$$$$$$
/$$__ $$
| $$ \__/ /$$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$ /$$ /$$
| $$$$$$ | $$__ $$ /$$__ $$ /$$__ $$ /$$__ $$| $$ | $$
\____ $$| $$ \ $$| $$ \ $$| $$ \ $$| $$ \ $$| $$ | $$
/$$ \ $$| $$ | $$| $$ | $$| $$ | $$| $$ | $$| $$ | $$
| $$$$$$/| $$ | $$| $$$$$$/| $$$$$$/| $$$$$$$/| $$$$$$$
\______/ |__/ |__/ \______/ \______/ | $$____/ \____ $$
| $$ /$$ | $$
| $$ | $$$$$$/
|__/ \______/
संस्करण: 2.0
कोड: [email protected] // @glennzw
विजिट करें: www.sensepost.com // @sensepost
लाइसेंस: गैर-व्यावसायिक उपयोग
Snoopy संस्करण 2.0 में आपका स्वागत है!
Snoopy को स्थापित और सेटअप करने के लिए:
bash install.sh
वायरलेस, sysinfo और heartbeat प्लगइन्स से डेटा स्थानीय रूप से सहेजने के लिए:
snoopy -v -m wifi:mon=True -m sysinfo -m heartbeat -d myDrone -l London
क्लाइंट से सर्वर पर डेटा सिंक करने के लिए:
सर्वर:
snoopy_auth --create myDrone # खाता बनाएं
snoopy -v -m server # सर्वर प्लगइन शुरू करें
क्लाइंट:
snoopy -v -m wifi:mon=True -s http://<server>:9001/ -d myDrone -l London -k <key>
परिचय और अवलोकन ============================= Snoopy एक वितरित, सेंसर, डेटा संग्रह, अवरोधन, विश्लेषण और विज़ुअलाइज़ेशन फ्रेमवर्क है। यह मॉड्यूलर प्रारूप में लिखा गया है, जो Python प्लगइन्स के माध्यम से विभिन्न स्रोतों से मनमाना डेटा एकत्र करने की अनुमति देता है।
आर्किटेक्चर
प्रत्येक Snoopy इंस्टेंस एक साथ कई प्लगइन्स चला सकता है। एक प्लगइन डेटा एकत्र करता है, जिसे मुख्य Snoopy प्रक्रिया द्वारा क्वेरी किया जाता है और एक स्थानीय डेटाबेस में लिखा जाता है। Snoopy क्लाइंट्स (ड्रोन) और सर्वर के बीच डेटा सिंक कर सकता है, और क्लाइंट्स (ड्रोन) सर्वर से डेटा की प्रतियां भी खींच सकते हैं। प्रत्येक Snoopy इंस्टेंस अपनी स्थिति के अनुरूप प्लगइन्स चला सकता है। यहाँ एक संभावित सेटअप दर्शाने वाला आरेख है:
Drone01 Server01
+---------------+ +--------------+
| प्लगइन्स: | | प्लगइन्स: |
| * WiFi | | *Server |
| * Bluetooth |====3G====>| |<=========================\
| * GSM | | | ||
| * FitBit | | | ||
+---------------+ +--------------+ ||
||
Drone02 Server02 Server03 ||
+---------------+ +--------------+ +-------------+ ||
| प्लगइन्स: | | प्लगइन्स: | | प्लगइन्स: | ||
| * WiFi | | * Server | | * Server | ||
| * Cookie |=====Xbee==>| * Heartbeat |==3G==>| * Wigle |<==\
| चोर | || | | | * DataViz | ||
| * GPS | || | | | | ||
+---------------+ || +--------------+ +-------------+ ||
|| Internet
Drone03 || Laptop01 ||
+---------------+ || +--------------+ ||
| प्लगइन्स: | || | प्लगइन्स: | ||
| * थर्मल | || | *RemotePull | ||
| * कैमरा |===/ | |====/
| * हीट | | चलाएं: |
| | | *Maltego |
+---------------+ +--------------+
उपरोक्त चित्रण में, तीन ड्रोन चल रहे हैं और अपना डेटा दो अलग-अलग सर्वरों पर सिंक कर रहे हैं। एक 3G पर सिंक करता है, अन्य दो Xbee पर। दूसरा सर्वर अपना डेटा तीसरे सर्वर पर सिंक करता है। अंत में, एक क्लाइंट (लैपटॉप) पहले और तीसरे सर्वर से सारा डेटा खींचता है, और डेटा का अन्वेषण करने के लिए Maltego चलाता है।
'snoopy-ng.git' निर्देशिका के अंदर 'sh install.sh' चलाने से सभी आवश्यक पैकेज स्थापित हो जाएंगे। यह aircrack को स्रोत से स्थापित करने का विकल्प प्रदान करता है, जो उन वितरणों के लिए आवश्यक है जिनमें यह पैकेज नहीं है (वायरलेस प्लगइन्स के लिए aircrack सूट का उपयोग किया जाता है)। हम डेटा अन्वेषण के लिए Maltego की अत्यधिक अनुशंसा करते हैं, एक सामुदायिक संस्करण (कुछ प्रतिबंधों के साथ) Paterva वेबसाइट http://paterva.com से मुफ्त डाउनलोड किया जा सकता है।
सभी उपलब्ध फ़्लैग और विकल्पों को देखने के लिए, हमने आपके लिए दो कमांड बनाए हैं:
root@kali:~# snoopy --help (शॉर्टहैंड -h)
यह कमांड आपको सभी चल रहे विकल्प देता है, जैसे कि किस सर्वर से सिंक करना है, ड्रोन का नाम और उसका स्थान। इसके अलावा, यह भी परिचय देता है कि विभिन्न प्लगइन्स को कैसे चलाया जाए।
root@kali:~# snoopy --list (शॉर्टहैंड -i)
यह कमांड सभी उपलब्ध प्लगइन्स और प्रत्येक प्लगइन के ठीक से काम करने के लिए आवश्यक पैरामीटर सूचीबद्ध करता है। प्रत्येक प्लगइन के बारे में अधिक विस्तृत जानकारी प्राप्त करने के लिए, '-ii' या '-iii' का उपयोग करें। किसी विशिष्ट प्लगइन के बारे में जानकारी प्राप्त करने के लिए '-i -m ' का उपयोग करें।
प्लगइन्स को --plugin (या शॉर्टहैंड -m) विकल्प के साथ निर्दिष्ट किया जा सकता है। कई प्लगइन्स निर्दिष्ट किए जा सकते हैं, और दर्ज किए गए क्रम में शुरू किए जाएंगे। प्रत्येक प्लगइन को अपनी तैयार स्थिति इंगित करने के लिए 60 सेकंड दिए जाएंगे, जिसके बाद यह टाइम आउट हो जाएगा और अगला प्लगइन शुरू किया जाएगा। यह उपयोगी हो सकता है यदि बाद के प्लगइन्स पिछले वाले की क्रियाओं पर निर्भर करते हैं।
प्रत्येक प्लगइन (--list आउटपुट में इंगित) अल्पविराम से अलग किए गए कुंजी-मान जोड़े के रूप में कई पैरामीटर ले सकता है। नीचे हम 'example' प्लगइन का उपयोग करते हैं, जो केवल यादृच्छिक संख्याएँ उत्पन्न करता है।
snoopy --plugin example:x=1,v=True
यदि ड्रोन / स्थान विकल्प प्रदान नहीं किए जाते हैं तो डिफ़ॉल्ट मान प्रदान किए जाते हैं। वैकल्पिक रूप से, उन्हें नीचे दिए अनुसार निर्दिष्ट किया जा सकता है।
snoopy --plugin example:x=1,v=True --drone myDrone --location Cansas
--server (-s) विकल्प प्रदान करके डेटा को एक दूरस्थ मशीन पर सिंक्रोनाइज़ किया जा सकता है। दूरस्थ मशीन पर सर्वर प्लगइन (--plugin server) चल रहा होना चाहिए। पहले से एक ड्रोन नाम के लिए एक कुंजी उत्पन्न की जानी चाहिए। नीचे यह दर्शाया गया है।
सर्वर
root@server:~# snoopy_auth --create myDrone01 --verbose
[+] नया Snoopy सर्वर सिंक खाता बना रहा है
[+] 'myDrone01' के लिए कुंजी 'GWWVF' है
[+] क्लाइंट मोड में डेटा को दूरस्थ सर्वर से सिंक करने के लिए इस मान का उपयोग करें।
root@kali:~# snoopy --plugin server
[+] '0.0.0.0:9001' पर वेबसर्वर चला रहा है
[+] प्लगइन server ने 2 तालिकाओं के लिए डेटा कैप्चर किया।
क्लाइंट
root@client:~# snoopy --plugin example:x=1 --drone myDrone --key GWWVF --server http://<server_ip>:9001/ --verbose
[+] प्लगइन्स के साथ Snoopy शुरू कर रहा है: example
[+] प्लगइन example ने नई यादृच्छिक संख्या बनाई: 21
[+] Snoopy ने 2 तालिकाओं में 2 तत्व सफलतापूर्वक सिंक किए।
रिमोट डेटा पुल