HostHunter: Reconocimiento de Dominios en Kali
HostHunter: Reconocimiento de Dominios en Kali
HostHunter es una herramienta de reconocimiento (OSINT) muy útil en Kali Linux. Su función principal es descubrir los nombres de dominio (hostnames) asociados a una lista de direcciones IP.
Funciona mediante la técnica de Passive Reconnaissance (reconocimiento pasivo), utilizando fuentes públicas como certificados SSL/TLS y registros de DNS para mapear la infraestructura de un objetivo sin interactuar directamente con él de forma agresiva.
¿Cómo instalar HostHunter en Kali Linux?
Aunque a veces viene en los repositorios, la mejor forma de asegurar la última versión es vía GitHub:
Clona el repositorio:
git clone https://github.com/SpiderLabs/HostHunter.gitEntra a la carpeta:
cd HostHunterInstala las dependencias:
pip3 install -r requirements.txt
Uso básico y comandos principales
Para ejecutar la herramienta, generalmente usarás el script hosthunter.py. Aquí tienes los comandos más comunes traducidos y explicados:
| Comando | Descripción |
-h | Muestra la ayuda y todos los parámetros disponibles. |
<archivo_ips> | El argumento principal es un archivo .txt que contenga una lista de IPs (una por línea). |
-f <formato> | Elige el formato de salida: csv (por defecto) o txt. |
-o <archivo> | Define el nombre del archivo donde se guardarán los resultados. |
Ejemplo práctico:
Si tienes un archivo llamado objetivos.txt, el comando sería:
python3 hosthunter.py objetivos.txt -f csv -o resultados.csv
¿Por qué es útil?
Cuando realizas un test de penetración, a menudo recibes un rango de direcciones IP. Sin embargo, los servidores suelen alojar múltiples sitios web (Virtual Hosts). HostHunter te ayuda a:
Identificar subdominios olvidados.
Encontrar superficies de ataque que no son obvias solo con la IP.
Extraer información de los certificados de seguridad de los sitios.
Consideraciones importantes
Python 3: Asegúrate de ejecutarlo siempre con Python 3, ya que las versiones antiguas pueden dar errores de sintaxis.
Actualización: SpiderLabs suele actualizar sus herramientas; si deja de funcionar, un
git pulldentro de la carpeta suele arreglarlo.
Para trabajar con un rango de direcciones IP en HostHunter, lo más importante es saber que la herramienta no acepta rangos en formato CIDR (como 192.168.1.0/24) directamente desde la línea de comandos. Necesita leer un archivo de texto.
Aquí tienes la forma más eficiente de hacerlo combinando HostHunter con otras herramientas nativas de Kali:
Paso 1: Generar la lista de IPs
Si tienes un rango (por ejemplo, 192.168.1.0/24), primero usamos nmap para generar la lista de IPs activas y guardarlas en un archivo:
nmap -n -sn 192.168.1.0/24 -oG - | awk '/Up$/{print $2}' > rango_ips.txt
Paso 2: Ejecutar HostHunter
Una vez que tienes tu archivo rango_ips.txt, ejecutas el comando específico para procesar ese rango y extraer los hostnames:
python3 hosthunter.py rango_ips.txt --format csv --output resultados_rango.csv
Análisis de los parámetros utilizados:
rango_ips.txt: El archivo que contiene una IP por línea.--format csv: Genera un archivo separado por comas, ideal para abrirlo en Excel o LibreOffice Calc y filtrar los resultados.--output resultados_rango.csv: El nombre del archivo donde se volcará toda la información recolectada.
¿Qué verás en el resultado?
HostHunter inspeccionará cada IP del rango buscando:
Nombres de dominio en los certificados SSL/TLS (Puerto 443).
Cabeceras HTTP que revelen el nombre del servidor.
Registros PTR (DNS inverso).
Un truco útil
Si quieres ver los resultados en la pantalla al mismo tiempo que se guardan, puedes usar el comando cat sobre el archivo de salida una vez termine, o simplemente omitir el parámetro -o para verlo solo en la terminal:
python3 hosthunter.py rango_ips.txt
Interpretar el archivo .csv que genera HostHunter es bastante sencillo, pero entender qué significa cada columna te ayudará a priorizar tus objetivos durante una auditoría.
Cuando abras el archivo (ya sea en Excel, LibreOffice Calc o con el comando cat en la terminal), verás una estructura similar a esta:
Columnas principales del reporte
| Columna | Significado | Importancia |
| IP Address | La dirección IP que proporcionaste como entrada. | Es tu punto de anclaje técnico. |
| Hostname | El nombre de dominio (ej. dev.empresa.com) encontrado. | Alta. Aquí es donde descubres subdominios ocultos o entornos de prueba. |
| Source | De dónde sacó HostHunter la información. | Indica la fiabilidad (ej. DNS, Certificados SSL). |
| Vhost | Indica si se detectó como un Virtual Host. | Ayuda a saber si hay varios sitios compartiendo una sola IP. |
Análisis de los hallazgos
Al revisar los resultados, busca estos patrones comunes que suelen ser "minas de oro" en ciberseguridad:
Entornos de Desarrollo o Stage:
Si ves hostnames como
test.ejemplo.com,dev.ejemplo.comoapi-staging.ejemplo.com, suelen tener medidas de seguridad más relajadas que el sitio principal.Nombres de Servidores Antiguos:
A veces aparecen dominios que la empresa ya no usa pero que siguen apuntando a la misma IP. Estos servidores suelen estar desactualizados.
Certificados SSL con múltiples nombres (SAN):
HostHunter extrae nombres de los certificados. Si una IP muestra un hostname que no esperabas, podría ser un servicio de terceros o un sistema compartido que amplía tu superficie de ataque.
Ejemplo de flujo de trabajo tras el CSV
Una vez que tengas los nombres de dominio, el siguiente paso lógico no es solo mirar la IP, sino atacar el Hostname directamente:
Verificación manual: Visita el dominio en el navegador (ej.
https://dev.objetivo.com).Escaneo específico: Usa herramientas como
nmaponucleiapuntando al nombre de dominio en lugar de a la IP, ya que muchos servidores bloquean el acceso si no se especifica el nombre correcto en la cabecera HTTP.