
Un'applicazione Python modulare per raccogliere intelligence su host dannosi.
Questo strumento viene utilizzato per raccogliere diverse fonti di intelligence per gli host. Hostintel è scritto in modo modulare in modo che nuove fonti di intelligence possano essere facilmente aggiunte.
Gli host sono identificati da nome host FQDN, dominio o indirizzo IP. Questo strumento supporta attualmente solo IPv4. L'output è in formato CSV e inviato a STDOUT in modo che i dati possano essere salvati o reindirizzati in un altro programma. Poiché l'output è in formato CSV, fogli di calcolo come Excel o sistemi di database potranno facilmente importare i dati.
Ho creato una breve introduzione per questo strumento su YouTube: https://youtu.be/aYK0gILDA6w
Funziona con Python v2 e Python v3. Se scopri che non funziona con Python v3, per favore segnala un problema.
$ 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.
Per prima cosa, assicurati che il tuo file di configurazione sia corretto per il tuo computer/installazione. Aggiungi le tue chiavi API e i nomi utente appropriati nel file di configurazione. Python e Pip sono necessari per eseguire questo strumento. Ci sono moduli che devono essere installati da GitHub, quindi assicurati che il comando git sia disponibile dalla riga di comando. Git è facile da installare su qualsiasi piattaforma. Successivamente, installa i requisiti Python (esegui questo ogni volta che fai git pull di questo repository):
$ pip install -r requirements.txt
Ci sono stati alcuni problemi con la versione standard di Python su Mac OSX (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure). Potrebbe essere necessario installare la parte di sicurezza della libreria requests con il seguente comando:
$ pip install requests[security]
Infine, sono un fan di virtualenv per Python. Per creare un'installazione locale personalizzata di Python per eseguire questo strumento, ti consiglio di leggere: http://docs.python-guide.org/en/latest/dev/virtualenvs/
$ python hostintel.py myconfigfile.conf myhosts.txt -a > myoutput.csv
Dovresti essere in grado di importare myoutput.csv in qualsiasi database o programma di fogli di calcolo.
Nota che a seconda della tua rete, dei limiti della tua chiave API e dei dati che stai cercando, questo script può girare per molto tempo! Usa ogni modulo con parsimonia! In cambio della lunga attesa, ti risparmi di dover recuperare questi dati manualmente.
Ci sono alcuni dati di esempio nella directory "sampledata". Gli IP, i domini e gli host sono stati scelti a caso e non hanno in alcun modo l'intenzione di prendere di mira alcuna organizzazione o individuo. Eseguire questo strumento sui dati di esempio funziona nel modo seguente:
$ 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 ***
Puoi ottenere le chiavi API dai siti seguenti per il tuo file di configurazione.
Note grezze sono disponibili qui.
Questa applicazione è coperta dalla licenza 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>.
Leggi Contributing.md