
1K+ IPs या Shodan खोज परिणामों को खोलता है और लॉगिन करने का प्रयास करता है
Shodan खोज परिणामों, एक निर्दिष्ट IP, IP रेंज, डोमेन, या टेक्स्ट फ़ाइल से IP की सूची को एक साथ खोलें और पृष्ठ की स्थिति और शीर्षक प्रिंट करें यदि लागू हो। -u और -p विकल्प जोड़ें ताकि पहले फॉर्म लॉगिन की तलाश करके लॉगिन करने का प्रयास किया जा सके और विफल होने पर, HTTP बेसिक ऑथ का प्रयास करें।
प्रतिक्रिया HTML में एक निश्चित स्ट्रिंग की खोज करने के लिए -f SEARCHSTRING का उपयोग करें ताकि यह परीक्षण किया जा सके कि प्रमाणीकरण सफल हुआ या नहीं। Shodan खोज शब्द या लक्ष्य IP/डोमेन + _results.txt का उपयोग करके प्रतिक्रिया देने वाले सभी उपकरणों को लॉग करता है। प्रतिक्रिया पृष्ठ के HTML की खोज करने में एक चेतावनी यह है कि कुछ फॉर्म लॉगिन पृष्ठ लॉगिन के बाद के HTML स्रोत के बजाय प्रमाणीकरण अनुरोध के बाद एक JSON ऑब्जेक्ट प्रतिक्रिया लौटाते हैं। अक्सर आप यह निर्धारित कर सकते हैं कि आप सफल हुए या नहीं केवल -f "success" का उपयोग करके ऐसी परिदृश्यों में।
अनुरोधों पर डिफ़ॉल्ट टाइमआउट 15 सेकंड है। एक साथ 1000 अनुरोधों के बैच भेजता है जिसे -c विकल्प का उपयोग करके समायोजित किया जा सकता है। ध्यान दें कि Shodan केवल पहले पृष्ठ के परिणाम (100 होस्ट) की अनुमति देता है यदि आप उनकी मुफ्त API कुंजी का उपयोग कर रहे हैं। यदि आपके पास उनकी पेशेवर API कुंजी है तो आप -n NUMBER_OF_PAGES तर्क के साथ परीक्षण करने के लिए खोज परिणाम पृष्ठों की संख्या निर्दिष्ट कर सकते हैं। डिफ़ॉल्ट रूप से यह केवल पृष्ठ 1 की जाँच करेगा।
Python 2.7
-s विकल्प दे रहे हैं)Modern linux
Shodan API कुंजी (केवल यदि आप -s SEARCHTERM तर्क दे रहे हैं)
-a YOUR_API_KEY तर्क दें यासबसे सरल उपयोग:
python device-pharmer.py -s 'dir-300' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4
Shodan में "dir-300" खोजें और API कुंजी Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4 का उपयोग करें। प्रतिक्रिया पृष्ठ का IP और शीर्षक प्रिंट करें यदि यह मौजूद है।
python device-pharmer.py -s 'dd-wrt' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4 -u admin -p password -n 5 -f ">Advanced Routing<" --proxy 123.12.12.123:8080 --timeout 30
Shodan में "dd-wrt" खोजें और दी गई API कुंजी का उपयोग करें और परिणामों में उपयोगकर्ता नाम "admin" और पासवर्ड "password" के साथ लॉगिन करने का प्रयास करें। केवल Shodan परिणामों के पहले 5 पृष्ठ (500 होस्ट) एकत्र करें और जाँचें कि लैंडिंग पृष्ठ के HTML में स्ट्रिंग ">Advanced Routing<" है या नहीं। आउटपुट में पृष्ठ के IP और शीर्षक के साथ "* MATCH *" प्रिंट करें और यदि स्ट्रिंग मिलती है तो लॉग करें। अंत में, सभी अनुरोधों के लिए 123.12.12.123:8080 पर एक HTTP प्रॉक्सी का उपयोग करें और टाइमआउट को 30 सेकंड पर सेट करें।
python device-pharmer.py -t 192.168.0-2.1-100 -c 100
192.168.0-2.1-100 को लक्षित करना स्क्रिप्ट को बता रहा है कि एक साथ 192.168.0.1-101, 192.168.1.1-101, और 192.168.2.1-101 खोलें और प्रतिक्रिया पृष्ठों की स्थिति और शीर्षक एकत्र करें। -c 100 एक समय में 100 पृष्ठों तक समवर्तीता को सीमित करेगा इसलिए यह स्क्रिप्ट 100 IP के 3 समूहों से गुज़रेगी। चूंकि स्क्रिप्ट में डिफ़ॉल्ट टाइमआउट 15 सेकंड है, इसे पूरा होने में लगभग ~45 सेकंड लगेंगे।
python device-pharmer.py -t www.reddit.com/login -ssl -u sirsmit418 -p whoopwhoop -f 'tattoos'
HTTPS का उपयोग करके विशेष रूप से www.reddit.com/login में उपयोगकर्ता नाम sirsmit418 और पासवर्ड whoopwhoop के साथ लॉगिन करने का प्रयास करें। प्रमाणीकरण सफलता की जाँच करने के लिए प्रतिक्रिया html में एक सब्सक्राइब किए गए subreddit से संबंधित "tattoos" टेक्स्ट देखें।
python device-pharmer.py --ipfile list_of_ips.txt
न्यूलाइन-पृथक IPs की एक टेक्स्ट फ़ाइल से प्रत्येक IP का परीक्षण करें
-a APIKEY: Shodan खोजते समय इस API कुंजी का उपयोग करें (केवल -s के साथ आवश्यक)
-c CONCURRENT: एक साथ एक निर्दिष्ट संख्या में अनुरोध भेजें; डिफ़ॉल्ट=1000
-f FINDTERMS: प्रत्येक प्रतिक्रिया के html में तर्क स्ट्रिंग की खोज करें; मिलान होने पर इसे प्रिंट और लॉग करें
--ipfile IPTEXTFILE: निर्दिष्ट टेक्स्ट फ़ाइल से न्यूलाइन-पृथक IPs की सूची में प्रत्येक IP का परीक्षण करें
-n NUMPAGES: Shodan खोज परिणाम पृष्ठों की निर्दिष्ट मात्रा से गुज़रें, IPs एकत्रित करें; प्रति पृष्ठ 100 परिणाम
-p PASSWORD: इस पासवर्ड का उपयोग करके लॉगिन करने का प्रयास करें
--proxy PROXY: अनुरोध करने के लिए इस प्रॉक्सी का उपयोग करें; HTTP बेसिक के साथ प्रॉक्सी में लॉगिन करने के लिए कुछ इस तरह करें: user:[email protected]:8080
-s SEARCHTERMS: Shodan में शब्द(शब्दों) की खोज करें और प्रत्येक IP पता प्रिंट करें, चाहे पृष्ठ ने प्रतिक्रिया लौटाई हो, और यदि हाँ तो लौटाए गए पृष्ठ का शीर्षक प्रिंट करें (रिडायरेक्ट का अनुसरण करता है)
-ssl: सभी लक्ष्यों पर विशेष रूप से HTTPS अनुरोध भेजें
-t IPADDRESS/DOMAIN/IPRANGE: Shodan का उपयोग करने के बजाय इस डोमेन, IP, या IP रेंज को हिट करने का प्रयास करें ताकि लक्ष्य सूची को भरा जा सके और प्रतिक्रिया जानकारी लौटाई जा सके
--timeout TIMEOUT: प्रत्येक URI के लिए टाइमआउट सेकंड में सेट करें; डिफ़ॉल्ट 15 है
-u USERNAME: इस उपयोगकर्ता नाम का उपयोग करके लॉगिन करने का प्रयास करें
Copyright (c) 2014, Dan McInerney सर्वाधिकार सुरक्षित।
स्रोत और बाइनरी रूपों में पुनर्वितरण और उपयोग, संशोधन के साथ या बिना, निम्नलिखित शर्तों के अधीन होने पर अनुमत है:
यह सॉफ़्टवेयर कॉपीराइट धारकों और योगदानकर्ताओं द्वारा "जैसा है" प्रदान किया गया है और किसी भी प्रकार की स्पष्ट या निहित वारंटी, जिसमें लेकिन सीमित नहीं है, व्यापारिकता और किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटी, अस्वीकार की जाती है। किसी भी स्थिति में किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, दंडात्मक या परिणामी क्षति (लेकिन सीमित नहीं, वैकल्पिक वस्तुओं या सेवाओं की खरीद; उपयोग, डेटा या लाभ की हानि; या व्यवसाय में रुकावट) के लिए उत्तरदायी नहीं होगा, चाहे वह किसी भी सिद्धांत पर आधारित हो, चाहे अनुबंध, कड़ी देयता या अपकृत्य (लापरवाही सहित) में या अन्यथा, सॉफ़्टवेयर के उपयोग से उत्पन्न हो, भले ही ऐसी क्षति की संभावना के बारे में सलाह दी गई हो।