DNSRECON - Enumeracion DNS

DNSRECON - Enumeracion DNS

1. Introduccion

DNSRECON es una herramienta desarrollada por DarkRA para la enumeracion de registros DNS. Es ampliamente utilizada en fases de reconnaissance para descubrir subdominios, servidores de correo, servidores de nombres y otros registros DNS relevantes.

Esta guia cubre los diferentes modos de enumeracion, parametros y ejemplos practicos.


2. Instalacion

2.1. Arch Linux

sudo pacman -S dnsrecon

2.2. Kali/Parrot

sudo apt install dnsrecon

2.3. pip

pip install dnsrecon

3. Sintaxis Basica

3.1. Forma General

dnsrecon -d <dominio> [opciones]

3.2. Parametros Principales

Parametro Descripcion
-d Dominio objetivo
-t Tipo de enumeracion
-o Archivo de salida
-json Salida en formato JSON
-csv Salida en formato CSV

4. Modos de Enumeracion

4.1. Estandar (-t std)

El modo estandar enumera los registros mas comunes: SOA, NS, A, AAAA, MX, SRV.

dnsrecon -d example.com -t std
Tipo de Registro Descripcion
SOA Start of Authority
NS Name Servers
A Direccion IPv4
AAAA Direccion IPv6
MX Mail Exchange
SRV Service Records

4.2. Transferencia de Zona (-t axfr)

Intenta realizar una transferencia de zona DNS. Aunque rara vez funciona en servidores bien configurados, puede revelar toda la zona DNS.

dnsrecon -d example.com -t axfr

Requisito: El servidor DNS debe permitir transferencias desde nuestra IP.

Advertencia: Esta tecnica puede ser detectada como actividad maliciosa.


4.3. Enumeracion en Bing (-t bing)

Busca subdominios utilizando el indice de Bing.

dnsrecon -d example.com -t bing

4.4. Enumeracion de Certificados (-t crtenum)

Busca certificados SSL que revelan subdominios mediante Certificate Transparency Logs.

dnsrecon -d example.com -t crtenum

4.5. Enumeracion en Google (-t google)

Busca subdominios utilizando el indice de Google.

dnsrecon -d example.com -t google

4.6. Adivinacion de Rangos (-t radguess)

Adivina rangos de red basandose en el ASN del dominio.

dnsrecon -d example.com -t radguess

4.7. Enumeracion Inversa (-t reverse)

Realiza busqueda inversa de IPs en un rango.

dnsrecon -r 192.168.1.1-254 -t reverse

Parametros adicionales:

# Con servidor DNS especifico
dnsrecon -r 192.168.1.1-254 -n 8.8.8.8 -t reverse

# Solo PTR
dnsrecon -d example.com -t reverse

4.8. Sitemap (-t sitemap)

Obtiene el sitemap XML de Google para el dominio.

dnsrecon -d example.com -t sitemap

4.9. Enumeracion en Yandex (-t yandex)

Busca subdominios utilizando el indice de Yandex.

dnsrecon -d example.com -t yandex

4.10. Fuerza Bruta (-t brt)

Intenta descubrir subdominios mediante fuerza bruta usando una wordlist.

dnsrecon -d example.com -D /usr/share/wordlists/subdomains.txt -t brt
Parametro Descripcion
-D Archivo de wordlist
-t brt Modo brute force

4.11. Enumeracion Completa (-t all)

Ejecuta todos los modos de enumeracion.

dnsrecon -d example.com -t all

5. Filtros de Salida

5.1. Formatos de Salida

# Salida normal
dnsrecon -d example.com -o resultados.txt

# Salida JSON
dnsrecon -d example.com -json resultados.json

# Salida CSV
dnsrecon -d example.com -csv resultados.csv

# Salida XML
dnsrecon -d example.com -xml resultados.xml

5.2. Combinaciones

# JSON con todos los modos
dnsrecon -d example.com -t all -json all.json

# CSV con fuerza bruta
dnsrecon -d example.com -D wordlist.txt -t brt -csv brute.csv

6. Opciones Avanzadas

6.1. Servidor DNS Especifico

# Usar servidor DNS personalizado
dnsrecon -d example.com -n 8.8.8.8

# Servidor DNS local
dnsrecon -d example.com -n 192.168.1.1

6.2. Timeout

# Timeout personalizado
dnsrecon -d example.com --timeout 10

# Timeout de threads
dnsrecon -d example.com --threads 10

6.3. Filtrado de Resultados

# Solo registros de tipo A
dnsrecon -d example.com -t std | grep "A"

# Solo MX
dnsrecon -d example.com -t std | grep "MX"

7. Registros DNS

7.1. Tipos de Registros

Registro Tipo Descripcion
A IPv4 Direccion de host IPv4
AAAA IPv6 Direccion de host IPv6
CNAME Alias Nombre canonico
MX Mail Servidor de correo
NS Nameserver Servidor de nombres
PTR Pointer Resolucion inversa
SOA Authority Inicio de autoridad
SRV Service Servicio especifico
TXT Text Informacion textual
HINFO Info Informacion del host

7.2. Enumeracion de Registros Especificos

# Solo registros TXT
dnsrecon -d example.com --txt

# Solo registros NS
dnsrecon -d example.com --ns

# Solo registros MX
dnsrecon -d example.com --mx

8. Ejemplos Practicos

8.1. Enumeracion Basica

dnsrecon -d example.com -o resultados.txt

8.2. Enumeracion Completa

dnsrecon -d example.com -t all -json completo.json

8.3. Fuerza Bruta de Subdominios

dnsrecon -d example.com -D /usr/share/wordlists/subdomains.txt -t brt -o subdominios.txt

8.4. Transferencia de Zona

dnsrecon -d example.com -t axfr

8.5. Enumeracion Inversa

dnsrecon -r 192.168.1.1-254 -t reverse -o inversa.txt

8.6. Certificados SSL

dnsrecon -d example.com -t crtenum -o certs.json

9. Combinacion con Otras Herramientas

9.1. pipeline con subfinder

#dnsrecon + subfinder
dnsrecon -d example.com -t crtenum > dnsrecon_sub.txt
subfinder -d example.com -silent > subfinder_sub.txt
cat dnsrecon_sub.txt subfinder_sub.txt | anew subdominios.txt

9.2. pipeline con assetfinder

#dnsrecon + assetfinder
dnsrecon -d example.com -t crtenum > temp1.txt
assetfinder example.com > temp2.txt
cat temp1.txt temp2.txt | grep "example.com" > subdominios.txt

10. Feedback

10.1. Lo Que Esta Bien

  • Multiples modos de enumeracion
  • Soporte para transferencia de zona
  • Salida en multiples formatos
  • Integracion con wordlists

10.2. Lo Que Falta

  • Explicacion detallada de cada parametro
  • Ejemplos de interpretacion de resultados
  • Casos de uso especificos

10.3. Mejoras Recomendadas

  • Combinar siempre con subfinder y assetfinder
  • Usar -t crtenum para certificados
  • Usar -t all para enumeration completa