
Una aplicación modular en Python para recopilar inteligencia sobre hosts maliciosos.
Esta herramienta se utiliza para recopilar diversas fuentes de inteligencia sobre hosts. Hostintel está escrito de forma modular para que se puedan añadir fácilmente nuevas fuentes de inteligencia.
Los hosts se identifican por nombre de host FQDN, dominio o dirección IP. Esta herramienta solo admite IPv4 por el momento. La salida está en formato CSV y se envía a STDOUT para que los datos puedan guardarse o redirigirse a otro programa. Al estar en formato CSV, hojas de cálculo como Excel o sistemas de bases de datos podrán importar los datos fácilmente.
Creé una breve introducción de esta herramienta en YouTube: https://youtu.be/aYK0gILDA6w
Esto funciona con Python v2 y Python v3. Si encuentras que no funciona con Python v3, por favor abre un 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.
Primero, asegúrate de que tu archivo de configuración sea correcto para tu computadora/instalación. Agrega tus claves API y nombres de usuario según corresponda en el archivo de configuración. Se requiere Python y Pip para ejecutar esta herramienta. Hay módulos que deben instalarse desde GitHub, así que asegúrate de que el comando git esté disponible en tu línea de comandos. Git es fácil de instalar en cualquier plataforma. Luego, instala los requisitos de Python (ejecuta esto cada vez que hagas git pull de este repositorio también):
$ pip install -r requirements.txt
Ha habido algunos problemas con la versión estándar de Python en Mac OSX (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure). Es posible que debas instalar la parte de seguridad de la librería requests con el siguiente comando:
$ pip install requests[security]
Por último, soy fanático de virtualenv para Python. Para crear una instalación local personalizada de Python para ejecutar esta herramienta, te recomiendo leer: http://docs.python-guide.org/en/latest/dev/virtualenvs/
$ python hostintel.py myconfigfile.conf myhosts.txt -a > myoutput.csv
Deberías poder importar myoutput.csv a cualquier programa de base de datos u hoja de cálculo.
Ten en cuenta que dependiendo de tu red, los límites de tu clave API y los datos que estés buscando, este script puede ejecutarse durante mucho tiempo. ¡Usa cada módulo con moderación! A cambio de la larga espera, te ahorras tener que obtener estos datos manualmente.
Hay algunos datos de muestra en el directorio "sampledata". Las IP, dominios y hosts fueron elegidos al azar y de ninguna manera pretenden apuntar a ninguna organización o individuo. Ejecutar esta herramienta con los datos de muestra funciona de la siguiente manera:
$ 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 ***
Puedes obtener claves API en los sitios a continuación para tu archivo de configuración.
Notas rudimentarias disponibles aquí.
Esta aplicación está cubierta por la licencia 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>.
Lee Contributing.md