Enumeración de Registros DNS desde la Línea de Comandos con dnsrecon

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.