
Uma aplicação Python modular para coletar inteligência sobre hosts maliciosos.
Esta ferramenta é utilizada para coletar várias fontes de inteligência para hosts. O Hostintel é escrito de forma modular para que novas fontes de inteligência possam ser facilmente adicionadas.
Os hosts são identificados por nome de host FQDN, domínio ou endereço IP. Esta ferramenta suporta apenas IPv4 no momento. A saída está em formato CSV e é enviada para STDOUT para que os dados possam ser salvos ou redirecionados para outro programa. Como a saída está em formato CSV, planilhas como Excel ou sistemas de banco de dados poderão importar os dados facilmente.
Criei uma breve introdução para esta ferramenta no YouTube: https://youtu.be/aYK0gILDA6w
Isso funciona com Python v2 e Python v3. Se você achar que não funciona com Python v3, por favor, abra uma 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.
Primeiro, certifique-se de que seu arquivo de configuração está correto para seu computador/instalação. Adicione suas chaves de API e nomes de usuário conforme apropriado no arquivo de configuração. Python e Pip são necessários para executar esta ferramenta. Existem módulos que devem ser instalados a partir do GitHub, portanto, certifique-se de que o comando git esteja disponível em sua linha de comando. O Git é fácil de instalar em qualquer plataforma. Em seguida, instale os requisitos do Python (execute isso sempre que fizer git pull deste repositório também):
$ pip install -r requirements.txt
Houve alguns problemas com a versão padrão do Python no Mac OSX (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure). Você pode precisar instalar a parte de segurança da biblioteca requests com o seguinte comando:
$ pip install requests[security]
Por último, sou fã do virtualenv para Python. Para fazer uma instalação local personalizada do Python para executar esta ferramenta, recomendo que você leia: http://docs.python-guide.org/en/latest/dev/virtualenvs/
$ python hostintel.py myconfigfile.conf myhosts.txt -a > myoutput.csv
Você deve conseguir importar myoutput.csv para qualquer programa de banco de dados ou planilha.
Observe que, dependendo da sua rede, dos limites da sua chave de API e dos dados que você está pesquisando, este script pode levar muito tempo para ser executado! Use cada módulo com moderação! Em troca da longa espera, você evita ter que obter esses dados manualmente.
Há alguns dados de exemplo no diretório "sampledata". Os IPs, domínios e hosts foram escolhidos aleatoriamente e de forma alguma têm a intenção de visar qualquer organização ou indivíduo. Executar esta ferramenta nos dados de exemplo funciona da seguinte forma:
$ 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 ***
Você pode obter chaves de API nos sites abaixo para seu arquivo de configuração.
Notas rudimentares estão disponíveis aqui.
Esta aplicação é coberta pela licença 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>.
Leia Contributing.md