Cómo extraer el nombre de host o los dominios de direcciones IP públicas

HostHunter es una herramienta completamente gratuita para descubrir y extraer de manera eficiente nombres de host, o nombres de host, que proporcionan un gran conjunto de direcciones IP públicas. Esta herramienta utiliza técnicas sencillas de OSINT para asignar direcciones IP con nombres de host virtuales, permite generar un archivo CSV o TXT que contiene toda la información recopilada. ¿Quieres saber de qué es capaz esta herramienta?

Características principales de HostHunter

HostHunter es una herramienta basada en python3 que está diseñada específicamente para descubrir los dominios o nombres de host que pertenecen a una o más direcciones IP públicas. Podemos pasar a esta herramienta un archivo TXT con todas las direcciones IP que queremos investigar, la herramienta nos indicará automáticamente todos los dominios encontrados en una determinada dirección IP pública, además, también podría indicar si hay alguna aplicación web ejecutándose en esa dirección IP en concreto. Este reconocimiento se realiza mediante técnicas sencillas de OSINT, por lo que realmente no realiza ningún tipo de ataque activo.

Otras características muy importantes de HostHunter, es que nos permitirá exportar a un archivo de texto TXT oa un Excel archivo de tipo CSV toda la información que se ha recabado de los diferentes objetivos o “metas”, gracias a esto, podremos guardar esta información para su posterior tratamiento e investigación, sin necesidad de volver a ejecutar la herramienta cuando queramos para obtener esa información.

Un detalle muy importante de este pequeño programa es que nos permitirá poner tantas direcciones IP de destino como queramos en el archivo de texto, no es necesario ir una a una para hacerlo, directamente en un archivo de texto escribiremos las direcciones IP en cada línea que queremos investigar. Otras características de este programa es que nos permite extraer información de los certificados SSL / TLS que los diferentes sitios web tienen asociados a una correspondiente dirección IP, además es capaz de realizar capturas de pantalla, validar las direcciones IPv4 agregadas e incluso obtener información de la Encabezados HTTP. Por último, también puede obtener los valores de nombre de host de los servicios FTP, SMTP, HTTP y HTTPS con sus puertos predeterminados.

Instalación y puesta en marcha

Este programa es realmente un script Python3 que realiza todos los procesos de forma automática, sin embargo, es necesario instalar tanto python3 en nuestro sistema operativo, como también algunos requisitos adicionales que podemos descargar directamente desde el proyecto oficial de HostHunter en GitHub . Hemos utilizado un sistema operativo Debian 11, actualizado a la última versión, para realizar pruebas con este programa.

Lo primero que tenemos que hacer es tener python3 y python-pip instalados y todas sus dependencias necesarias en nuestro sistema operativo:

sudo apt install python3 python3-pip

A continuación, puedes ver una captura de todas las dependencias necesarias para un sistema operativo Debian, si instalamos “python-pip” solo instalará la versión pip2, si ponemos “python3-pip” para instalarlo, instalará la versión 3:

Una vez que hayamos indicado “Y” se descargan e instalan automáticamente todos los paquetes necesarios para el funcionamiento de esta interesante herramienta.

Ahora tenemos que clonar el repositorio de HostHunter GitHub, para ello debemos tener “git” instalado en nuestro sistema operativo, con todas sus dependencias correspondientes:

sudo apt install git

Una vez instalado, nos dirigimos a un directorio donde podemos descargar este programa, para example, en / home / user /, y tendremos que ejecutar el siguiente comando, para clonar el repositorio de GitHub:

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

Una vez clonado todo el repositorio, debemos ingresar a él colocando el comando:

cd HostHunter

Ahora vamos a instalar todos los paquetes necesarios para poder usar HostHunter correctamente, para ello debemos instalar ciertos paquetes adicionales con apt y con pip3. Debemos asegurarnos de que tenemos la versión python3-pip (pip3), de lo contrario nos dará un error.

Instalamos el programa Curl para usarlo posteriormente.

sudo apt install curl

Descargamos e instalamos Rust para poder utilizar los paquetes necesarios en el programa.

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

Ahora descargamos e instalamos todos los requisitos necesarios para que funcione correctamente.

pip3 install -r requirements.txt

Al instalar todos estos paquetes anteriores, ahora debería poder ejecutar correctamente la herramienta HostHunter, pero antes de poder hacerlo por completo, debe instalar algo más para obtener la función de captura de pantalla. Para tener esta funcionalidad necesitamos descargar la última versión de Google Chrome e instalarlo.

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

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

Y descarga la última versión de ChromeDriver para nuestro 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/;

Marcha

Una vez que tenemos todo instalado, podemos reiniciar para asegurarnos de que todo está correctamente instalado y no devuelve ningún tipo de error. La sintaxis que debemos utilizar para ejecutar este programa es muy sencilla, simplemente tenemos que hacer lo siguiente:

python3 hosthunter.py targets.txt -h

En el archivo de texto target.txt deberíamos tener la lista de todas las direcciones IP que queremos comprobar. Hemos puesto una dirección IP pública que pertenece a nuestros sitios web, por lo tanto, deberíamos ver un dominio, también hemos puesto una dirección IP de Google, para mostrarnos el nombre de host o si hay una aplicación web que usa esta IP pública agregada.

Si al ejecutar el comando anterior obtenemos este error en el módulo 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

En la siguiente captura de pantalla puedes verlo:

Tenemos que editar el archivo /usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py con nano o Vim, ir a la línea 99 y cambiar “w3” a “ws” aquí mismo:

Una vez hecho esto, guardamos los cambios y podemos ejecutar el comando HostHunter nuevamente y funcionará perfectamente.

python3 hosthunter.py targets.txt -h

Si queremos exportar la información a un archivo de texto o CSV, debemos poner los siguientes comandos respectivamente:

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

En la siguiente imagen se puede ver parte de la información que es capaz de obtener por cada dirección IP que le hemos pasado:

Te recomendamos acceder al proyecto oficial de HostHunter en GitHub donde encontrarás todos los detalles sobre esta interesante herramienta.

Related Posts