Excluir Códigos de Estado Específicos de los Resultados en Gobuster

Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a utilizar eficazmente Gobuster, una popular herramienta de fuerza bruta de directorios y archivos, para excluir códigos de estado HTTP específicos de sus resultados de escaneo. Al realizar la enumeración web, a menudo se encuentra con muchas respuestas de "No encontrado" (404) u otras respuestas irrelevantes que abarrotan la salida. Al filtrarlas, puede centrarse en resultados más significativos, haciendo que sus esfuerzos de reconocimiento sean más eficientes y específicos. Este laboratorio lo guiará a través de la identificación de códigos de estado ruidosos, la ejecución de un escaneo de referencia y luego la aplicación de filtros de exclusión utilizando la bandera -b de Gobuster.

Identificar códigos de estado ruidosos a ignorar (por ejemplo, 404)

En este paso, comprenderá por qué es importante identificar y excluir ciertos códigos de estado HTTP durante un escaneo de Gobuster. Cuando Gobuster intenta acceder a rutas inexistentes, el servidor web generalmente responde con un código de estado "404 Not Found". Estas respuestas 404 pueden inundar la salida de su escaneo, dificultando la detección de hallazgos legítimos. Otros códigos de estado, como las redirecciones 3xx o los errores de servidor 5xx, también pueden considerarse "ruidosos" dependiendo de sus objetivos de reconocimiento específicos.

Para ilustrar esto, primero ejecutaremos un comando curl simple contra nuestro servidor web local para ver cómo responde a una ruta inexistente.

Abra su terminal y ejecute el siguiente comando:

curl -I http://localhost:8000/nonexistent_page

Debería ver una salida similar a esta, que indica un estado de 404 Not Found:

HTTP/1.0 404 Not Found
Server: SimpleHTTP/0.6
Date: ...
Content-type: text/html
Content-Length: ...

Este 404 Not Found es una respuesta "ruidosa" común. En los siguientes pasos, aprenderá a indicarle a Gobuster que ignore dichas respuestas.

Ejecutar un escaneo sin ningún filtrado

En este paso, realizará un escaneo básico de Gobuster sin ningún filtrado de códigos de estado. Esto servirá como línea de base para demostrar cuántos resultados ruidosos (por ejemplo, respuestas 404) se pueden generar en la salida. Utilizará el modo dir de Gobuster para enumerar directorios y archivos en nuestro servidor web local.

Ejecute el siguiente comando en su terminal:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt

Analicemos el comando:

  • gobuster dir: Especifica que queremos usar el modo de enumeración de directorios/archivos.
  • -u http://localhost:8000: Establece la URL de destino en nuestro servidor web local.
  • -w ~/project/wordlist.txt: Especifica el archivo de lista de palabras a utilizar para la fuerza bruta.

Observe la salida. Probablemente verá muchas entradas con (Status: 404) junto a ellas, lo que indica que Gobuster intentó acceder a rutas que no existen en el servidor.

...
/nonexistent_page       (Status: 404)
/admin                  (Status: 404)
/test                   (Status: 404)
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
/forbidden_area         (Status: 403)
/server_error           (Status: 500)
...

Como puede ver, la salida está abarrotada de respuestas 404, lo que dificulta la identificación de los recursos reales existentes.

Usar la bandera -b para excluir 404 Not Found

En este paso, aprenderá a usar la bandera -b (o --exclude-length) de Gobuster para excluir códigos de estado HTTP específicos de los resultados. Esto es crucial para filtrar respuestas irrelevantes y centrarse en lo que importa. Excluiremos específicamente el código de estado 404 Not Found, que es la respuesta ruidosa más común.

La bandera -b toma una lista de códigos de estado separados por comas para excluir.

Ejecute el siguiente comando en su terminal para ejecutar el escaneo de Gobuster, excluyendo las respuestas 404:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -b 404

Echemos un vistazo a la nueva bandera:

  • -b 404: Indica a Gobuster que excluya cualquier resultado que devuelva un código de estado HTTP de 404.

Observe la salida cuidadosamente. Debería notar que todas las entradas con (Status: 404) han desaparecido, lo que resulta en una lista de resultados mucho más limpia y enfocada.

...
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
/forbidden_area         (Status: 403)
/server_error           (Status: 500)
...

Esto mejora significativamente la legibilidad y la utilidad de los resultados de su escaneo.

Ejecutar el escaneo y observar la salida más limpia

En este paso, volverá a ejecutar el escaneo de Gobuster con la bandera -b 404 y prestará mucha atención a la salida para confirmar que las respuestas 404 están efectivamente excluidas. Esto refuerza su comprensión de cómo funciona la bandera de exclusión y su impacto en los resultados del escaneo.

Ejecute el comando nuevamente para ver la salida filtrada:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -b 404

A medida que el escaneo avanza, verá solo las entradas que devolvieron códigos de estado distintos de 404. Esto demuestra la efectividad de la bandera -b para reducir el ruido.

Ejemplo de salida más limpia esperada:

...
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
/forbidden_area         (Status: 403)
/server_error           (Status: 500)
...

Observe cómo las entradas nonexistent_page, admin y test (que devolvieron 404) ya no están presentes en la salida. Esto hace que sea mucho más fácil identificar recursos válidos.

Combinar -s y -b para un filtrado preciso

En este paso final, aprenderá a combinar las banderas -s (incluir códigos de estado) y -b (excluir códigos de estado) para un filtrado aún más preciso. Si bien -b es excelente para eliminar el ruido, a veces solo desea ver tipos específicos de respuestas, como las exitosas (200 OK) o las redirecciones (3xx).

La bandera -s le permite especificar una lista de códigos de estado separados por comas para incluir en los resultados. Cuando se usan tanto -s como -b, Gobuster primero aplicará el filtro -s y luego, de los resultados restantes, aplicará el filtro -b.

Digamos que solo desea ver las respuestas 200 OK y 302 Found, mientras excluye explícitamente 404 Not Found.

Ejecute el siguiente comando:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -s 200,302 -b 404

Aquí está el desglose:

  • -s 200,302: Indica a Gobuster que solo muestre los resultados con códigos de estado 200 o 302.
  • -b 404: Indica a Gobuster que excluya los resultados con código de estado 404. (Aunque en este caso específico, el 404 ya estaría excluido por -s, demuestra la combinación).

Observe la salida. Ahora solo debería ver entradas con Status: 200 y Status: 302.

...
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
...

Esta poderosa combinación le permite ajustar sus escaneos de Gobuster para recuperar solo la información más relevante, mejorando significativamente su eficiencia en el reconocimiento web.

Resumen

En este laboratorio, ha aprendido con éxito a excluir códigos de estado HTTP específicos de los resultados de su escaneo de Gobuster. Comenzó comprendiendo por qué es necesario el filtrado, especialmente para respuestas comunes y "ruidosas" como 404 Not Found. Luego realizó un escaneo de referencia para observar la salida sin filtrar. El núcleo de este laboratorio implicó el uso de la bandera -b para excluir códigos de estado no deseados, lo que llevó a un conjunto de resultados mucho más limpio y enfocado. Finalmente, exploró cómo combinar las banderas -s (incluir) y -b (excluir) para un control aún más preciso sobre sus escaneos de Gobuster. Esta habilidad es invaluable para un reconocimiento web eficiente y dirigido.