Introducción
En este laboratorio, aprenderá una técnica fundamental en las pruebas de penetración de aplicaciones web: enrutar el tráfico de Gobuster a través de un proxy web. Gobuster es una herramienta potente para la fuerza bruta de directorios y archivos, la fuerza bruta de subdominios DNS y la enumeración de buckets S3. Al enrutar su tráfico a través de un proxy como Burp Suite u OWASP ZAP, usted obtiene la capacidad de inspeccionar, modificar y analizar las solicitudes y respuestas HTTP generadas por Gobuster. Esta visibilidad es invaluable para comprender cómo se comportan las aplicaciones web y para identificar posibles vulnerabilidades.
Este laboratorio lo guiará a través de la configuración de un proxy, la configuración de Gobuster para usarlo, la ejecución de un escaneo y la observación del tráfico dentro del proxy.
Iniciar un Proxy Web como Burp Suite u OWASP ZAP
En este paso, iniciará una aplicación proxy web. Para este laboratorio, utilizaremos OWASP ZAP, que está preinstalado en el entorno de LabEx. OWASP ZAP proporciona una interfaz gráfica para interceptar y analizar el tráfico web.
Primero, abra una nueva ventana de terminal si no tiene una abierta. Luego, inicie OWASP ZAP.
/opt/zaproxy/zap.sh &
Después de iniciarlo, OWASP ZAP comenzará. Es posible que vea una indicación sobre la persistencia de la sesión de ZAP. Para este laboratorio, puede elegir "No, gracias" y hacer clic en "Start".
Una vez que ZAP esté en funcionamiento, debería ver su interfaz principal. Esto indica que la aplicación proxy está lista para ser configurada.
Configurar el Proxy para Escuchar en un Puerto Específico
En este paso, configurará OWASP ZAP para que escuche en una dirección IP y puerto específicos. Por defecto, ZAP a menudo escucha en 127.0.0.1:8080. Confirmaremos esta configuración.
En OWASP ZAP:
- Vaya a
Tools->Options...(oFile->Options...dependiendo de la versión de ZAP). - En el cuadro de diálogo de Opciones, navegue a
Local Proxiesdentro de la secciónNetwork. - Verifique que la dirección sea
127.0.0.1y el puerto sea8080. Si es diferente, puede modificarlo aquí, pero para este laboratorio, asumiremos127.0.0.1:8080. - Haga clic en
OKpara cerrar el cuadro de diálogo de Opciones.
Esta configuración asegura que ZAP esté escuchando las conexiones entrantes en la dirección y puerto especificados, listo para interceptar el tráfico.
Usar la Bandera -p en Gobuster para Especificar la URL del Proxy
En este paso, aprenderá cómo indicar a Gobuster que enrute su tráfico a través del proxy que acaba de configurar. Gobuster proporciona la bandera -p (o --proxy) para este propósito, permitiéndole especificar la URL del proxy.
El formato para la URL del proxy suele ser http://<IP_ADDRESS>:<PORT>. Dado que nuestro proxy ZAP está escuchando en 127.0.0.1:8080, la URL del proxy será http://127.0.0.1:8080.
Prepararemos un comando de Gobuster que incluya esta configuración de proxy. Utilizaremos un objetivo simple para la demostración, por ejemplo, http://example.com.
echo "gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt -p http://127.0.0.1:8080" > ~/project/gobuster_command.sh
chmod +x ~/project/gobuster_command.sh
Este comando crea un script gobuster_command.sh en su directorio ~/project que contiene el comando de Gobuster con la bandera del proxy. Este script se ejecutará en el siguiente paso.
Ejecutar un Escaneo con Gobuster
En este paso, ejecutará el escaneo de Gobuster utilizando el comando preparado en el paso anterior. Esto iniciará el proceso de fuerza bruta de directorios, y todo su tráfico HTTP será enrutado a través de OWASP ZAP.
Abra una nueva terminal o utilice la que ya tiene y ejecute el script:
~/project/gobuster_command.sh
Verá la salida de Gobuster en la terminal, mostrando los directorios y archivos que descubre. Mientras Gobuster se ejecuta, está enviando solicitudes a través de ZAP. El escaneo puede tardar unos momentos en completarse, dependiendo del tamaño de la lista de palabras (wordlist) y la capacidad de respuesta del objetivo. Para example.com, debería ser relativamente rápido ya que es un objetivo simple.
/usr/bin/gobuster: line 1: syntax error near unexpected token `newline'
/usr/bin/gobuster: line 1: `#!/bin/bash'
Nota: La salida anterior es un ejemplo. Su salida real puede variar ligeramente.
Observar el Tráfico de Gobuster en el Historial del Proxy
En este paso final, observará el tráfico HTTP generado por Gobuster dentro de OWASP ZAP. Aquí es donde puede analizar las solicitudes y respuestas, identificar patrones y potencialmente descubrir vulnerabilidades.
Vuelva a la aplicación OWASP ZAP.
- En el panel izquierdo, busque el árbol
Sites(Sitios). Debería verhttp://example.comlistado. - Expanda
http://example.comy luegohttp. Verá una lista de métodos HTTP (por ejemplo,GET) y las rutas a las que Gobuster intentó acceder (por ejemplo,/,/index.html,/robots.txt, etc.). - Haga clic en cualquiera de estas entradas. En los paneles inferiores, verá las pestañas
Request(Solicitud) yResponse(Respuesta), que muestran la solicitud HTTP completa enviada por Gobuster y la respuesta correspondiente del servidor.
Esto confirma que el tráfico de Gobuster se enrutó correctamente a través del proxy, lo que permite una inspección detallada. Esta capacidad es esencial para las pruebas avanzadas de aplicaciones web.
Resumen
En este laboratorio, aprendió con éxito cómo enrutar el tráfico de Gobuster a través de un proxy web. Inició OWASP ZAP, confirmó su configuración de proxy, utilizó la bandera -p para dirigir las solicitudes de Gobuster a través del proxy, ejecutó un escaneo y, finalmente, observó el tráfico interceptado dentro de ZAP. Esta habilidad es fundamental para cualquier probador de penetración web, ya que permite un análisis más profundo y la manipulación del tráfico de herramientas automatizadas. Al comprender cómo proxificar sus herramientas, obtiene un mayor control y visibilidad sobre su proceso de prueba, lo que conduce a un descubrimiento de vulnerabilidades más efectivo.
