Burp Suite I: La Navaja Suiza del Pentester

Buenos días Hackers!

En el día de hoy, vengo para anunciaros, que a partir de hoy, voy a comenzar una serie de entradas sobre una de las herramientas fundamentales dentro de la seguridad informática y que sin duda, es considerada la navaja suiza del pentester: Burp Suite.

Es probable que muchos de vosotros conozcáis esta herramienta, por lo que quizás estas entradas no os sean tan útiles como otras, sin embargo, si no la conocéis, o si queréis profundizar en algunas de las funcionalidades que incluye Burp Suite, creo que es una buena ocasión para aprender!
Por supuesto, estoy abierto a cualquier sugerencia y/o corrección sobre las mismas, y en los comentarios podéis dejar sugerencias sobre alguna prueba de concepto que queráis que os muestre.

 


Contenido:

  • Introducción a Burp Suite
  • Instalación y Configuración
  • Foxy Proxy
  • Interceptando peticiones
  • Certificado Digital
  • Torificando Burp Suite

 

Introducción a Burp Suite

Burp Suite es una herramienta utilizada principalmente para las auditorías de seguridad en aplicaciones web,  que permite combinar pruebas tanto automáticas. como manuales y que dispone de un gran número de funcionalidades.

Creada por la empresa PortSwigger, dispone de una versión gratuita (Burp Free) y una versión de pago (Burp Professional). Actualmente la licencia anual de pago cuesta 329€ y no seré yo quien os diga que se puede encontrar Internet algunas versiones «crackeadas» (cuidado con los bichitos).
Durante esta serie de entradas, utilizaremos la versión Burp Professional, ya que nuestra finalidad es mostrar todas las funcionalidades incluidas.

Entre las principales funcionalidades incluidas en esta herramienta encontramos:

  • Target: permite fijar un objetivo y construir un SiteMap a partir de él.
  • Proxy: un proxy entre navegador e Internet, que permite interceptar las peticiones e inspeccionar el tráfico.
  • Spider: una araña que inspecciona las páginas web y recursos de la aplicación de manera automatizada.
  • Scanner: escaner avanzado para aplicaciones web, que permite detectar diferentes tipos de vulnerabilidades tanto de forma pasiva como activa.
  • Intruder: permite realizar automatizar procesos: fuzzing de la aplicación, ataques de fuerza bruta o diccionario, ataques SQLi, XSS, enumeración de usuarios y directorios, etc.
  • Repeater: permite manipular las peticiones interceptadas, modificando parámetros y cabeceras de las peticiones para después replicarlas nuevamente.
  • Secuencer: permite analizar la aleatoriedad de los tokens de sesión. Muy útil para obtener cookies y tokens CSRF por fuerza bruta.
  • Decoder: utilizado para codificar y decodificar parámetros, URLs, hashes, etc.
  • Comparer: compara los datos de peticiones y respuestas.
  • Extender: para customización de plugins y realización de ataques personalizados.

 

Instalación y Configuración

Lo primero que debemos hacer es instalar la herramienta. Para realizar la descarga, debéis entrar en la web oficial: https://portswigger.net/burp/download.html y descargarlo en el formato y para el sistema operativo que queráis.

En mi caso, voy a utilizarlo desde Windows, pero los que tenéis por ejemplo Kali Linux, esta herramienta ya viene incluida dentro de la propia distribución.

Para configurar Burp Suite lo primero que debemos tener en cuenta es la correcta configuración del proxy, ya que sin esto, no podremos utilizar nuestra herramienta.

El proxy se encontrará en medio de la comunicación entre los navegadores y el servidor web de la página que estamos auditando.
Para ello, abrimos Burp Suite y accedemos a la pestaña Proxy -> Options y nos aseguramos que la opción Running esté marcada y seleccionamos el puerto que queramos  utilizar (por defecto 127.0.0.1:8080).
En mi caso, lo he dejado en el puerto 8080, pero podríamos poner cualquiera (p.e. 8081).

 

Toca configurar el navegador, para ello, deberemos elegir el navegador que queramos, en mi caso voy a utilizar Firefox, pero podéis utilizar el que queráis.
Simplemente, deberemos ir a Opciones -> Avanzado -> Red -> Configuración

En configuración manual del proxy, ponemos localhost (127.0.0.1) y puerto 8080 (esta configuración debe ser la misma que hemos puesto en el proxy de Burp Suite).


Esta sería la configuración básica del proxy, sin embargo, cada vez que queramos navegar sin utilizar el proxy de Burp, deberemos entrar de nuevo a este menú y deshabilitarlo, lo cual hace que sea un auténtico coñazo.
Como solución a este problema, utilizaremos FoxyProxy Standard.

Foxy Proxy

Foxy Proxy es un administrador avanzado de proxies que permite derivar su conexión de Internet a diferentes servidores Proxy bajo patrones de URL. Antes de configurarlo, deberemos descargar e instalar el complemento desde aquí: https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ (También disponible para Chrome).

En mi caso ya tengo configurado el proxy de burp (color naranja), pero simplemente debemos añadir un nuevo proxy:

 

En la pestaña General, le ponemos el nombre que queramos (en mi caso: «Burp») y le asignamos un color (en mi caso: naranja).


En la pestaña Detalles, seleccionamos el host o IP y el puerto (recordar usar la misma que pusimos en Burp Suite).


Por último, FoxyProxy nos permite añadir o eliminar direcciones para las que se usará el proxy (listas blancas/listas negras). Como ejemplo, he añadido cualquier dominio de la NSA a la lista negra (no queremos que nos vengan a buscar :D).


 

Interceptando peticiones

En este punto, y para comprobar que hemos configurado correctamente BurpSuite…
1- Abrimos nuestro Burp, y para empezar a interceptar peticiónes marcamos Proxy -> Intercept is on

Navegamos por cualquier web, y bingo!! Nuestra petición ha sido interceptada…podemos ver como se genera la petición, donde se incluyen parámetros importantes como Host, User-Agent y Cookies (entre otros).

Más adelante, veremos que más se puede hacer con esto…que es muy interesante!

 

Certificado Digital

La configuración que tenemos hasta ahora, nos permite navegar por cualquier web independientemente del protocolo que utilice (HTTP/HTTPS), sin embargo, en el caso de acceder a una web que utilice protocolo HTTPS, el navegador (Firefox en este caso), nos avisará que la página no es confiable y nos obligará a añadir la excepción cada vez que utilicemos este protocolo (lo cual es un coñazo).

 

Para solucionar este problema, deberemos exportar el certificado de Burp Suite al navegador. Para ello, primero obtendremos el certificado desde nuestro Burp Suite accediendo a la pestaña Proxy -> Options  y pulsando en CA CERTIFICATE.

 

Se nos abrirá una nueva ventana donde marcaremos la opción Export -> Certificate in DER Format y lo guardaremos en nuestro ordenador.

Ahora solo queda importarlo en el navegador , para ello abrimos el navegador y vamos a Preferencias -> Avanzado -> Ver certificados -> Importar y seleccionamos el certificado previamente guardado….problema resuelto!

 

 

Torificando Burp Suite

Como casi todas las herramientas, Burp Suite permite añadir una capa de protección extra, torificando las conexiones y anonimizando nuestras peticiones y escaneos. ¿Como se hace esto?, muy sencillo…

Navegador

Lo primero que debemos saber es el puerto en el que recibe el servidor TOR la conexión. Para ello abrimos el navegador TOR Browser, accedemos a Preferencias -> Avanzado -> Red -> Configuración y observamos que la IP es 127.0.0.1 (loopback), puerto 9150 y tipo SOCKSv5.

 

 Burp Suite

Ahora deberemos replicar esta configuración en Burp Suite, para ello accedemos a Options -> Connections y configuramos de nuevo IP:Puerto, marcando la opción Use SOCKS proxy

 

Tras este proceso, podremos comprobar en la pestaña Alerts, que nuestras peticiones ahora salen a través de TOR.

 

Y con esto, terminamos la entrada de hoy. Como podéis ver, en esta entrada hemos aprendido como instalar y configurar Burp Suite. Ha sido una entrada de iniciación, pero en las próximas entradas, comenzaremos a jugar con las distintas funcionalidades de esta herramienta, y comenzaremos a ver pruebas de concepto muy, pero muy divertidas…!!

Quiero aprovechar esta entrada para dar las gracias a SniferL4bs, ya que sin duda, sus entradas sobre Burp Suite han sido de gran ayuda para mí..!

Un saludo y happy hacking!!! 🙂

Diego Jurado (@djurado9)

 

«Sin desviación de la norma, el progreso no es posible» – Frank Zappa.

4 comentarios en «Burp Suite I: La Navaja Suiza del Pentester»

  1. Muy buenas!
    Muchas gracias por el tuto. Tengo una duda/problema. Cuando «torizo» la conexión, con la ip de loopback y el mismo puerto que te aparece a ti (comprobado en mi máquina) en la parte de ALERTS de Burp Suit me aparece:
    ———
    1491421921740 Proxy Connection refused (Connection refused)
    1491421949041 Proxy java.net.SocketException: Connection refused (Connection refused)
    ———-

    Entiendo que tengo que dejar el navegador TOR abierto para esto no?

    Gracias

  2. Buenas jask,
    Me alegro que te haya gustado la entrada…respecto a lo que comentas, con la configuración de esta entrada, debería funcionar, es más, funciona porque lo acabo de comprobar.
    Se me ocurre que estés utilizando ese mismo puerto para algún otro servicio, y que por ello tenga algún tipo de conflicto, aunque me resulta raro.

    Asegúrate de que la configuración es correcta (tanto en burp como tor browser), y si el problema persiste, puedes hablarme por el grupo de la comunidad de Telegram: https://t.me/Fwhibbit y lo miramos!

    Saludos compañero!

Los comentarios están cerrados.