DNS Brutting – Obteniendo subdominios por fuerza bruta

En una fase de gathering en una auditoría necesitamos obtener la mayor cantidad de información posible de un sistema para hacernos una idea de su estructura, también en caso de necesitar localizar un determinado posible servicio que ofrezca un dominio,… Por ello puede sernos útil conocer la lista de subdominios que contiene un dominio. En esta entrada explicaré algunos métodos para obtenerlos mediante fuerza bruta (DNS Brutting), concretamente iremos probando con una serie de palabras (diccionario) y comprobando la respuesta del servidor de manera automatizada.

Para esto vamos a utilizar herramientas incluidas en la distribución de Kali Linux, aunque también podríamos utilizarlas en cualquier otro entorno de Linux siempre y cuando hayan sido instaladas.

Comenzaremos utilizando dnsenum (https://code.google.com/p/dnsenum/) para el cual necesitaremos tener un diccionario. Podemos obtener uno completo buscando en la red, o creando nosotros uno propio, en este caso utilizaremos el que los desarrolladores de dnsenum ofrecen (https://code.google.com/p/dnsenum/downloads/detail?name=dnsbig.txt&can=2&q=).

Para que que dnsnum nos busque los subdominios mediante la fuerza bruta la sintaxis sería la siguiente:

dnsenum dominio -f diccionario

Veamos un ejemplo:

dnsenumdnsenum diccionario

Como se puede apreciar en la primera imagen, también aparecen los datos del DNS, esto es otra utilidad de dnsenum a la que podemos acceder directamente al usar el comando sin poner el diccionario.

Y más abajo (segunda imagen) podemos ver como la lista de subdominios que dnsenum a encontrado, en el caso de la imagen ha encontrado el subdominio «blogs».

El proceso puede ser más o menos eficaz y más o menos lento en función del diccionario, por ello es importante disponer de uno bien elaborado y en función de las labores que queramos hacer.

Otra herramienta para realizar este mismo trabajo es dnsdict6. Dnsdict6 se utiliza principalmente para enumerar las entradas DNS IPv6 de un dominio o subdominio. Esto es útil para la búsqueda de subdominios que pueden ser invisibles para el público, pero todavía existe en los registros de DNS. A menudo, son olvidados por el admin y pueden ser un camino para explotar con ataques basados ​​en el dominio. El dnsdict6 utiliza una lista de diccionario que se utiliza para adivinar posibles entradas de DNS.

Las opciones que nos da son:

  • 4 se utiliza para deshacerse de direcciones IPv4.
  • t se utiliza para especificar que numero de hilos de.
  • D se usa para mostrar información en servidores de nombres y registros MX
  • d mostrar información ip6 sobre NS, MX e información de dominios DNS
  • S desempeñar nombre SRV servicio de adivinanzas
  • [smlx] hay cuatro tipos de diccionario incorporados en esta herramienta -s(mall=50), -m(edium=796) (DEFAULT) -l(arge=1416), or -x(treme=3211)

Y la sintaxis sería:

dnsdict6 [-s| -m| -l| -x] [-t THREADS] [ -d] dominio diccionario

De modo que, si no especificamos el diccionario, dnsdict6 usa el suyo propio.

Veamos un ejemplo:

dnsdict6

Como vemos en la imagen, dnsdict6 ha encontrado 5 subdominios para este dominio (mail, calendar, lists, smptp1 y docs).

Y por último, podríamos realizar lo mismo con dnsmap (https://code.google.com/p/dnsmap/). El cual también incluye un diccionario en el caso de no especificar ninguno. Para hacer esto con dnsmap, la sintaxis sería:

dnsmap dominio opciones

Opciones:

  • {word-list.txt}Word-list que tiene el usuario a usar
  • r {Direccion a guardar} Genera una salida con los resultados
  • c {Direccion a guardar} Genera una salida de formato csv
  • d {Tiempo en milisegundos} Tiempo de retraso o respuesta
  • i {IP a ignorar, para meter varias separadas por una coma} IP con faltos positivos, las pasa por alto

Por ejemplo:

dnsmap

En este caso encontraríamos muchos subdominios.

Bien, y esto un resumen sobre estas 3 herramientas que nos podrían servir para hacer DNS Brutting, pero no significa que sean las únicas. Próximamente haré otro tutorial sobre como obtener subdominios usando otro método. Saludos!

Un comentario

Deja un comentario