GhostAcademy logo GhostAcademy

DNS and Vhosts

Metodologías Reconocimiento Puerto 53 / TCP-UDP dnsenum · dnsrecon · Metasploit

🌐 ¿Qué son los Virtual Hosts y por qué importan?

Un Virtual Host (Vhost) permite que un mismo servidor web sirva múltiples sitios bajo la misma IP. El servidor decide qué contenido mostrar en función del encabezado Host: de la petición HTTP.

En pentesting, descubrir vhosts ocultos es crítico: paneles de administración, entornos de desarrollo o APIs internas pueden estar expuestos bajo un subdominio que no aparece en DNS público pero sí responde en el servidor.

Combinación clave: DNS enumeration + Virtual Host fuzzing = mapa completo de la superficie de ataque. Un subdominio puede no resolver en DNS público pero funcionar si lo añades a /etc/hosts apuntando a la IP del servidor.

Diferencia entre subdominio DNS y Virtual Host

ConceptoDNSVirtual Host
ResoluciónPública — cualquiera puede consultarlaLocal — configurada en el servidor web
Descubrimientodnsenum, dnsrecon, digFuerza bruta de cabecera Host (gobuster, ffuf)
Requiere IP conocidaNoSí
Ejemplomail.ejemplo.com → 1.2.3.4Host: admin.ejemplo.com → web interna

🔧 Herramientas y comandos

1. Reconocimiento inicial

Identifica tu IP y verifica conectividad con el objetivo.

bash
ip a
bash — escaneo de puertos
nmap <IP>
bash — verificar nameserver
cat /etc/resolv.conf

2. Enumeración DNS con dnsenum

dnsenum automatiza registros DNS, intenta AXFR, realiza fuerza bruta de subdominios con /usr/share/dnsenum/dns.txt y hace búsquedas inversas PTR.

bash — enumeración completa
dnsenum <dominio>
bash — guardar en XML
dnsenum <dominio> -o out.xml
Registros obtenidos: A, AAAA, MX, NS, TXT, CAA, SRV, SOA, DNSKEY, NSEC3 y PTR.

3. Enumeración DNS con dnsrecon

dnsrecon complementa a dnsenum con detección de DNSSEC, fingerprinting de versión de BIND y múltiples formatos de salida.

bash — enumeración general
dnsrecon -d <dominio>
bash — con intento AXFR
dnsrecon -d <dominio> -a
bash — guardar en JSON
dnsrecon -d <dominio> -a -j ~/out.json
bash — AXFR en subdominio específico
dnsrecon -d <subdominio.dominio> -a

4. Metasploit — módulo enum_dns

Centraliza la enumeración y guarda los hallazgos en la base de datos de Metasploit.

msfconsole
use auxiliary/gather/enum_dns

setg NS <IP-nameserver>    # NS objetivo (global)
set DOMAIN <dominio>        # Dominio a enumerar
set ENUM_BRT true            # Fuerza bruta de subdominios
set ENUM_A true              # Registros A
set ENUM_MX true             # Registros MX
set ENUM_NS true             # Registros NS
set ENUM_SOA true            # Registro SOA
set ENUM_SRV true            # Registros SRV
set ENUM_TXT true            # Registros TXT
set ENUM_RVL true            # Reverse lookup
set ENUM_AXFR true           # Transferencia de zona

run

5. Descubrimiento de Virtual Hosts

Con la IP conocida, realiza fuerza bruta sobre la cabecera Host:.

bash — gobuster vhost
gobuster vhost -u http://<IP> -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-5000.txt --append-domain
bash — ffuf vhost
ffuf -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-5000.txt \
     -u http://<IP> \
     -H "Host: FUZZ.<dominio>" \
     -fs <tamaño-respuesta-base>
bash — añadir vhost a /etc/hosts
echo "<IP>  <vhost.dominio>" >> /etc/hosts

🗼 Flujo del laboratorio

1
Identificar IP objetivoConfirmar conectividad y puertos abiertos con nmap.
2
Verificar nameserverRevisar /etc/resolv.conf.
3
Enumerar con dnsenumRegistros, subdominios, IPs, AXFR y PTR.
4
Profundizar con dnsreconValidar, detectar DNSSEC, versión BIND, SRV, TXT.
5
Ampliar con Metasploit enum_dnsFuerza bruta de subdominios y consolidación en BD.
6
Descubrir Virtual HostsFuerza bruta de cabecera Host con gobuster o ffuf.
7
Guardar resultadosExportar en XML/JSON para informe y explotación.

📊 Información obtenida y su utilidad

CategoríaDatosPara qué sirve
Registros DNSA, AAAA, MX, NS, TXT, SOA, CAA, SRV, DNSKEY, NSEC3Mapa completo de infraestructura
InfraestructuraIPs públicas, bloques de red, correo, VoIP, Kerberos, LDAPIdentificar servicios atacables
Seguridad DNSDNSSEC, versión de BIND, AXFR abiertaDetectar configuraciones vulnerables
SubdominiosPor fuerza bruta y transferencias de zonaAmpliar superficie de ataque
Virtual HostsSitios ocultos bajo la misma IPPaneles admin, APIs internas

🎯 ¿Qué buscar? — Indicadores de éxito