Comment extraire le nom d'hôte ou les domaines des adresses IP publiques

Chasseur d'hôtes est un outil entièrement gratuit pour découvrir et extraire efficacement des noms d'hôtes, ou des noms d'hôtes, qui fournissent un large éventail d'adresses IP publiques. Cet outil utilise des techniques OSINT simples pour attribuer des adresses IP avec des noms d'hôtes virtuels, il permet de générer un fichier CSV ou TXT qui contient toutes les informations collectées. Vous voulez savoir de quoi est capable cet outil ?

extraire le nom d'hôte ou les domaines des adresses IP publiques

Fonctionnalités principales de HostHunter

HostHunter est un outil basé sur python3 spécialement conçu pour découvrir les domaines ou les noms d'hôtes qui appartiennent à une ou plusieurs adresses IP publiques. Nous pouvons transmettre à cet outil un fichier TXT avec toutes les adresses IP que nous voulons étudier, l'outil indiquera automatiquement tous les domaines trouvés dans une certaine adresse IP publique, en outre, il pourrait également indiquer s'il existe une application Web en cours d'exécution dans cette adresse IP dans le béton. Cette reconnaissance se fait grâce à des techniques OSINT simples, de sorte qu'il n'effectue pas vraiment de type d'attaque active.

Une autre caractéristique très importante de HostHunter, c'est qu'il nous permettra d'exporter vers un fichier texte TXT ou vers un fichier Excel de type CSV toutes les informations qui ont été collectées à partir des différents objectifs ou « cibles », grâce à cela, nous allons être en mesure de sauvegarder ces informations pour leur traitement et examen ultérieurs, sans avoir à réexécuter l'outil chaque fois que nous souhaitons obtenir ces informations.

Un détail très important de ce petit programme c'est qu'il va nous permettre de mettre autant d'adresses IP cibles que l'on veut dans le fichier texte, il n'est pas nécessaire d'y aller une par une pour le faire, directement dans un fichier texte on va écrire les adresses IP dans chaque ligne que nous voulons étudier. Les autres caractéristiques de ce programme sont qu'il nous permet d'extraire des informations des certificats SSL / TLS que les différents sites Web ont associés à une adresse IP correspondante, il est également capable de prendre des captures d'écran, de valider les adresses IPv4 ajoutées et même d'obtenir des informations du En-têtes HTTP. Enfin, il est également capable d'obtenir les valeurs des noms d'hôtes des services FTP, SMTP, HTTP et HTTPS avec leurs ports par défaut.

Installation et mise en service

Ce programme est vraiment un script Python3 qui exécute tous les processus automatiquement, cependant, il est nécessaire d'installer à la fois python3 dans notre système d'exploitation, ainsi que quelques exigences supplémentaires que nous pouvons télécharger directement à partir du projet officiel HostHunter sur GitHub . Nous avons utilisé un système d'exploitation Debian 11, mis à jour vers la dernière version, pour effectuer des tests avec ce programme.

La première chose que nous devons faire est d'installer python3 et python-pip et toutes leurs dépendances nécessaires dans notre système d'exploitation :

sudo apt install python3 python3-pip

Ci-dessous, vous pouvez voir une capture de toutes les dépendances nécessaires pour un système d'exploitation Debian, si nous installons "python-pip" il n'installera que la version pip2, si nous mettons "python3-pip" pour l'installer, il installera la version 3:

Une fois que nous avons indiqué "Y", tous les packages nécessaires au fonctionnement de cet outil intéressant sont automatiquement téléchargés et installés.

Maintenant, nous devons cloner le référentiel HostHunter GitHub, pour cela, nous devons avoir « git » installé sur notre système d'exploitation, avec toutes ses dépendances correspondantes :

sudo apt install git

Une fois installé, nous allons dans un répertoire où nous pouvons télécharger ce programme, par exemple, dans /home/user/, et nous devrons exécuter la commande suivante, pour cloner le référentiel GitHub :

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

Une fois l'intégralité du référentiel cloné, il faut le saisir en plaçant la commande :

cd HostHunter

Nous allons maintenant installer tous les packages nécessaires pour pouvoir utiliser correctement HostHunter, pour cela, nous devons installer certains packages supplémentaires avec apt et avec pip3. Nous devons nous assurer que nous avons la version python3-pip (pip3), sinon cela nous donnera une erreur.

Nous installons le programme Curl pour l'utiliser plus tard.

sudo apt install curl

Nous téléchargeons et installons Calme pour pouvoir utiliser les packages nécessaires dans le programme.

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

Maintenant, nous téléchargeons et installons toutes les conditions nécessaires pour fonctionner correctement.

pip3 install -r requirements.txt

En installant tous ces packages ci-dessus, vous devriez maintenant pouvoir exécuter avec succès l'outil HostHunter, mais avant de pouvoir le faire complètement, vous devez installer autre chose pour obtenir la fonction de capture d'écran. Pour avoir cette fonctionnalité, nous devons télécharger la dernière version de Google Chrome et l'installer.

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

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

Et téléchargez la dernière version de ChromeDriver pour notre système d'exploitation :

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/;

Fonctionnement

Une fois que nous avons tout installé, nous pouvons redémarrer pour nous assurer que tout est correctement installé et ne renvoie aucun type d'erreur. La syntaxe que nous devons utiliser pour exécuter ce programme est très simple, nous devons simplement faire ce qui suit :

python3 hosthunter.py targets.txt -h

Dans le fichier texte target.txt, nous devrions avoir la liste de toutes les adresses IP que nous voulons vérifier. Nous avons mis une adresse IP publique qui appartient à nos sites Web, par conséquent, nous devrions voir un domaine, nous avons également mis une adresse IP Google, pour nous montrer le nom d'hôte ou s'il existe une application Web qui utilise cette IP publique ajoutée.

Si lors de l'exécution de la commande précédente, nous obtenons cette erreur dans le module 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

Dans la capture d'écran suivante, vous pouvez le voir :

Nous devons éditer le fichier /usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py avec nano ou Vim, aller à la ligne 99 et changer le "w3" en "ws" ici :

Une fois cela fait, nous enregistrons les modifications et nous pouvons exécuter à nouveau la commande HostHunter et cela fonctionnera parfaitement.

python3 hosthunter.py targets.txt -h

Si nous voulons exporter les informations vers un fichier texte ou CSV, nous devons mettre respectivement les commandes suivantes :

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

Dans l'image suivante, vous pouvez voir une partie des informations qu'il est capable d'obtenir pour chaque adresse IP que nous lui avons transmise :

Nous vous recommandons d'accéder au projet officiel HostHunter sur GitHub où vous trouverez tous les détails sur cet outil intéressant.