Filtrar resultados de escaneo por códigos de estado en Gobuster

Beginner
Practicar Ahora

Introducción

En la enumeración web, herramientas como Gobuster se utilizan para descubrir directorios y archivos ocultos en servidores web. Sin embargo, la salida bruta puede ser abrumadora, conteniendo muchas entradas que no son inmediatamente relevantes. Filtrar estos resultados basándose en los códigos de estado HTTP es una técnica poderosa para enfocar su atención en tipos específicos de respuestas, como páginas exitosas (200 OK), redirecciones (301/302) o recursos prohibidos (403).

Este laboratorio lo guiará a través del uso de las capacidades de filtrado de Gobuster para analizar eficientemente los resultados del escaneo. Aprenderá a identificar códigos de estado HTTP comunes, realizar un escaneo básico de Gobuster y luego aplicar filtros para mostrar solo los códigos de estado que le interesan. Esta habilidad es esencial para cualquier persona involucrada en seguridad web o pruebas de penetración, ya que ayuda a identificar rápidamente información procesable.

Comprender los códigos de estado HTTP comunes (200, 301, 403)

En este paso, aprenderá sobre algunos de los códigos de estado HTTP más comunes que se encuentran con frecuencia durante la enumeración web. Comprender estos códigos es fundamental para interpretar la salida de Gobuster y filtrar resultados de manera efectiva.

  • 200 OK: Este código de estado indica que la solicitud ha tenido éxito. El servidor ha procesado la solicitud correctamente y se está devolviendo el recurso solicitado (por ejemplo, una página web, una imagen). En los escaneos de Gobuster, un código de estado 200 generalmente significa que se encontró una página o directorio válido y accesible.
  • 301 Moved Permanently: Este código de estado significa que el recurso solicitado se ha movido permanentemente a una nueva URL. El navegador (o Gobuster) debería redirigirse automáticamente a la nueva ubicación. Aunque no es un error, encontrar redirecciones 301 puede indicar contenido antiguo o reorganizado.
  • 403 Forbidden: Este código de estado significa que el servidor entendió la solicitud pero se niega a autorizarla. Esto suele ocurrir cuando un usuario (o Gobuster) intenta acceder a un recurso que requiere autenticación o permisos específicos, pero el cliente no los tiene. Encontrar 403 puede ser interesante, ya que podrían señalar áreas sensibles que están protegidas pero que aún existen.

Para tener una idea de estos, puede intentar acceder a algunas rutas en nuestro servidor web simulado usando curl.

Primero, confirmemos que el servidor está en funcionamiento intentando acceder a index.html:

curl -I http://localhost:8000/index.html

Debería ver un estado HTTP/1.0 200 OK en la salida.

A continuación, intente acceder a redirect.html para ver una redirección 301:

curl -I http://localhost:8000/redirect.html

Debería observar un estado HTTP/1.0 301 Moved Permanently.

Finalmente, intente acceder a admin.html para ver una respuesta HTTP/1.0 403 Forbidden:

curl -I http://localhost:8000/admin.html

Este comando debería devolver un estado HTTP/1.0 403 Forbidden.

Estos comandos curl le ayudan a verificar manualmente cómo responden diferentes rutas en el servidor con códigos de estado HTTP específicos, que es lo que Gobuster automatizará.

Ejecutar un escaneo para ver todos los códigos de estado

En este paso, realizará un escaneo básico de Gobuster contra el servidor web simulado sin ningún filtro de código de estado. Esto le permitirá ver la salida predeterminada, que incluye todas las rutas descubiertas junto con sus códigos de estado HTTP correspondientes. Esto sirve como una línea de base antes de aplicar filtros.

La sintaxis básica para la fuerza bruta de directorios de Gobuster es gobuster dir -u <URL> -w <wordlist>.

  • -u: Especifica la URL de destino. En nuestro caso, es http://localhost:8000.
  • -w: Especifica la ruta al archivo de lista de palabras. Utilizaremos el archivo wordlist.txt creado en la configuración.

Ejecute el siguiente comando en su terminal:

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

Después de ejecutar el comando, observe la salida. Debería ver líneas similares a estas, que indican las rutas descubiertas y sus códigos de estado:

/index.html           (Status: 200)
/secret.html          (Status: 200)
/redirect.html        (Status: 301)
/admin.html           (Status: 403)

Observe que Gobuster informa todos los códigos de estado que encuentra. En un escenario del mundo real con una lista de palabras grande, esta salida puede ser muy larga y contener muchas entradas irrelevantes. Los siguientes pasos le mostrarán cómo refinar esta salida.

Usar la bandera -s para mostrar solo 200 OK y 301 Redirecciones

En este paso, aprenderá a usar la bandera -s (status) en Gobuster para filtrar los resultados del escaneo y mostrar solo códigos de estado HTTP específicos. Esto es increíblemente útil cuando busca tipos particulares de respuestas, como páginas exitosas o redirecciones.

La bandera -s le permite especificar una lista de códigos de estado separados por comas para incluirlos en la salida. Por ejemplo, para ver solo las respuestas 200 (OK) y 301 (Moved Permanently), usaría -s 200,301.

Ejecute el siguiente comando:

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

Observe la salida. Esta vez, solo debería ver entradas con los códigos de estado 200 y 301:

/index.html           (Status: 200)
/secret.html          (Status: 200)
/redirect.html        (Status: 301)

Observe que la entrada /admin.html, que devolvió un estado 403, ya no está presente en la salida. Esto demuestra cuán efectivamente la bandera -s puede reducir sus resultados, facilitando el enfoque en hallazgos relevantes.

Ejecutar un nuevo escaneo para encontrar páginas prohibidas (403)

En este paso, realizará otro escaneo filtrado, esta vez buscando específicamente páginas "Prohibidas" (Forbidden), que devuelven un código de estado HTTP 403. Identificar respuestas 403 puede ser crucial en las pruebas de penetración, ya que a menudo indican interfaces administrativas protegidas, archivos sensibles o directorios que podrían ser vulnerables a configuraciones erróneas o técnicas de elusión.

Para filtrar solo los códigos de estado 403, utilizará la bandera -s con 403 como argumento.

Ejecute el siguiente comando:

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

Examine la salida. Ahora solo debería ver la entrada para /admin.html, que devolvió un estado 403:

/admin.html           (Status: 403)

Este escaneo dirigido resalta rápidamente los recursos a los que el servidor deniega explícitamente el acceso. Si bien estos recursos están protegidos, su mera existencia puede ser información valiosa para una mayor investigación. Esto demuestra la flexibilidad de la bandera -s para centrarse en tipos específicos de respuestas del servidor.

Analizar la salida filtrada

En este paso final, analizará las implicaciones de las salidas filtradas que ha generado. Comprender qué significan los diferentes códigos de estado en el contexto de un escaneo de Gobuster es clave para una enumeración web efectiva.

Cuando filtró por códigos de estado 200,301, identificó:

  • /index.html (200 OK): Esta es la página principal, que indica un recurso exitoso y accesible.
  • /secret.html (200 OK): Esta también devolvió 200, lo que sugiere que es una página accesible. En un escenario real, investigaría su contenido para ver si contiene información sensible.
  • /redirect.html (301 Moved Permanently): Esto indica una redirección. Normalmente seguiría la redirección para ver a dónde conduce, ya que podría apuntar a contenido actualizado o a una parte diferente de la aplicación.

Cuando filtró por códigos de estado 403, identificó:

  • /admin.html (403 Forbidden): Este es un hallazgo crucial. Una respuesta 403 significa que el servidor sabe que el recurso existe pero deniega el acceso. Esto a menudo apunta a paneles administrativos, directorios sensibles o archivos que están protegidos intencionalmente. Si bien se deniega el acceso directo, esta ruta es un candidato principal para una mayor investigación, como:
    • Intentos de bypass: ¿Existen técnicas de bypass conocidas para este servidor web o aplicación específicos?
    • Credenciales por defecto: ¿Podrían las credenciales por defecto permitir el acceso?
    • Escaneo de vulnerabilidades: ¿Existen vulnerabilidades que puedan conducir a un acceso no autorizado?

Al filtrar selectivamente la salida de Gobuster, puede pivotar rápidamente su investigación hacia las pistas más prometedoras, ahorrando tiempo y haciendo que su proceso de enumeración sea más eficiente y específico. Esta habilidad es fundamental para cualquier profesional de la seguridad que realice evaluaciones de aplicaciones web.

Resumen

En este laboratorio, ha aprendido a utilizar eficazmente la bandera -s de Gobuster para filtrar los resultados del escaneo basándose en códigos de estado HTTP. Comenzó por comprender códigos de estado comunes como 200 (OK), 301 (Moved Permanently) y 403 (Forbidden). Luego realizó un escaneo básico de Gobuster para ver todas las respuestas y posteriormente aplicó filtros para centrarse en tipos específicos de resultados.

Al filtrar por códigos de estado 200 y 301, identificó páginas accesibles y redirecciones. Más importante aún, al filtrar por códigos de estado 403, localizó recursos potencialmente sensibles o protegidos que merecen una mayor investigación. Este enfoque dirigido agiliza significativamente el proceso de enumeración web, permitiéndole identificar rápidamente inteligencia procesable durante las pruebas de penetración o las evaluaciones de seguridad. Dominar esta técnica es una habilidad valiosa para cualquier profesional de la ciberseguridad.