Burp Suite III: Intercepter & Repeater

Publicada en Publicada en Análisis de vulnerabilidades, Auditoría y CTF, Hacking Web, Pentesting

Burp Suite I: La Navaja Suiza del Pentester

Burp Suite II: Construyendo un objetivo, Sitemap & Spider

Burp Suite III: Interceptar & Repeater

 

Buenos días!!

Hoy os traigo la tercera entrega de la serie Burp Suite, donde veremos dos de las funcionalidades básicas y más importantes de esta herramienta, el Intercepter y el Repeater.

Ya llevaba un buen tiempo sin escribir, y creo que mis hermanos conejos se estaban empezando a mosquear...esta mañana he visto un par de sicarios debajo de mi casa, así que me he visto obligado a continuar esta saga de entradas!

 

Bromas aparte...comenzamos!

 

Intercepter

Como ya vimos en anteriores entradas, la función básica de Burp Suite es actuar como proxy. De esta manera, podremos interceptar las peticiones durante nuestra auditoria web, y de esta forma, modificar los parámetros y cabeceras a nuestro gusto.

Para que se entienda mejor, vamos a verlo con un ejemplo. En este ejemplo básico, vamos a utilizar Burp Suite para explotar una vulnerabilidad Cross-Site Scripting presente en la máquina DVWA (Damn Vulnerable Web Application).

Entramos en la aplicación y nos encontramos el siguiente formulario:

 

Supondremos que estamos auditando un sistema en modalidad de Caja Negra, es decir, no tenemos nada de información sobre el funcionamiento interno de la aplicación, ni tenemos el código fuente de la web, por lo que trataremos de explotar la vulnerabilidad analizando las respuestas del servidor.

A modo de prueba, introducimos la cadena test en el formulario e interceptamos la petición con Burp Suite. Para ello simplemente debemos habilitar el Intercepter desde la pestaña Proxy, como vemos en la siguiente imagen:

En la siguiente imagen vereoms la petición interceptada. Observamos que la aplicación web realiza una petición GET, que incluye el parámetro name, donde hemos introducido la cadena test.

Podríamos modificar directamente el parámetro, las cookies o las cabeceras, pero lo primero que nos interesa es ver la respuesta que devuelve el servidor.

Si analizamos la respuesta del servidor, observamos como la cadena introducida en el input, se refleja en la respuesta de la aplicación web.

 

Ahora, para explotar la vulnerabilidad, vamos a inyectar el siguiente código JavaScript en el input del formulario: <script>alert("Hacked by Fwhibbit");</script>

Para visualizar la petición y la respuesta de forma conjunta, hemos enviado la petición capturada por el Intercepter directamente al Repeater. (más adelante explicaré su funcionalidad).

Si observamos bien la respuesta, el código JavaScript se refleja en la respuesta, y no se ha realizado ningún tipo de validación por parte del servidor.

Efectivamente, se replica nuestro Cross-Site Scripting (Reflejado) en la aplicación web.

Este es un ejemplo muy básico, de los más básicos que podemos encontrar, pero el objetivo de esta prueba no es explotar vulnerabilidades sino comprender el funcionamiento y la utilidad del Intercepter de Burp. En futuras entradas daremos uso a esta funcionalidad para el descubrimiento de vulnerabilidades más importantes.

Por supuesto, esto no es necesario para explotar la vulnerabilidad, pero si que sirve de ayuda, sobre todo cuando nos encontramos con casos más complejos.

 

Repeater

Como hemos visto un poco más arriba, el Repeater nos permite ejecutar las peticiones, modificarlas y analizar su comportamiento.
Si queremos enviar una petición al repeater, simplemente pulsamos con el boton derecho > Send to Repeater.

En este punto, todo se simplifica, ya que únicamente debemos comenzar a modificar las peticiones (cabeceras, parámetros, cookies, etc) y lanzar la petición para analizar su respuesta. Para lanzar la petición pulsamos en el botón "Go".

Como podemos comprobar en la siguiente imagen, esta funcionalidad también es muy útil para analizar las cabeceras de respuesta del servidor, en busca de información de utilidad.

En este caso, obtenemos información sobre el servidor (Apache 2.4.18 /Ubuntu), lo cual se podría reportar en una auditoria web como "Fingerprinting" (entraremos en detalle en futuras entradas).

 

 

En el ejemplo anterior vemos la petición en Raw, pero tenemos otras pestañas para ver los parámetros (Params) sobre los que podremos inyectar y las cabeceras (Headers).

 

Un detalle importante, y tal y como vimos en anteriores entradas de esta serie, si observamos en la pestaña Target, obtenemos un resumen del host que estamos analizando y las vulnerabilidades encontradas (tanto pasiva como activamente).

Como no podía ser menos, la vulnerabilidad de Cross-Site Scripting ha sido detectada por Burp Suite.

 

 

Con esto finalizamos la entrada de hoy, espero que os haya gustado! Esta vez no prometo tardar poco en traeros la próxima entrada, ya que no me gusta romper mis promesas y al final vuelvo a golpes de latigazo.
Lo que si que prometo es no tardar tanto y sobretodo, traeros más ejemplos prácticos en las próximas entregas 🙂

Saludos y Happy Hacking!

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *