Manejar Registros DNS Comodín en Gobuster

Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a utilizar Gobuster de manera efectiva para la enumeración de subdominios DNS, con un enfoque particular en el manejo de registros DNS comodín (wildcard DNS records). Los registros DNS comodín a menudo pueden generar una gran cantidad de falsos positivos en los escaneos de subdominios, lo que dificulta la identificación de subdominios legítimos. Gobuster proporciona una bandera --wildcard que ayuda a filtrar estas respuestas, asegurando resultados más limpios y precisos. Identificará un dominio con un registro comodín, observará el impacto de un escaneo estándar y luego utilizará la bandera --wildcard para ver la diferencia.

Identificar un Dominio con un Registro DNS Comodín (Wildcard DNS Record)

En este paso, identificará un dominio que utiliza un registro DNS comodín. Un registro DNS comodín (*.example.com) significa que cualquier subdominio que no tenga un registro DNS específico se resolverá a una dirección IP predefinida. Esto puede causar problemas durante la enumeración de subdominios, ya que muchos subdominios inexistentes parecerán resolverse, lo que generará falsos positivos.

Utilizaremos dig para consultar un subdominio inexistente de nuestro dominio objetivo wildcard.labex.io para confirmar su comportamiento comodín.

Primero, veamos el contenido de nuestro archivo de dominio objetivo:

cat ~/project/target_domain.txt

Debería ver wildcard.labex.io como salida.

Ahora, consultemos un subdominio inexistente, por ejemplo, nonexistent.wildcard.labex.io, usando dig. Si se resuelve a una dirección IP, indica que hay un registro comodín activo.

dig nonexistent.wildcard.labex.io

Observe la ANSWER SECTION en la salida. Si ve una dirección IP para nonexistent.wildcard.labex.io, confirma la presencia de un registro DNS comodín.

; <<>> DiG 9.18.1-1ubuntu1.7-Ubuntu <<>> nonexistent.wildcard.labex.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;nonexistent.wildcard.labex.io. IN      A

;; ANSWER SECTION:
nonexistent.wildcard.labex.io. 300 IN   A       192.0.2.123  ## Example IP, will vary

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Mon Jan 01 12:00:00 UTC 2023
;; MSG SIZE  rcvd: 78

La presencia de una ANSWER SECTION para un subdominio claramente inexistente confirma que wildcard.labex.io tiene un registro DNS comodín.

Ejecutar un Escaneo DNS Estándar y Observar Falsos Positivos

En este paso, realizará un escaneo de enumeración de subdominios DNS estándar en wildcard.labex.io utilizando Gobuster sin ningún filtro de comodín. Esto demostrará cómo los registros DNS comodín pueden generar numerosos falsos positivos, lo que dificulta distinguir entre subdominios legítimos y aquellos resueltos por el comodín.

Utilizaremos el comando gobuster dns con la bandera -d para el dominio y la bandera -w para nuestra lista de palabras (wordlist).

gobuster dns -d wildcard.labex.io -w ~/project/wordlist.txt

Observe la salida. Probablemente verá que casi todas las entradas de su lista de palabras se resuelven a una dirección IP, incluso si no es un subdominio "real". Esto se debe a que el registro DNS comodín captura todas estas consultas y las resuelve.

Gobuster v3.6
by OJ <oj@zerokopter.com>
[+] Url: wildcard.labex.io
[+] Threads: 10
[+] Wordlist: /home/labex/project/wordlist.txt
[+] Timeout: 10s
[+] User Agent: gobuster/3.6
2023/01/01 12:00:00 Starting gobuster
Found: test.wildcard.labex.io (192.0.2.123)
Found: dev.wildcard.labex.io (192.0.2.123)
Found: www.wildcard.labex.io (192.0.2.123)
Found: mail.wildcard.labex.io (192.0.2.123)
Found: blog.wildcard.labex.io (192.0.2.123)
Found: admin.wildcard.labex.io (192.0.2.123)
Found: api.wildcard.labex.io (192.0.2.123)
Found: cdn.wildcard.labex.io (192.0.2.123)
Found: ftp.wildcard.labex.io (192.0.2.123)
Found: vpn.wildcard.labex.io (192.0.2.123)
2023/01/01 12:00:05 Finished

Como puede ver, todas las entradas de la lista de palabras fueron "encontradas", lo cual es engañoso debido al registro DNS comodín. Esto resalta el problema de los falsos positivos en la enumeración de subdominios.

Volver a Ejecutar el Escaneo con la Bandera --wildcard

En este paso, volverá a ejecutar el escaneo Gobuster DNS, pero esta vez incluirá la bandera --wildcard. Esta bandera le indica a Gobuster que realice una verificación inicial de los registros DNS comodín y luego filtre cualquier resultado posterior que se resuelva a la misma dirección IP que el comodín. Esto reduce significativamente los falsos positivos y proporciona una salida mucho más limpia.

Ejecute el comando Gobuster nuevamente, agregando la bandera --wildcard:

gobuster dns -d wildcard.labex.io -w ~/project/wordlist.txt --wildcard

Preste mucha atención a la salida. Debería notar que Gobuster primero identifica la IP del comodín y luego procede a filtrar los resultados que coinciden con ella.

Gobuster v3.6
by OJ <oj@zerokopter.com>
[+] Url: wildcard.labex.io
[+] Threads: 10
[+] Wordlist: /home/labex/project/wordlist.txt
[+] Timeout: 10s
[+] User Agent: gobuster/3.6
[+] Wildcard DNS detected. Filtering responses for 192.0.2.123 ## Example IP
2023/01/01 12:00:00 Starting gobuster
2023/01/01 12:00:05 Finished

Observe la línea [+] Wildcard DNS detected. Filtering responses for 192.0.2.123. Esto indica que Gobuster identificó con éxito la IP del comodín y ahora está filtrando activamente los resultados que se resuelven a ella. En este ejemplo específico, dado que todos los subdominios se resuelven a la IP del comodín, es posible que no vea ninguna entrada "Found", lo cual es el comportamiento correcto para un dominio con una configuración de comodín completa y sin subdominios legítimos en su lista de palabras.

Observar Cómo Gobuster Filtra las Respuestas de Comodín

En este paso, profundizaremos en cómo funciona la bandera --wildcard de Gobuster observando su comportamiento con un escenario ligeramente modificado. Si bien nuestro ejemplo anterior mostró un filtrado completo, es importante comprender el mecanismo. Gobuster primero consulta un subdominio aleatorio y inexistente (por ejemplo, randomstring.yourdomain.com). Si esta consulta se resuelve a una dirección IP, Gobuster considera que esa dirección IP es la IP del comodín. Cualquier subdominio posterior encontrado durante la enumeración que se resuelva a esta misma IP de comodín será filtrado. Solo se informarán los subdominios que se resuelvan a una dirección IP diferente.

Para ilustrar esto, imaginemos que nuestro dominio wildcard.labex.io también tuviera un subdominio legítimo www.wildcard.labex.io apuntando a una dirección IP diferente. Si ese fuera el caso, Gobuster aún filtraría todas las demás entradas de comodín, pero informaría www.wildcard.labex.io.

Para el propósito de este laboratorio, dado que wildcard.labex.io está configurado para que todos los subdominios se resuelvan a la misma IP de comodín, la salida del paso anterior (donde no se encontraron subdominios) es el comportamiento esperado y correcto, lo que demuestra un filtrado efectivo.

Volvamos a ejecutar el comando y centrémonos en la línea de salida inicial que confirma la detección del comodín:

gobuster dns -d wildcard.labex.io -w ~/project/wordlist.txt --wildcard

La línea clave a observar es: [+] Wildcard DNS detected. Filtering responses for <IP_ADDRESS>. Esto confirma que Gobuster ha identificado la IP del comodín y la está utilizando activamente para filtrar los resultados.

Gobuster v3.6
by OJ <oj@zerokopter.com>
[+] Url: wildcard.labex.io
[+] Threads: 10
[+] Wordlist: /home/labex/project/wordlist.txt
[+] Timeout: 10s
[+] User Agent: gobuster/3.6
[+] Wildcard DNS detected. Filtering responses for 192.0.2.123 ## Example IP
2023/01/01 12:00:00 Starting gobuster
2023/01/01 12:00:05 Finished

Este paso refuerza la comprensión de que la bandera --wildcard de Gobuster es crucial para obtener resultados precisos de enumeración de subdominios en dominios con registros DNS comodín.

Analizar los Resultados Más Limpios y Precisos

En este paso final, analizará la diferencia entre los resultados obtenidos del escaneo Gobuster estándar y el escaneo realizado con la bandera --wildcard. El objetivo es apreciar cómo la bandera --wildcard proporciona resultados más limpios y precisos al eliminar los falsos positivos.

Recuerde la salida del Paso 2 (sin --wildcard):
Cada entrada de la lista de palabras se informó como "Found" (Encontrado), a pesar de que solo se resolvían debido al registro DNS comodín. Esta salida es ruidosa y hace imposible identificar subdominios que realmente existen.

Recuerde la salida de los Pasos 3 y 4 (con --wildcard):
Gobuster declaró explícitamente [+] Wildcard DNS detected. Filtering responses for <IP_ADDRESS>. En nuestro caso específico, dado que todos los subdominios se resuelven a la IP del comodín, no se informaron entradas "Found". Este es el resultado correcto y preciso, lo que indica que ninguno de los subdominios en nuestra lista de palabras es legítimo y se resuelve a una dirección IP única.

Si hubiera subdominios legítimos (por ejemplo, www.wildcard.labex.io resolviendo a una IP diferente a la del comodín), se habrían listado en la salida al usar la bandera --wildcard. Esto demuestra el poder de la bandera para distinguir subdominios reales de las entradas de comodín.

La bandera --wildcard es esencial para una enumeración de subdominios eficiente y precisa, especialmente cuando se trabaja con listas de palabras grandes y dominios que utilizan extensivamente registros DNS comodín. Ahorra tiempo al reducir la necesidad de filtrar manualmente los falsos positivos y garantiza que sus esfuerzos de enumeración se centren en subdominios verdaderamente relevantes.

Ha aprendido con éxito cómo identificar registros DNS comodín y utilizar la bandera --wildcard de Gobuster para obtener resultados precisos de enumeración de subdominios.

Resumen

En este laboratorio, ha adquirido experiencia práctica en el manejo de registros DNS comodín durante la enumeración de subdominios utilizando Gobuster. Aprendió a identificar dominios con registros comodín, observó cómo los escaneos estándar producen falsos positivos y, lo más importante, dominó el uso de la bandera --wildcard para filtrar estos resultados engañosos. Esta habilidad es crucial para cualquier persona que realice reconocimiento o pruebas de penetración, ya que garantiza la precisión y eficiencia de su proceso de descubrimiento de subdominios. Al aplicar la bandera --wildcard, puede centrarse en subdominios legítimos, ahorrando tiempo y recursos valiosos.