
Модульное приложение на Python для сбора информации о вредоносных хостах.
Этот инструмент используется для сбора различных источников разведывательной информации об узлах (хостах). Hostintel написан в модульном стиле, чтобы новые источники данных можно было легко добавлять.
Узлы идентифицируются по полному доменному имени (FQDN), домену или IP-адресу. На данный момент инструмент поддерживает только IPv4. Вывод осуществляется в формате CSV и направляется в STDOUT, чтобы данные можно было сохранить или передать в другую программу. Поскольку вывод в формате CSV, электронные таблицы, такие как Excel, или системы баз данных легко смогут импортировать данные.
Я создал краткое введение к этому инструменту на YouTube: https://youtu.be/aYK0gILDA6w
Инструмент работает с Python v2 и Python v3. Если обнаружите, что он не работает с Python v3, пожалуйста, создайте issue.
$ 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
Были некоторые проблемы со стандартной версией Python на Mac OSX (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure). Возможно, вам придётся установить часть безопасности библиотеки requests с помощью следующей команды:
$ 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-адреса, домены и узлы были выбраны случайным образом и никоим образом не предназначены для targeting какой-либо организации или отдельного лица. Запуск этого инструмента на примерах данных работает следующим образом:
$ 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