
تطبيق بايثون معياري لجمع المعلومات الاستخبارية عن المضيفات الخبيثة.
تُستخدم هذه الأداة لجمع مصادر استخباراتية متنوعة للمضيفين. تمت كتابة 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):
$ pip install -r requirements.txt
كانت هناك بعض المشكلات مع الإصدار الافتراضي من Python على Mac OSX (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure). قد تضطر إلى تثبيت جزء الأمان من مكتبة الطلبات باستخدام الأمر التالي:
$ pip install requests[security]
أخيرًا، أنا من محبي virtualenv لـ Python. لإنشاء تثبيت محلي مخصص لـ 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