Antes de que un atacante explote una vulnerabilidad, necesita entender la infraestructura del objetivo. Una de las fuentes de información más valiosas (y a menudo subestimadas) es el Domain Name System (DNS).
Los DNS no solo traduce dominios a direcciones IP. Bien analizado, puede revelar:
- Subdominios ocultos
- Servidores de correo
- Rangos de red
- Configuraciones de seguridad
- Errores de administración críticos
En este laboratorio exploraremos dnsrecon, una herramienta avanzada de DNS reconnaissance que permite realizar enumeración profunda desde la línea de comandos, sin depender de plataformas externas.
¿Qué es dnsrecon?
dnsrecon es una herramienta avanzada de enumeración DNS creada originalmente por Carlos Perez (Darkoperator). Lo que comenzó como un proyecto educativo en Ruby en 2007 evolucionó hasta convertirse en una plataforma completa escrita en Python, ampliamente utilizada por pentesters y analistas de seguridad.
A diferencia de herramientas básicas como dig o nslookup, dnsrecon centraliza múltiples técnicas en un solo binario:
- Enumeración de registros DNS (A, AAAA, MX, NS, TXT, SOA, SRV, SPF)
- Intentos de zone transfer (AXFR)
- Fuerza bruta de subdominios con wordlists
- Reverse DNS sobre rangos IP
- DNSSEC zone walking
- Cache snooping
En Kali Linux, dnsrecon viene preinstalado por defecto.
Instalación de dnsrecon
En Kali Linux
No requiere instalación adicional.
En otras distribuciones Linux
git clone https://github.com/darkoperator/dnsrecon
cd dnsrecon
pip3 install -r requirements.txt --no-warn-script-location
Requiere Python 3 y librerías como dnspython, lxml y netaddr.
Estructura básica del comando
dnsrecon -d <dominio> [opciones]
Para ver todas las opciones disponibles:
dnsrecon -h
Enumeración DNS estándar
Usaremos vulnweb.com, un dominio intencionadamente vulnerable, ideal para prácticas de laboratorio.
dnsrecon -d vulnweb.com
Este comando ejecuta el modo std, que enumera los registros DNS más comunes.
Wildcard DNS: la máquina de ruido
[!] Wildcard resolution is enabled
El wildcard DNS hace que cualquier subdominio inexistente resuelva a la misma IP, lo que genera miles de falsos positivos.
Impacto real en pentesting:
- Las enumeraciones por fuerza bruta pierden valor
- Herramientas automáticas devuelven resultados engañosos
- Se requiere validación por capa de aplicación (HTTP, contenido, hashes)
👉 Conclusión: cuando hay wildcard DNS, debes cambiar de estrategia.
DNSSEC ausente: señal amarilla
[-] DNSSEC is not configured
No suele ser explotable directamente, pero:
- Facilita ataques de spoofing en ciertos contextos
- Indica mala higiene de seguridad
- Puede correlacionar con otros errores
Recursión abierta en servidores autoritativos
[-] Recursion enabled on NS Server
Este es un hallazgo serio.
Riesgos:
- Amplificación en ataques DDoS
- Filtrado de comportamiento de resolución
- Superficie adicional de ataque
En auditorías reales, esto se reporta como misconfiguración crítica.
Divulgación de versión de BIND
Bind Version: 9.18.30-Ubuntu
Permite:
- Búsqueda de CVEs específicos
- Fingerprinting del stack
- Mejora del modelado de amenazas
Registros TXT: seguridad de correo mal configurada
SPF
v=spf1 -all
El dominio no envía correos legítimos.
DMARC y DKIM incorrectos
Uso incorrecto de sintaxis SPF → mala disciplina de administración DNS.
Registro A: el objetivo principal
A vulnweb.com 44.228.249.3
Con wildcard DNS activo, todos los subdominios apuntan aquí, obligando a validar por comportamiento web.
Resumen mental del pentester
Alta señal
- Wildcard DNS
- Recursión abierta en NS
Media señal
- Versión de BIND expuesta
- DMARC/DKIM mal configurados
Baja señal
- DNSSEC ausente
- SPF restrictivo
Enumeración dirigida por tipo de registro
dnsrecon -d vulnweb.com -t std
Intentos de transferencia de zona (AXFR)
dnsrecon -d vulnweb.com -t axfr
Una AXFR exitosa expone todo el archivo de zona. Hoy es raro, pero sigue apareciendo en auditorías reales.
Fuerza bruta de subdominios
dnsrecon -d vulnweb.com -t brt
Resultados:
- 1900+ subdominios
- Múltiples IPs detectadas
- Wildcard DNS confirmado
Filtrar wildcard DNS
dnsrecon -d vulnweb.com -t brt -f
Reverse DNS sobre rangos IP
dnsrecon -r 199.167.66.108/24
Esto revela infraestructura compartida, proveedores DNS y relaciones entre organizaciones.
Expansión automática desde SPF
dnsrecon -d vulnweb.com -s
Busca rangos IP dentro de registros TXT/SPF y ejecuta reverse lookups automáticamente.
DNSSEC Zone Walking
dnsrecon -d vulnweb.com -t zonewalk
Exploita implementaciones DNSSEC basadas en NSEC (no NSEC3).
Combinando técnicas avanzadas
dnsrecon -d vulnweb.com -a -s -b -k -w -z --threads 10
Incluye:
- AXFR
- Reverse DNS
- Bing enum
- crt.sh
- Whois
- Zone walking
Guardar resultados para reporting
dnsrecon -d vulnweb.com -x results.xml
dnsrecon -d vulnweb.com -j results.json
dnsrecon -d vulnweb.com -c results.csv
dnsrecon -d vulnweb.com --db results.sqlite
Ideal para informes profesionales.
Optimización de rendimiento
dnsrecon -d vulnweb.com -t brt --threads 20 --lifetime 5
⚠️ Ajustar con cuidado para evitar bloqueos o alertas defensivas.
Integración en auditorías reales
dnsrecon es ideal para:
- Reconocimiento inicial
- Descubrimiento de activos
- Identificación de errores DNS
- Mapeo de infraestructura
- Documentación técnica
Conclusión
La enumeración DNS sigue siendo una de las fases más valiosas del pentesting. Herramientas como dnsrecon permiten ir mucho más allá de simples consultas, revelando patrones, errores y relaciones invisibles a simple vista.
Dominar dnsrecon no consiste solo en ejecutar comandos, sino en interpretar resultados, filtrar ruido y entender qué hallazgos realmente importan.
👉 Quien entiende DNS, entiende la superficie real de ataque.
