
Snoopy: एक वितरित ट्रैकिंग और डेटा अवरोधन फ्रेमवर्क
| || | | || || || || | | |
| _____|| |_| || _ || _ || _ || |_| |
| |_____ | || | | || | | || |_| || |
|_____ || _ || |_| || |_| || ___||_ _|
_____| || | | || || || | | |
|_______||_| |__||_______||_______||___| |___|
V0.1
"एमी, तकनीक अपने आप में न अच्छी है न बुरी। यह इस पर निर्भर करता है कि इसका उपयोग कैसे किया जाता है। जैसे डेथ रे।"
-प्रोफेसर फार्न्सवर्थ
Snoopy में आपका स्वागत है; यह एक वितरित (distributed) ट्रैकिंग और प्रोफाइलिंग फ्रेमवर्क है। Snoopy अभी विकासाधीन है, इसलिए कृपया बेझिझक सुझाव और/या सुधार भेजें। यह दस्तावेज़ बुनियादी उपयोग की रूपरेखा प्रस्तुत करता है। पृष्ठभूमि को थोड़ा और समझने के लिए निम्नलिखित देखें:
क्लाइंट-साइड सॉफ़्टवेयर उन उपकरणों पर चलता है जिन्हें हम "ड्रोन" कहते हैं। एक ड्रोन कोई भी Linux-आधारित डिवाइस हो सकता है जिसमें WiFi इंटरफ़ेस (इंजेक्शन ड्राइवरों सहित) और आउटबाउंड इंटरनेट कनेक्टिविटी हो। Snoopy का परीक्षण Nokia N900 और BackTrack चलाने वाले लैपटॉप पर किया गया है। ड्रोन निम्नलिखित दो कार्य करते हैं:
एकत्रित प्रोब अनुरोध (जैसे Bob का iPhone BTHomeHub-4123 खोज रहा है) नियमित अंतराल पर Snoopy सर्वर पर अपलोड किए जाते हैं। Rogue AP से जुड़ने वाले सभी उपकरणों की इंटरनेट सेवा Snoopy सर्वर के माध्यम से होती है।
सर्वर सभी प्रोब अनुरोधों को एक डेटाबेस में दर्ज करता है, और GPS निर्देशांक निर्धारित करने के लिए Wigle तथा सड़क पते (और स्ट्रीट व्यू तस्वीरें) निर्धारित करने के लिए Google Maps का उपयोग करता है। इसका मतलब है कि यदि आप अपने घर के नेटवर्क के लिए प्रोबिंग कर रहे हैं, तो मुझे आपके घर की तस्वीर मिल सकती है।
प्रत्येक ड्रोन OpenVPN के माध्यम से सर्वर से जुड़ता है, और उसका अपना सबनेट होता है। जुड़े हुए क्लाइंट ड्रोन से एक IP पता प्राप्त करते हैं, और उसके माध्यम से ट्रैफ़िक रूट करते हैं। इसका मतलब है कि सर्वर पर हम क्लाइंट IP पतों (और इसलिए MAC पतों) का मिलान इंटरनेट गतिविधि से कर सकते हैं।
सर्वर पर निम्नलिखित होता है:
नेटवर्क आरेख इस प्रकार है:
Client1 Drone1 Snoopy Server
+----------+ +-----------------------+ +-----------------------+
| wlan0-|<---WiFi--->|-at0 | | eth0|<-squid-sslstrip-mitmproxy->Internet
| | | | 10.2.0.1 | | 11.22.33.44| |
| dhclient | | | | | | Traffic inspection
| | | | tap0-|<-openvpn----->|-tap0 | Social media analysis
+----------+ | | 192.168.42.2 | +--/| 192.168.42.1 |
10.2.0.2 | +-----------------------+ | +-----------------------+
| |
| | route 10.2.0.0 via 192.168.42.2
| | route 10.3.0.0 via 192.168.42.3
Client2 | |
+----------+ | |
| wlan0-|<---+ |
| | |
| dhclient | |
| | |
+----------+ |
10.2.0.3 |
|
|
|
Client3 Drone2 |
+----------+ +-----------------------+ |
| wlan0-|<---WiFi--->|-at0 | |
| | | | 10.3.0.1 | |
| dhclient | | | | |
| | | | tap0-|<-openvpn--+
+----------+ | | 192.168.42.3 |
10.3.0.2 | +-----------------------+
|
|
|
Client4 |
+----------+ |
| wlan0-|<---+
| |
| dhclient |
| |
+----------+
10.3.0.3
Walter ने Snoopy के लिए एक वेब इंटरफ़ेस लिखा है। इसे http://your-snoopy-server.com:5000/ से एक्सेस किया जा सकता है।
एकत्रित डेटा को ग्राफ़िकल रूप से एक्सप्लोर करने के लिए कई Maltego ट्रांसफ़ॉर्म मौजूद हैं (अधिक जानकारी के लिए नीचे देखें)।
स्थापना ================ सर्वर स्थापना सीधी-सादी होनी चाहिए। इसका परीक्षण केवल Ubuntu 12.04 LTS 32bit के स्टॉक इंस्टॉलेशन पर किया गया है। कई सर्वर घटकों में परिवर्तन किए जाते हैं, इसलिए अत्यधिक अनुशंसा की जाती है कि इंस्टॉल स्क्रिप्ट को बेस इंस्टॉलेशन पर चलाएँ, और उस मशीन पर बहुत कुछ और न चलाएँ (यदि कुछ भी हो)। संदेह होने पर, install.sh फ़ाइल को देखें और परिवर्तन मैन्युअल रूप से करें। अन्यथा, बस इंस्टालर को (./install.sh) चलाएँ।
उपयोग ======== स्थापना समाप्त होने के बाद आपको सर्वर मेनू लोड करने के लिए बस 'snoopy' टाइप करने में सक्षम होना चाहिए। यदि नहीं (या संदेह हो) तो स्थापना चरण के दौरान बनाए गए उपयोगकर्ता की होम डायरेक्टरी में जाएँ। 'snoopy/server/' डायरेक्टरी के अंदर 'snoopy.sh' नामक एक फ़ाइल है जिसे आप चला सकते हैं। नीचे मेनू दिया गया है:
+---------------------------------------------------------------+
| Welcome to Snoopy V0.1 |
| SERVER SIDE |
| |
| SensePost Information Security |
| [email protected] / www.sensepost.com |
+---------------------------------------------------------------+
Date: Thu Nov 1 16:37:08 CET 2012
Snoopy Server Status: Stopped
Connected Drones: 0
Wigle User: setYourWigleAccount