Httprobe: Reconocimiento de Dominios en Kali
Httprobe es una de esas herramientas esenciales si te dedicas al reconocimiento (recon) en ciberseguridad. Su función es simple pero vital: toma una lista de dominios y comprueba cuáles de ellos están realmente "vivos" respondiendo a peticiones HTTP o HTTPS.
Aquí tienes una guía rápida para dominarla en Kali Linux.
¿Para qué sirve realmente?
Cuando haces un escaneo de subdominios, obtienes una lista enorme (por ejemplo, de subfinder o assetfinder). Muchos de esos subdominios pueden estar inactivos o no tener un servidor web configurado.
Httprobe limpia esa lista para que no pierdas tiempo intentando atacar sitios que no existen.
Características clave:
Comprueba puertos 80 (HTTP) y 443 (HTTPS) por defecto.
Permite añadir puertos personalizados.
Es extremadamente rápida porque está escrita en Go.
Instalación en Kali Linux
Si no la tienes instalada, la forma más rápida es mediante el gestor de paquetes de Go:
Instalar Go (si no lo tienes):
sudo apt update && sudo apt install golang -yInstalar httprobe:
go install github.com/tomnomnom/httprobe@latestMover al binario (opcional): Para usarlo desde cualquier carpeta, asegúrate de que
$GOPATH/binesté en tu ruta o muévelo a/usr/local/bin.
Cómo usarlo (Ejemplos prácticos)
Httprobe funciona mediante tuberías (pipes). No le pasas el archivo como argumento directo, sino que "le envías" la lista.
1. Uso básico
Si tienes un archivo llamado subdominios.txt:
cat subdominios.txt | httprobe
Esto te devolverá solo los dominios que respondieron, con su respectivo http:// o https://.
2. Guardar los resultados
Lo más común es guardar la salida en un nuevo archivo para usarlo con otras herramientas (como nuclei o eyewitness):
cat subdominios.txt | httprobe > dominios_vivos.txt
3. Comprobar puertos específicos
Si sospechas que hay servicios en puertos no estándar (como el 8080 o 8443):
cat subdominios.txt | httprobe -p http:8080 -p https:8443
Flujo de trabajo típico (One-liner)
Los profesionales suelen encadenar herramientas. Aquí tienes un ejemplo de cómo descubrir subdominios y filtrarlos en un solo paso:
assetfinder --subs-only ejemplo.com | httprobe | tee vivos.txt
Nota: El comando
teemuestra los resultados en pantalla y los guarda en el archivo al mismo tiempo.
Consejos de "Pro":
Velocidad: Puedes ajustar el tiempo de espera con el flag
-t(timeout en milisegundos). El valor por defecto es 10000ms.Preferencia: Por defecto, si un sitio tiene HTTP y HTTPS, te mostrará ambos. Si solo te interesa uno, tendrás que filtrar la salida después.
Automatizar este proceso te ahorrará muchísimo tiempo y te permitirá enfocarte en lo importante: encontrar vulnerabilidades.
Aquí tienes un script en Bash sencillo pero potente. Este script combina el descubrimiento de subdominios, el filtrado con httprobe y organiza todo en una carpeta con la fecha actual.
El Script: recon_basico.sh
Crea un archivo nuevo con nano recon_basico.sh y pega el siguiente código:
#!/bin/bash
# Comprobar si se pasó un dominio como argumento
if [ -z "$1" ]; then
echo "Uso: ./recon_basico.sh ejemplo.com"
exit 1
fi
DOMINIO=$1
FECHA=$(date +%Y-%m-%d)
CARPETA="recon_$DOMINIO"
# Crear carpeta de trabajo
mkdir -p $CARPETA
echo "[+] Iniciando reconocimiento para: $DOMINIO"
# 1. Descubrimiento de subdominios (Usando assetfinder)
echo "[+] Buscando subdominios con assetfinder..."
assetfinder --subs-only $DOMINIO > $CARPETA/subdominios_raw.txt
# 2. Filtrado con httprobe
echo "[+] Filtrando dominios vivos con httprobe..."
cat $CARPETA/subdominios_raw.txt | httprobe | tee $CARPETA/dominios_vivos.txt
# 3. Resumen
TOTAL_RAW=$(wc -l < $CARPETA/subdominios_raw.txt)
TOTAL_VIVOS=$(wc -l < $CARPETA/dominios_vivos.txt)
echo "---------------------------------------"
echo "[-] Escaneo finalizado."
echo "[-] Subdominios encontrados: $TOTAL_RAW"
echo "[-] Subdominios activos (vivos): $TOTAL_VIVOS"
echo "[-] Resultados guardados en: $CARPETA/dominios_vivos.txt"
Cómo configurarlo y ejecutarlo
Dale permisos de ejecución:
Bashchmod +x recon_basico.shEjecútalo pasando un dominio:
Bash./recon_basico.sh google.com
¿Qué hace este script exactamente?
Organización: Crea una carpeta específica para cada dominio para que no mezcles resultados.
Limpieza: Primero extrae todos los nombres posibles y luego usa
httprobepara verificar cuáles tienen un servidor web activo.Tee: Uso el comando
teepara que puedas ver el progreso en tiempo real en la terminal mientras se guarda el archivo.
Requisitos previos
Para que el script funcione, asegúrate de tener instaladas estas dos herramientas en tu Kali:
Assetfinder:
go install github.com/tomnomnom/assetfinder@latestHttprobe: (Ya vimos cómo instalarlo arriba).