
दुर्भावनापूर्ण होस्ट के लिए खुफिया जानकारी एकत्र करने हेतु एक मॉड्यूलर Python एप्लिकेशन।
यह उपकरण होस्ट के लिए विभिन्न खुफिया स्रोतों को एकत्र करने के लिए उपयोग किया जाता है। Hostintel मॉड्यूलर तरीके से लिखा गया है ताकि नए खुफिया स्रोतों को आसानी से जोड़ा जा सके।
होस्ट की पहचान FQDN होस्ट नाम, डोमेन या IP पते से की जाती है। यह उपकरण फिलहाल केवल IPv4 का समर्थन करता है। आउटपुट CSV प्रारूप में है और STDOUT पर भेजा जाता है ताकि डेटा को सहेजा जा सके या किसी अन्य प्रोग्राम में पाइप किया जा सके। चूंकि आउटपुट CSV प्रारूप में है, इसलिए स्प्रेडशीट जैसे Excel या डेटाबेस सिस्टम आसानी से डेटा आयात कर सकेंगे।
मैंने इस उपकरण के लिए YouTube पर एक छोटा परिचय बनाया है: https://youtu.be/aYK0gILDA6w
यह Python v2 और Python v3 के साथ काम करता है। यदि आपको लगता है कि यह Python v3 के साथ काम नहीं करता है तो कृपया एक समस्या पोस्ट करें।
$ python hostintel.py -h
usage: hostintel.py [-h] [-a] [-d] [-v] [-p] [-s] [-c] [-t] [-o] [-i] [-r]
ConfigurationFile InputFile
Modular application to look up host intelligence information. Outputs CSV to
STDOUT. This application will not output information until it has finished all
of the input.
positional arguments:
ConfigurationFile Configuration file
InputFile Input file, one host per line (IP, domain, or FQDN
host name)
optional arguments:
-h, --help show this help message and exit
-a, --all Perform All Lookups.
-d, --dns DNS Lookup.
-v, --virustotal VirusTotal Lookup.
-p, --passivetotal PassiveTotal Lookup.
-s, --shodan Shodan Lookup.
-c, --censys Censys Lookup.
-t, --threatcrowd ThreatCrowd Lookup.
-o, --otx OTX by AlienVault Lookup.
-i, --isc Internet Storm Center DShield Lookup.
-r, --carriagereturn Use carriage returns with new lines on csv.
सबसे पहले, सुनिश्चित करें कि आपकी कॉन्फ़िगरेशन फ़ाइल आपके कंप्यूटर/इंस्टॉलेशन के लिए सही है। कॉन्फ़िगरेशन फ़ाइल में अपनी API कुंजियाँ और उपयोगकर्ता नाम उपयुक्त रूप से जोड़ें। इस उपकरण को चलाने के लिए Python और Pip आवश्यक हैं। ऐसे मॉड्यूल हैं जिन्हें GitHub से स्थापित किया जाना चाहिए, इसलिए सुनिश्चित करें कि git कमांड आपकी कमांड लाइन से उपलब्ध है। Git किसी भी प्लेटफॉर्म के लिए स्थापित करना आसान है। इसके बाद, python आवश्यकताओं को स्थापित करें (जब भी आप इस रिपॉजिटरी को git pull करें, तब भी इसे चलाएं):
$ pip install -r requirements.txt
Mac OSX पर Python के स्टॉक संस्करण के साथ कुछ समस्याएँ हुई हैं (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure)। आपको निम्नलिखित कमांड के साथ requests लाइब्रेरी का सुरक्षा भाग स्थापित करना पड़ सकता है:
$ pip install requests[security]
अंत में, मैं Python के लिए virtualenv का प्रशंसक हूं। इस उपकरण को चलाने के लिए Python का एक अनुकूलित स्थानीय इंस्टॉलेशन बनाने के लिए, मैं अनुशंसा करता हूं कि आप पढ़ें: http://docs.python-guide.org/en/latest/dev/virtualenvs/
$ python hostintel.py myconfigfile.conf myhosts.txt -a > myoutput.csv
आप myoutput.csv को किसी भी डेटाबेस या स्प्रेडशीट प्रोग्राम में आयात करने में सक्षम होना चाहिए।
ध्यान दें कि आपके नेटवर्क, आपकी API कुंजी सीमाएँ और आप जिस डेटा की खोज कर रहे हैं, उसके आधार पर यह स्क्रिप्ट बहुत लंबे समय तक चल सकती है! प्रत्येक मॉड्यूल का संयम से उपयोग करें! लंबी प्रतीक्षा के बदले में, आप इस डेटा को मैन्युअल रूप से खींचने से बच जाते हैं।
"sampledata" निर्देशिका में कुछ नमूना डेटा है। IP, डोमेन और होस्ट यादृच्छिक रूप से चुने गए थे और किसी भी संगठन या व्यक्ति को लक्षित करने का कोई इरादा नहीं है। नमूना डेटा पर इस उपकरण को चलाना निम्नलिखित तरीके से काम करता है:
$ python hostintel.py local/config.conf sampledata/smalllist.txt -a > sampledata/smalllist.csv
*** Processing 8.8.8.8 ***
*** Processing 8.8.4.4 ***
*** Processing 192.168.1.1 ***
*** Processing 10.0.0.1 ***
*** Processing google.com ***
*** Processing 212.227.247.242 ***
*** Writing Output ***
$ python hostintel.py local/config.conf sampledata/largerlist.txt -a > sampledata/largerlist.csv
*** Processing 114.34.84.13 ***
*** Processing 116.102.34.212 ***
*** Processing 118.75.180.168 ***
*** Processing 123.195.184.13 ***
*** Processing 14.110.216.236 ***
*** Processing 14.173.147.69 ***
*** Processing 14.181.192.151 ***
*** Processing 146.120.11.66 ***
*** Processing 163.172.149.131 ***
...
*** Processing 54.239.26.180 ***
*** Processing 62.141.39.155 ***
*** Processing 71.6.135.131 ***
*** Processing 72.30.2.74 ***
*** Processing 74.125.34.101 ***
*** Processing 83.31.179.71 ***
*** Processing 85.25.217.155 ***
*** Processing 93.174.93.94 ***
*** Writing Output ***
आप अपनी कॉन्फ़िगरेशन फ़ाइल के लिए नीचे दी गई साइटों से API कुंजियाँ प्राप्त कर सकते हैं।
मोटे नोट यहाँ उपलब्ध हैं।
यह एप्लिकेशन Creative Commons BY-SA लाइसेंस के अंतर्गत आता है।
This product includes GeoLite2 data created by MaxMind, available from
<a href="http://www.maxmind.com">http://www.maxmind.com</a>.
Contributing.md पढ़ें।