Introducción
Gobuster es una potente herramienta utilizada para la fuerza bruta de directorios y archivos, la fuerza bruta de subdominios DNS y la enumeración de buckets S3. Al realizar escaneos, la cantidad de información que se muestra en la terminal puede variar significativamente. Comprender cómo controlar la verbosidad de esta salida es crucial para un análisis eficiente y para evitar abrumar su terminal con datos innecesarios.
En este laboratorio, aprenderá a gestionar la verbosidad de la salida de Gobuster. Realizará escaneos utilizando la configuración predeterminada, luego explorará el modo silencioso (-q) para minimizar la salida y, finalmente, el modo detallado (-v) para maximizar el detalle. Al comparar estos diferentes niveles, obtendrá experiencia práctica en la adaptación de la salida de Gobuster para que se ajuste a varios escenarios, desde comprobaciones rápidas hasta investigaciones en profundidad.
Ejecutar un Escaneo Estándar y Observar la Salida Predeterminada
En este paso, realizará un escaneo estándar de Gobuster sin ninguna bandera de verbosidad específica. Esto le permitirá observar el comportamiento de salida predeterminado de Gobuster, que normalmente muestra los directorios y archivos encontrados a medida que se descubren.
Primero, asegúrese de estar en la carpeta project de su directorio de inicio.
cd ~/project
Ahora, ejecute el comando Gobuster. Utilizaremos un objetivo local para este laboratorio para evitar escanear sitios web externos. Usaremos http://localhost como objetivo y una lista de palabras (wordlist) pequeña para fines de demostración.
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z
Analicemos el comando:
gobuster dir: Especifica que estamos realizando un escaneo de fuerza bruta de directorios/archivos.-u http://localhost: Establece la URL del objetivo enhttp://localhost.-w /usr/share/wordlists/dirb/common.txt: Especifica la lista de palabras (wordlist) a utilizar para la enumeración. Esta lista de palabras contiene nombres comunes de directorios y archivos.-x php,html,txt: Especifica las extensiones de archivo que se buscarán.-z: Oculta la barra de estado, que a veces puede interferir con la captura de una salida limpia para su comparación.
Observe la salida en su terminal. Debería ver líneas que indican los directorios y archivos encontrados, junto con sus códigos de estado HTTP.
===============================================================
Gobuster v3.1.0
by OJ <ojob.dev>
===============================================================
[+] Url: http://localhost
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Extensions: php, html, txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2024/07/29 08:00:00 Starting gobuster in directory enumeration mode
/index.html (Status: 200)
/server-status (Status: 403)
/manual (Status: 301)
/icons (Status: 301)
/phpmyadmin (Status: 301)
/test.php (Status: 200)
/info.php (Status: 200)
/robots.txt (Status: 200)
/license.txt (Status: 200)
/README.txt (Status: 200)
===============================================================
2024/07/29 08:00:00 Finished
===============================================================
Esta es la salida predeterminada, que proporciona un equilibrio entre información y concisión.
Volver a Ejecutar el Escaneo en Modo Silencioso con la Bandera -q
En este paso, volverá a ejecutar el escaneo de Gobuster utilizando el modo silencioso. La bandera -q suprime la mayor parte de la salida, mostrando solo los hallazgos esenciales. Este modo es útil cuando desea verificar rápidamente recursos específicos sin distraerse con información detallada, o al canalizar la salida a otra herramienta.
Ejecute el mismo comando Gobuster que antes, pero esta vez agregue la bandera -q:
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z -q
Observe la salida. Debería notar que el banner inicial, las estadísticas y las actualizaciones de progreso ya no se muestran. Solo los directorios y archivos encontrados se imprimen en la consola.
/index.html (Status: 200)
/server-status (Status: 403)
/manual (Status: 301)
/icons (Status: 301)
/phpmyadmin (Status: 301)
/test.php (Status: 200)
/info.php (Status: 200)
/robots.txt (Status: 200)
/license.txt (Status: 200)
/README.txt (Status: 200)
Esta salida silenciosa es ideal para scripting o cuando solo le importan las rutas descubiertas.
Volver a Ejecutar el Escaneo en Modo Detallado (Verbose) con la Bandera -v
En este paso, volverá a ejecutar el escaneo de Gobuster utilizando el modo detallado (verbose). La bandera -v proporciona información más detallada sobre el proceso de escaneo, incluyendo cada solicitud realizada y su código de estado de respuesta correspondiente. Este modo es particularmente útil para la depuración o cuando necesita comprender por qué ciertas rutas no se encuentran o devuelven respuestas inesperadas.
Ejecute el mismo comando Gobuster, pero esta vez agregue la bandera -v:
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z -v
Observe la salida. Notará un aumento significativo en la cantidad de información mostrada. Para cada palabra en la lista de palabras (wordlist), Gobuster mostrará la URL que se está probando y el código de estado HTTP recibido, incluso para rutas que no existen o devuelven errores.
===============================================================
Gobuster v3.1.0
by OJ <ojob.dev>
===============================================================
[+] Url: http://localhost
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Extensions: php, html, txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2024/07/29 08:00:00 Starting gobuster in directory enumeration mode
Testing url: http://localhost/index.html (Status: 200)
Testing url: http://localhost/server-status (Status: 403)
Testing url: http://localhost/manual (Status: 301)
Testing url: http://localhost/icons (Status: 301)
Testing url: http://localhost/phpmyadmin (Status: 301)
Testing url: http://localhost/test.php (Status: 200)
Testing url: http://localhost/info.php (Status: 200)
Testing url: http://localhost/robots.txt (Status: 200)
Testing url: http://localhost/license.txt (Status: 200)
Testing url: http://localhost/README.txt (Status: 200)
Testing url: http://localhost/admin (Status: 404)
Testing url: http://localhost/login (Status: 404)
... (muchas más líneas para cada ruta probada)
===============================================================
2024/07/29 08:00:00 Finished
===============================================================
Esta salida detallada proporciona un registro completo del proceso de escaneo, lo que puede ser invaluable para la resolución de problemas o el análisis profundo.
Comparar los Tres Niveles de Detalle de la Salida
En este paso, comparará las salidas de los tres escaneos diferentes de Gobuster que realizó: el predeterminado, el silencioso (-q) y el detallado (-v). Comprender las diferencias le ayudará a elegir el nivel de salida más apropiado para diversas situaciones.
Recuerde las características de cada salida:
- Salida Predeterminada: Proporciona un banner resumen, actualizaciones de progreso (si no se usa
-z) y lista solo los directorios/archivos encontrados con sus códigos de estado. Es un buen equilibrio para uso general. - Salida Silenciosa (
-q): Suprime toda la información no esencial, mostrando solo los directorios/archivos encontrados. Esto es útil para una salida limpia y analizable (parsable), especialmente al canalizarla a otras herramientas o cuando solo necesita los resultados. - Salida Detallada (
-v): Muestra detalles extensos, incluyendo cada URL probada y su estado de respuesta, independientemente de si es una ruta "encontrada" o un error. Esto es invaluable para la depuración, la comprensión de las interacciones de red o cuando necesita un registro de auditoría completo del escaneo.
Considere los siguientes escenarios y cómo cada nivel de salida podría ser más adecuado:
- Comprobación rápida de rutas comunes: El modo silencioso (
-q) sería eficiente. - Reconocimiento general: La salida predeterminada proporciona suficiente contexto.
- Solución de problemas de un escaneo que no encuentra las rutas esperadas: El modo detallado (
-v) ayudaría a identificar por qué las solicitudes fallan o qué respuestas se están recibiendo. - Integración de Gobuster en un script para procesamiento automatizado: El modo silencioso (
-q) garantiza una salida limpia que es fácil de analizar.
Al comparar las salidas de la terminal que observó en los pasos anteriores, puede ver claramente cómo cada bandera altera la verbosidad.
Elegir la Verbosidad Apropiada para Diferentes Escenarios
En este paso final, solidificará su comprensión de cuándo usar cada nivel de verbosidad de salida de Gobuster. La elección de la verbosidad depende en gran medida de su objetivo y del contexto de su prueba de penetración o evaluación de seguridad.
Aquí tiene un resumen de cuándo usar cada modo:
Modo Predeterminado (sin banderas):
- Cuándo usar: Para escaneos de propósito general, reconocimiento inicial o cuando necesita una vista equilibrada del progreso y los hallazgos del escaneo. Es el punto de partida más común.
- Ejemplo: Está explorando un nuevo objetivo y desea ver rápidamente qué directorios comunes existen sin demasiado ruido.
Modo Silencioso (
-q):- Cuándo usar: Cuando solo le importan los hallazgos exitosos y desea suprimir todos los demás mensajes informativos, banners y errores. Esto es ideal para scripting, canalizar la salida a otras herramientas (como
grepoawk), o cuando ejecuta muchos escaneos en paralelo y desea un desorden mínimo en la terminal. - Ejemplo: Está escribiendo un script para automatizar la enumeración de directorios y desea alimentar las URLs encontradas directamente a otra herramienta para un análisis posterior.
- Cuándo usar: Cuando solo le importan los hallazgos exitosos y desea suprimir todos los demás mensajes informativos, banners y errores. Esto es ideal para scripting, canalizar la salida a otras herramientas (como
Modo Detallado (
-v):- Cuándo usar: Para depuración, solución de problemas o cuando necesita una comprensión detallada de cada solicitud y respuesta. Este modo muestra todos los intentos, incluidos aquellos que resultan en 404 u otros errores, lo que puede ser crucial para identificar problemas sutiles o comprender el comportamiento del servidor.
- Ejemplo: Su escaneo de Gobuster no está encontrando los directorios esperados y sospecha de un problema de red, un WAF que bloquea solicitudes o una respuesta inusual del servidor. La salida detallada le mostrará exactamente lo que está sucediendo para cada solicitud.
Al dominar estas opciones de verbosidad, puede hacer que sus escaneos de Gobuster sean más eficientes y adaptados a sus necesidades específicas, ahorrando tiempo y mejorando sus capacidades de análisis.
Resumen
En este laboratorio, ha aprendido con éxito cómo controlar la verbosidad de la salida de Gobuster. Comenzó realizando un escaneo estándar para observar la salida predeterminada, que proporciona una vista equilibrada del proceso de enumeración. Luego, exploró el modo silencioso utilizando la bandera -q, que minimiza la salida para mostrar solo las rutas descubiertas, lo que lo hace ideal para scripting y resultados limpios. Finalmente, utilizó el modo detallado con la bandera -v para obtener una visión detallada de cada solicitud y respuesta, lo cual es invaluable para la depuración y el análisis en profundidad.
Al comprender y aplicar estos diferentes niveles de verbosidad, puede adaptar eficazmente la salida de Gobuster para que se ajuste a varios escenarios, desde comprobaciones rápidas hasta solución de problemas detallada, mejorando así su eficiencia en las tareas de enumeración de directorios y archivos.
