Come estrarre il nome host o i domini da indirizzi IP pubblici

Host Hunter è uno strumento completamente gratuito per scoprire ed estrarre in modo efficiente nomi host, o nomi host, che forniscono un ampio set di indirizzi IP pubblici. Questo strumento utilizza semplici tecniche OSINT per assegnare indirizzi IP con nomi di host virtuali, permette di generare un file CSV o TXT che contiene tutte le informazioni raccolte. Vuoi sapere di cosa è capace questo strumento?

estrarre il nome host o i domini dagli indirizzi IP pubblici

Caratteristiche principali di HostHunter

HostHunter è uno strumento basato su python3 progettato specificamente per scoprire i domini o i nomi host che appartengono a uno o più indirizzi IP pubblici. Possiamo passare a questo strumento un file TXT con tutti gli indirizzi IP che vogliamo indagare, lo strumento indicherà automaticamente tutti i domini trovati in un determinato indirizzo IP pubblico, inoltre, potrebbe anche indicare se c'è qualche web app in esecuzione in quell'indirizzo IP in concreto. Questo riconoscimento avviene tramite semplici tecniche OSINT, quindi non effettua realmente alcun tipo di attacco attivo.

Un'altra caratteristica molto importante di HostHunter, è che ci permetterà di esportare in un file di testo TXT o in un file Excel di tipo CSV tutte le informazioni che sono state raccolte dai diversi obiettivi o "target", grazie a ciò, poter salvare queste informazioni per il loro successivo trattamento e indagine, senza la necessità di eseguire nuovamente lo strumento ogni volta che si desidera ottenere tali informazioni.

Un dettaglio molto importante di questo piccolo programma è che ci permetterà di inserire tutti gli indirizzi IP di destinazione che vogliamo nel file di testo, non è necessario andare uno per uno per farlo, direttamente in un file di testo che scriveremo gli indirizzi IP in ogni riga che vogliamo indagare. Altre caratteristiche di questo programma è che ci consente di estrarre informazioni dai certificati SSL / TLS che i diversi siti Web hanno associato a un indirizzo IP corrispondente, è anche in grado di acquisire schermate, convalidare gli indirizzi IPv4 aggiunti e persino ottenere informazioni dal Intestazioni HTTP. Infine, è anche in grado di ottenere i valori del nome host dei servizi FTP, SMTP, HTTP e HTTPS con le loro porte predefinite.

Installazione e messa in

Questo programma è in realtà uno script Python3 che esegue automaticamente tutti i processi, tuttavia è necessario installare sia python3 nel nostro sistema operativo, sia alcuni requisiti aggiuntivi che possiamo scaricare direttamente dal progetto ufficiale HostHunter su GitHub . Abbiamo utilizzato un sistema operativo Debian 11, aggiornato all'ultima versione, per effettuare dei test con questo programma.

La prima cosa che dobbiamo fare è avere python3 e python-pip installati e tutte le loro dipendenze necessarie nel nostro sistema operativo:

sudo apt install python3 python3-pip

Di seguito, puoi vedere una cattura di tutte le dipendenze necessarie per un sistema operativo Debian, se installiamo "python-pip" installerà solo la versione pip2, se mettiamo "python3-pip" per installarlo, installerà la versione 3:

Una volta che abbiamo indicato “Y”, tutti i pacchetti necessari al funzionamento di questo interessante strumento vengono scaricati e installati automaticamente.

Ora dobbiamo clonare il repository GitHub di HostHunter, per questo dobbiamo avere "git" installato sul nostro sistema operativo, con tutte le sue dipendenze corrispondenti:

sudo apt install git

Una volta installato, andiamo in una directory dove possiamo scaricare questo programma, ad esempio, in /home/user/, e dovremo eseguire il seguente comando, per clonare il repository GitHub:

git clone https://github.com/SpiderLabs/HostHunter/

Una volta clonato l'intero repository, dobbiamo inserirlo inserendo il comando:

cd HostHunter

Ora installeremo tutti i pacchetti necessari per poter utilizzare correttamente HostHunter, per questo dobbiamo installare alcuni pacchetti aggiuntivi con apt e con pip3. Dobbiamo assicurarci di avere la versione python3-pip (pip3), altrimenti ci darà un errore.

Installiamo il programma Curl per usarlo in seguito.

sudo apt install curl

Scarichiamo e installiamo Ruggine essere in grado di utilizzare i pacchetti necessari nel programma.

curl https://sh.rustup.rs -sSf | sh pip3 install rust pip3 install cryptography

Ora scarichiamo e installiamo tutti i requisiti necessari per funzionare correttamente.

pip3 install -r requirements.txt

Installando tutti questi pacchetti sopra, ora dovresti essere in grado di eseguire correttamente lo strumento HostHunter, ma prima di poterlo fare completamente, devi installare qualcos'altro per ottenere la funzione di screenshot. Per avere questa funzionalità dobbiamo scaricare l'ultima versione di Google Chrome e installarlo.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

dpkg -i ./google-chrome-stable_current_amd64.deb

E scarica l'ultima versione di ChromeDriver per il nostro sistema operativo:

wget -O /tmp/chromedriver.zip https://chromedriver.storage.googleapis.com/74.0.3729.6/chromedriver_linux64.zip && sudo unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/;

Funzionamento

Una volta installato tutto, possiamo riavviare per assicurarci che tutto sia installato correttamente e non restituisca alcun tipo di errore. La sintassi che dobbiamo usare per eseguire questo programma è molto semplice, dobbiamo semplicemente fare quanto segue:

python3 hosthunter.py targets.txt -h

Nel file di testo target.txt dovremmo avere l'elenco di tutti gli indirizzi IP che vogliamo controllare. Abbiamo inserito un indirizzo IP pubblico che appartiene ai nostri siti Web, quindi dovremmo vedere un dominio, abbiamo anche inserito un indirizzo IP di Google, per mostrarci il nome host o se esiste un'applicazione Web che utilizza questo IP pubblico aggiunto.

Se durante l'esecuzione del comando precedente, otteniamo questo errore nel modulo fake_useragent:

python3 hosthunter.py targets.txt -h
Traceback (most recent call last):
File "hosthunter.py", line 48, in <module>
ua = UserAgent(use_cache_server=False)
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/fake.py", line 69, in __init__
self.load()
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/fake.py", line 78, in load
verify_ssl=self.verify_ssl,
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 250, in load_cached
update(path, use_cache_server=use_cache_server, verify_ssl=verify_ssl)
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 245, in update
write(path, load(use_cache_server=use_cache_server, verify_ssl=verify_ssl))
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 178, in load
raise exc
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 154, in load
for item in get_browsers(verify_ssl=verify_ssl):
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 99, in get_browsers
html = html.split('<table class="w3-table-all notranslate">')[1] IndexError: list index out of range

Nella schermata seguente puoi vederlo:

Dobbiamo modificare il file /usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py con nano o Vim, andare alla riga 99 e cambiare "w3" in "ws" proprio qui:

Una volta fatto, salviamo le modifiche e possiamo eseguire nuovamente il comando HostHunter e funzionerà perfettamente.

python3 hosthunter.py targets.txt -h

Se vogliamo esportare le informazioni in un file di testo o CSV, dobbiamo inserire rispettivamente i seguenti comandi:

python3 hosthunter.py targets.txt -f txt -o hosts.txt python3 hosthunter.py targets.txt -f csv -o hosts.csv

Nell'immagine seguente puoi vedere parte delle informazioni che è in grado di ottenere per ogni indirizzo IP che gli abbiamo passato:

Ti consigliamo di accedere a progetto ufficiale HostHunter su GitHub dove troverai tutti i dettagli su questo interessante strumento.