Gobuster: descubrimiento de directorios y archivos ocultos

Si lo que nos interesa es analizar o descubrir directorios o archivos que a priori puedan estar ocultos por navegación de un sitio web, la técnica que se utiliza en el campo del pentesting se llama «fuzzing web» y se puede hacer usando distintas herramientas que lo que hacen es usar mediante fuerza bruta, un diccionario con registros de potenciales carpetas contra esa dirección web o IP.

Este tipo de técnicas son básicas y se usan sí o sí cuando en el análisis del activo, el puerto web http 80 está abierto, ya que puede darse el caso de exponerse no públicamente un directorio o archivo potencial de ser vulnerado o que contenga información clave para la escalada. Puedes ver cómo la apliqué en cualquiera de las máquinas o writeups que he hecho en los distintos laboratorios de hacking ético que tenían ese puerto 80 abierto, como por ejemplo en la máquina Exec de Vulnyx.

¿Qué es Gobuster?

Gobuster es una herramienta de código abierto escrita en Go, usada para realizar “fuerza bruta” sobre servidores web con el fin de descubrir rutas, archivos, directorios ocultos, subdominios o hosts virtuales que no están accesibles desde la navegación normal.

Su funcionamiento se basa en usar “wordlists” (listas de posibles nombres de rutas o subdominios) para enviar múltiples peticiones HTTP o DNS y detectar cuáles respuestas devuelven códigos válidos (por ejemplo 200, 301, 403) lo que indica que la ruta o recurso existe.

Gracias a que está desarrollada en Go, Gobuster destaca por su velocidad, eficiencia y capacidad para realizar escaneos concurrentes, lo que la convierte en una herramienta habitual en pruebas de penetración y auditorías de seguridad en aplicaciones web.

En este post nos centraremos en ver qué comandos se usaría para hacer fuzzing de directorios mediante la herramienta Gobuster. Existen más herramientas para analizar directorios e incluso herramientas específicas para analizar subdominios como Wfuzz.

Cómo instalar Gobuster en Kali

Si estás usando Kali Linux, puedes instalar Gobuster fácilmente siguiendo estos pasos en una terminal:

sudo apt update
sudo apt install gobuster -y

Después de eso, para comprobar que se ha instalado correctamente, puedes ver su versión así:

gobuster --version

O acceder al menú de ayuda con:

gobuster -h

Con esto Gobuster ya quedará lista para usar.

Cómo usar Gobuster para descubrir directorios o archivos ocultos

Para analizar directorios o carpetas, el comando más habitual de ejecutar es el siguiente:

gobuster dir -u IP_Víctima -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -o prueba.txt

*La wordlists contra la que tirará Gobuster puede ser la anterior de dirbuster /directory-list-2.3-medium.txt o puedes probar con /directory-list-lowecase-2.3-medium.txt . Probar con la primera tardará algo más porque dentro tiene más registros sobre los que probar que en lowercase, puedes probar ambos para ver discrepancias o empezar por lowercase y si encuentras ya el directorio target, no es necesario ir al otro…

*-o prueba.txt = es para guardar la respuesta en un archivo txt dentro del directorio donde te encuentres.

La otra opción es hacer fuzzing por archivos, ya que a veces es posible encontrar ocultos o no disponibles de primeras, archivos con extensión php, html o txt que puedan contener información sensible. Para ello utilizaríamos un comando como este:

gobuster dir -u IP_Víctima -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -o prueba.txt -x txt,php,html

En cualquiera de los casos, y como es más completo, te recomendaría usar este último considerando extensiones de archivo, de esta manera te aseguras que en el reporte se tenga en cuenta todo (aunque tarde algo más de tiempo).

Otra herramienta que también puedes usar y que viene instalada en Linux es «dirb» mediante el comando:

dirb http://IP_VICTIMA/

que aunque no será igual de bien y bonito el output, es igual de práctico y te sacará las carpetas encontradas e incluso también te sacará un análisis de fuzzing sobre directorios si es que los encuentra.

Otros posts relacionados