F1r0x
GitHub
Burpsuite

¿Qué es BurpSuite?

Burp Suite, también conocida como la navaja suiza del pentester, es una herramienta multifunción para realizar auditorías de seguridad a aplicaciones Web. Integra diferentes componentes de pentesting y funcionalidades para realizar las pruebas y permite combinar pruebas tanto automáticas como manuales. La herramienta Burp Suite está desarrollada y mantenida por la empresa PortSwigger, y cuenta con dos versiones: Burp Free (gratuita) y Burp Professional (de pago). La versión gratuita se puede encontrar ya instalada en Kali Linux, la distribución de Linux diseñada para auditorías y seguridad informática.

Podeís Descargas BurpSuite en su págian Oficial –> Link

Para instalar BurpSuite directamente desde la terminal (para sistemas como Parrot o Kali):

sudo apt install burpsuite

Herramientas Necesarias:

Para poder trabajar con BurpSuite vamos a necesitar otras dos herramientas imprescindibles, primero necesitaremos un navegador (preferentemente firefox) y luego también necesitaremos la aplicación o extensión llamada Foxy Proxy. Esta extensión también existe para Chrome.

Descargas Foxy Proxy –> Link

La dinámica será la siguiente, BurpSuite intercepta los datos del Navegador utilizando Foxy Proxy, de esta forma podremos trabajar con estos paquetes interceptados.

Para ello tendremos que configurar BurpSuite y FoxyProxy para establecer entre ellos una comunicación.

Configuración de FoxyProxy:

Una vez instalado FoxyProxy en el navegador, simplemente pulsamos sobre él y luego pulsamos el botón Options.

Captura de pantalla 2022-07-21 004025

Tras abrirse el programa, en la parte izquierda, nos dirigimos a la opción Add.

Captura de pantalla 2022-07-21 003734

De Título podemos poner BurpSuite para poder identificarlo, el color que deseamos (En mi caso verde, que es más vistoso) y ahora vamos a lo importante.

Para poder establecer conexión con BurpSuite vamos a usar un Proxy de tipo HTTP y una dirección Ip 127.0.0.1 (Esta dirección Ip es nuestro localhost) por el puerto 8080.

Captura de pantalla 2022-07-21 003827

Nota: En caso de tener problemas a la hora de capturar el tráfico, tener en cuenta de que no estáis usando el puerto 8080 para otros procesos. En tal caso emplear un puerto distinto o matar el proceso.

Con esto ya tendríamos FoxyProxy configurado, pulsamos guardar save y veremos tras guardas como ya nos aparece nuestro nuevo Proxy en el icono de la extensión si pulsamos encima con el ratón.

Captura de pantalla 2022-07-21 003510

Actualizar BurpSuite:

Es recomendable borrar previamente la versión anterior de BurpSuite e instalar la nueva versión en su directorio /opt/BurpSuiteCommunity/. Descargar el archivo .sh desde su página principal. Luego lo ejecutamos como administrador:

sudo chmod +x BurpSuite.sh

Luego con el siguiente comando procedemos a su instalación:

./BurpSuite.sh

Una vez instalado para ejecutarlo, escribimos BurpSuiteCommunity.

Configuración de BurpSuite:

Para configurar el proxy debemos acceder a la pestaña Proxy -> Options y nos aseguramos que la opción Running esté marcada. Luego introducimos en la columna Interface los mismos datos con los que hemos configurado FoxyProxy, que en nuestro caso es nuestro localhost por el puerto 8080 (127.0.0.1:8080).

Captura de pantalla 2022-07-21 004623

Ya tendríamos configurado BurpSuite y listo para su funcionamiento.

Como Interceptar peticiones básicas.

Para interceptar una petición con BurpSuite, una vez tenemos el FoxyProxy configurado, preparamos la petición que queramos capturar, y activamos FoxyProxy. Luego desde BurpSuite nos dirigimos al apartado Proxy y activamos la casilla en modo Intercept is on.

Captura de pantalla 2022-07-21 005816

Captura de pantalla 2022-07-21 005926

Finalmente, realizamos la petición que queríamos capturar en el navegador y veremos como BupSuite la interceptará.

Capturar o interceptar Respuesta a las peticiones con Burpsuite

Como hemos visto anteriormente, podemos capturar las peticiones de una página web con Burpsuite, pero, y si queremos enviar nuestra petición y capturar la respuesta por parte del servidor? Esto puede ser muy útil a la hora de módificar las peticiones capturadas y ver que respuestas nos reporta el servidor.

Para activar está funcion y poder capturar esas peticiones debemos dirigirnos a Proxy>Options>Intercep Server Responses y marcar la casilla superior que dice Intercep responses based on the following rules: y desmarcamos la opcion marcada que dice Content type header.

Ahora simplemente capturamos una petición, como hemos visto anteriomente, pulsamos Fordwar y nos devolverá la respuesta de nuestra petición.

Evitar Redirects con Burbpsuite

En oscasiones nos encontraremos páginas con vínculos o redirecciones a otras páginas (código de estado 302), esto suele pasar cuando, en vez de utilizar cookies de sesion, nos encontramos con que la página se gestiona a través de redirects.

Con está tecnica evitaremos esas nuevas direcciones, forzando al sistema a devolver un código de estado 200 (código de estado exitoso).En ocasiones al aplicar este cambio, podremos ver partes de la página web que antes no eran posibles.

Para aplicar este ajuste, en primer lugar debemos de tener el Foxyproxy enlazado con Burpsuite. Una vez establecido el túner a través del proxy, capturamos la petición de la página deseada con el Intercept como hemos visto anteriormente.

Realizamos un Forward y veremos la respuesta. Al tratarse de una redirección, veremos como el primer parametro HTTP/1.1 nos reporta el código de estado 302 Found. Para anular la redirección debemos cambiar este parámetro por el de 200 OK.

Captura de pantalla -2022-10-03 00-14-38

Finalmente aplicamos un Forward y veremos como en el navegador se nos despliega una página diferente.

Vamos a tratar de mostrar un ejemplo utilizando la máquina Previse de Hack The Box.

Ejemplo: Capturar, redirigir y evitar redirect.

En la siguiente demostración, utilizaremos la máquina Previse de Hack The Box para tratar de mostrar como una página que nos redirige con un código de estado 302 a una página, nos puede redirigir a otra evitando ese redirect y cambiandolo por un código de estado 200.

En primer lugar, vamos a listar con Wfuzz los ditintos archivos alojados en el servidor para ver el código de estado de cada archivo:

Captura de pantalla -2022-10-02 20-06-45

Para este ejemplo vamos a utilizar dos de los archivos aquí expuestos, podemos ver como el payload status nos devuelve un código de estado 302 y al introducirlo en el navegador nos redirige al payload login que si tiene un código de estado 200 y nos reporta una página de registro.

Captura de pantalla -2022-10-03 00-58-34

Captura de pantalla -2022-10-03 00-58-09

Abrimos Burpsuite, configuramos Foxyproxy y realizamos una captura de la ruta http://10.10.11.104/status.php:

Captura de pantalla -2022-10-03 00-13-41

Captura de pantalla -2022-10-03 00-14-17

Ahora aplicamos un Fordward para capturar la respuesta del servidor y veremos como arriba de todo nos muestra el código de estado, en este caso un 302 Found:

Captura de pantalla -2022-10-03 00-15-46

Captura de pantalla -2022-10-03 00-16-12

Cambiamos el código de estado por un 200 OK:

Captura de pantalla -2022-10-03 00-16-48

Captura de pantalla -2022-10-03 00-17-02

Y realizamos un nuevo Forward para enviar la petición módificada y ver la nueva página forzando el código de estado 200 OK:

Captura de pantalla -2022-10-03 00-17-38

Vemos como ya no nos reporta la página de registro, ahora nos muestra una página de información con el título Status.

Captura de pantalla -2022-10-03 01-02-06