Script para enumeración DNS
El objetivo de esta guía es aprender a hacer una simple herramienta de reconocimiento de subdominios de DNS, para ello crearemos nuestro propio script.
El primer paso es tener una lista de posibles nombres de subdominio a comprobar. La lista nos la podemos generar nosotros mismos, o descargar alguna que ya esté hecha:
Usaremos el comando host para el script, este nos permite comprobar un nombre de (sub)dominio y nos dice si tiene una dirección IP, en caso de existir. Si no existe, nos devolverá un mensaje de error, evidentemente.

Así que si vamos combinando diferentes nombres de subdominio (los que creas que son habituales o probables), puedes descubrir subdominios de algún dominio que, a priori, no suelen estar anunciados en ningún sitio.
#!/bin/bash
#
# checkDNS.sh
# Comprueba los diferentes subdominios de un dominio concreto
# GM (Twitter: @310hkc41b)
if [ -z $1 ]; then
echo "Tienes que pasar un nombre de dominio".
echo ""
echo "Ejemplo: $(basename $0) dominio.com"
echo ""
exit 1
fi
subfile="subdomain-top.txt"
numsub=$(cat $subfile | wc -l)
echo "Comprobando "$numsub" subdominios para el dominio "$1
for subdo in $(cat $subfile);do
# Une posible subdominio con dominio y elimina caracteres especiales
dominio_completo=$(echo $subdo.$1 | tr -d '[:cntrl:]')
host $dominio_completo | grep "has address" | cut -d " " -f1,4
done
Gracias al usuario Blackhole por la aportación:
Última actualización