🌐 ¿Qué es DNS y por qué lo enumeramos?
El Domain Name System (DNS) es el "directorio telefónico" de Internet: traduce nombres de dominio legibles
(p. ej. example.com) en direcciones IP. Funciona principalmente sobre el puerto 53/UDP
(consultas habituales) y 53/TCP (transferencias de zona y respuestas largas).
Durante un pentest, la enumeración DNS permite descubrir la infraestructura oculta de un objetivo: subdominios internos, servidores de correo, hosts de prueba, paneles de administración y cualquier activo que no aparezca en la web pública.
Tipos de registros DNS relevantes en pentesting
| Registro | Significado | Utilidad ofensiva |
|---|---|---|
| A | IPv4 de un host | Descubrir IPs de subdominios |
| AAAA | IPv6 de un host | Identificar activos en IPv6 (a veces menos protegidos) |
| MX | Servidores de correo | Objetivos para phishing o ataques a mail servers |
| NS | Servidores de nombres autoritativos | Punto de entrada para intentar AXFR |
| TXT | Texto libre (SPF, DKIM, verificaciones) | Filtrar servicios en uso (Google, AWS, etc.) y configuraciones SPF débiles |
| SRV | Servicios con host y puerto | Descubrir servicios internos (SIP, XMPP, LDAP…) |
| SOA | Inicio de autoridad (admin, serial…) | Identificar el DNS primario y posibles correos del admin |
| CAA | CAs autorizadas a emitir certificados | Enumerar CAs y detectar configuraciones permisivas |
| PTR | Resolución inversa (IP → nombre) | Mapear IPs de una red a nombres de host internos |
| CNAME | Alias de un nombre a otro | Detectar subdomain takeover si el destino está huérfano |
⚠️ Transferencia de zona (AXFR): la joya de la corona
Una transferencia de zona es el mecanismo legítimo por el que un servidor DNS secundario replica todos los registros de un servidor primario. Cuando está mal configurada (sin restricción de IP), cualquiera puede solicitar una copia completa de la zona DNS.
Para probarla manualmente puedes usar dig:
dig axfr @<ns-server> <dominio>
Si el servidor devuelve registros en lugar de Transfer failed, está vulnerable.
🛠️ Herramientas y comandos
1. Identificación de red
Antes de comenzar, identifica las interfaces y la IP de tu máquina atacante.
ip a
2. Escaneo de puertos — confirmar servicio DNS activo
Verifica que el puerto 53/TCP (y/o UDP) está abierto en el objetivo. Nmap usará por defecto SYN scan si se ejecuta como root.
nmap <IP>
# Escaneo de versión + scripts NSE de DNS
nmap -sV -sC -p 53 <IP>
3. Verificar nameserver configurado localmente
Comprueba qué servidor DNS está usando tu sistema. Puede ser el propio objetivo.
cat /etc/resolv.conf
4. dnsenum — Enumeración completa automatizada
dnsenum es una herramienta todo-en-uno que realiza en un solo comando: consulta de todos los tipos de registro, intento de transferencia de zona, fuerza bruta de subdominios con diccionario y búsqueda inversa de rangos IP.
dnsenum <dominio>
dnsenum <dominio> -o out.xml
dnsenum --dnsserver <IP-NS> <dominio>
--threads 5
para acelerar la fuerza bruta sin sobrecargar el servidor.
5. dnsrecon — Enumeración flexible con múltiples técnicas
dnsrecon ofrece más control granular: puedes elegir qué tipos de enumeración ejecutar y en qué formato exportar los resultados.
dnsrecon -d <dominio>
dnsrecon -d <dominio> -a
dnsrecon -d <dominio> -a -j ~/out.json
dnsrecon -d <dominio> -D /usr/share/wordlists/dnsmap.txt -t brt
6. Metasploit — módulo enum_dns
El módulo auxiliary/gather/enum_dns de Metasploit permite repetir la enumeración desde un framework centralizado, con posibilidad de guardar resultados en la base de datos y encadenarlos con otros módulos.
use auxiliary/gather/enum_dns
set DOMAIN <dominio>
setg NS <IP-nameserver> # Define el NS objetivo globalmente
# Activa la fuerza bruta de subdominios
set ENUM_BRT true
run
show options
Puedes habilitar tipos de enumeración adicionales con set ENUM_RVL true
(búsqueda inversa) o set ENUM_TLD true (TLDs alternativos).
🗺️ Flujo completo del laboratorio
ip a para confirmar tu IP y verifica conectividad con ping o nmap.
/etc/resolv.conf para saber si ya apunta al objetivo.
🎯 ¿Qué buscar? — Indicadores de éxito
- Una respuesta positiva a la petición AXFR (aparecen todos los registros de la zona).
- Subdominios con nombres como
dev.,test.,admin.,internal.,staging.— suelen tener menos seguridad. - Registros MX que apuntan a servidores propios (útil para ataques de phishing internos).
- Registros TXT con claves SPF débiles (
+allpermite spoofing desde cualquier IP). - Registros CNAME que apuntan a servicios de terceros ya dados de baja (candidatos a subdomain takeover).
- Registros SRV que revelan servicios internos: LDAP, Kerberos, XMPP, SIP…
- IPs privadas (10.x.x.x, 172.16-31.x.x, 192.168.x.x) en registros A — arquitectura interna expuesta.
- El correo del administrador en el registro SOA (posible usuario de dominio o AD).
📋 Resumen conceptual
La enumeración DNS es una fase crítica del reconocimiento. Combinando dnsenum, dnsrecon y el módulo enum_dns de Metasploit conseguimos:
- Un inventario completo de hosts del dominio objetivo.
- Identificar servidores mal configurados (AXFR abierta).
- Descubrir activos ocultos que no aparecen en la web pública.
- Preparar el terreno para fases de explotación: saber a qué hosts atacar.
-sV -sC -A) sobre cada host descubierto para identificar
servicios y versiones vulnerables.