Dnsgen: Generación de Subdominios en Kali
Dnsgen: Generación de Subdominios en Kali
dnsgen es una herramienta muy potente incluida en Kali Linux (o instalable vía Python) que se utiliza para la generación de nombres de dominio.
Su función principal es tomar una lista de dominios existentes y, mediante el uso de permutaciones y alteraciones lógicas, generar una lista mucho más amplia de posibles subdominios para realizar ataques de fuerza bruta o descubrimiento.
¿Cómo funciona dnsgen?
En lugar de usar un ataque de "diccionario" tradicional donde pruebas palabras al azar, dnsgen aplica reglas basadas en patrones comunes de Internet. Por ejemplo:
Si tienes
dev.ejemplo.com, dnsgen probará condev-test.ejemplo.com,dev1.ejemplo.com, etc.Intercambia palabras clave (staging, prod, test, v1, v2).
Añade números y guiones de forma inteligente.
Instalación
Si no la tienes instalada en tu Kali, puedes hacerlo rápidamente con pip:
pip3 install dnsgen
Uso Básico y Comandos
La forma más común de usarlo es pasarle una lista de subdominios que ya hayas recolectado (con herramientas como subfinder o assetfinder) a través de un archivo o un "pipe".
1. Generar dominios a partir de un archivo
Si tienes un archivo llamado subdominios.txt:
cat subdominios.txt | dnsgen - > potenciales_subdominios.txt
2. Combinación con resolución de DNS
dnsgen solo genera los nombres, no verifica si existen. Para saber cuáles son reales, se suele combinar con massdns o httpx:
cat subdominios.txt | dnsgen - | httpx -title
Opciones útiles
-w(Wordlist): Puedes pasarle tu propio diccionario de palabras para que las combine con tus dominios.--length: Define la longitud mínima de las palabras a combinar.
¿Por qué es importante en Pentesting?
Muchos administradores de sistemas usan nombres predecibles para sus entornos de prueba o infraestructuras ocultas. Mientras que un escáner normal podría no encontrar api-shadow-test.empresa.com, dnsgen lo generará basándose en otros subdominios que sí encontraste, permitiéndote descubrir activos que otros pasarían por alto.