GOBUSTER

Otro Fuzzer que tiene como característica principal que nos permite fuzzear Subdominos DNS y Hosts virtuales además de directorios.

Éste artículo está traducido del artículo Gobuster for directory, DNS and virtual hosts bruteforcing de la página web erev0s.

En este artículo vamos a explorar el fuzzer llamado GoBuster. El proyecto está disponible en Github.

Vamos a ver algunas de las ventajas que posicionan Gobuster por encima de otras herramientas similares como dirb. Vamos a desarrollar su funcionamiento y por último, dejaré una cheatsheet para los casos de uso más habituales.

CARACTERÍSTICAS

Hay tres características que ponen Gobuster en el primer lugar de la lista de fuzzers.

  • Se ejecuta desde la linea de comandos.

  • Permite hacer fuerza bruta a ficheros y a varios tipos de extensiones al mismo tiempo.

  • Velocidad.

GoBuster está escrito en Go, esto lo hace muy bueno a la hora de realizar trabajos concurrentes (utilizar hilos para ejecutar acciones simultaneas). Esto desemboca en más velocidad a la hora de realizar fuerza bruta. Además, el hecho de no necesitar especificar si realizamos el ataque sobre directorios o sobre archivos simplifica mucho las tareas de fuzzing.

Tiene tres modos principales de funcionamiento:

  • dir - El clasico fuzzer de directorios.

  • dns - Fuzzea subdominios DNS.

  • vhost - Fuzzea Hosts virtuales, que no es lo mismo que DNS.

La ayuda de GoBuster muestra lo siguiente:

FUNCIONAMIENTO

Primero hablaremos de los tres argumentos globales más útiles del programa:

  1. -q permite fozalizar la salida unicamente en lo que interesa.

  2. -t se utiliza para definir cuantos hilos concurrentes queremos utilizar. El número a utilizar dependerá principalmente de dos factores: Ancho de banda de nuestra conexión a internet y los recursos del servidor al que estamos atacando. Normalmente entre 50 y 100 es un buen número para empezar.

  3. -w define el diccionario a utilizar.

DIR mode

Ahora para los argumentos concretos del modo dir, la ayuda se explica sola, sin embargo, vamos a explicar algunos de los argumentos que más vamos a utilizar.

En muchos CTFs la certificación SSL está autofirmada y por lo tanto, no verificada. Utilizando -k podemos saltarnos la verificación SSL y continuar con el fuzz.

Otra cosa muy útil es que nos permite decidir qué codigos de respuesta son válidos y cuales no. Con los argumentos -s (para la lista blanca) y -b (para la lista negra)

Tambien le podemos decir a GoBuster qué tipo de archivos queremos que busque utilizando el argumento -x donde podemos definir las extensiones que estamos buscando. Por ejemplo, si busco imágenes puedo utilizar -x jpg,png,gif

Un ejemplo básico quedaría como sigue:

DNS mode

En el modo DNS estamos buscando subdominios de un dominio específico. Es muy importante en pentesting ya que puede revelar areas "escondidas" que no están tan protegidas como otras.

Como su nombre indica, en este modo GoBuster trata de resolver el nombre de los subdominios mediante DNS. Así puede verificar su existencia o no.

El argumento -d es el encargado de definir el nombre de dominio víctima.

Hay casos en los que es necesario definir el servidor DNS a utilizar. Esto se hace con -r .

Con -i podemos obtener la IP asociada al subdominio.

Un ejemplo sencillo quedaría como sigue:

VHOST mode

Este modo no debe ser confundico con ser lo mismo que el modo DNS. Mientras que el modo DNS trata de resolver los nombres de los subdominios mediante DNS, el modo VHOST chequea si el subdominio existe visitando la url y verificando la IP.

Los argumentos que se pueden utilizar ya estaban incluidos en el modo DIR.

Veamos un ejemplo sencillo:

Por ejemplo, si el servidor ever0s.com estuviera detrás de CLoudFlare, esto es lo que obtendríamos:

Podemos ver que GoBuster muestra como encontradas todas las entradas de nuestro diccionario aunque lo hace con un código de respuesta 530 que equivale a "origin DNS error". Esto se debe a que no es el error que la aplicación espera y le parece relevante. Para evitar esto podemos utilizar el argumento -s y -b .

CHEATSEET

Description

Command

archivos interesantes web

gobuster dir -u mytarget.com -w path/to/my/awesome/wordlist.txt -e -t 100 -x php,txt,html,htm

Encontrar imágenes

gobuster dir -u mytarget.com -w path/to/my/awesome/wordlist.txt -e -t 100 -x jpg,jpeg,png,gif,ico

Evitar verificación SSL

gobuster dir -u mytarget.com -w path/to/my/awesome/wordlist.txt -k

Bypasear Autenticación simple.

gobuster dir -u mytarget.com -w path/to/my/awesome/wordlist.txt -U BasicAuthUser -P BasicAuthPass

Personalizar Servidor DNS..

gobuster dns -d mytarget.com -w path/to/my/awesome/wordlist.txt -r 10.10.10.10 -i -v

Última actualización

¿Te fue útil?