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 | 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