Comparar dos mapas de sitios en Burp Suite

Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a utilizar una de las potentes funciones de Burp Suite: "Comparar mapas de sitios" (Compare site maps). Esta función es esencial para las pruebas de seguridad de aplicaciones web, especialmente para identificar vulnerabilidades de autorización. Al comparar la estructura y el contenido del sitio accesibles para usuarios con diferentes niveles de privilegios, puede detectar rápidamente puntos finales (endpoints) o datos que están expuestos de forma inadecuada.

Realizará las siguientes acciones:

  1. Iniciar una aplicación web local simple con dos roles de usuario: un usuario estándar y un administrador.
  2. Utilizar el navegador integrado de Burp Suite para explorar la aplicación como un usuario de bajo privilegio.
  3. Iniciar el proceso de comparación de mapas de sitios, guardando la vista del usuario de bajo privilegio como el primer mapa.
  4. Iniciar sesión como un usuario de alto privilegio y explorar la aplicación nuevamente para poblar el mapa de sitios con nuevas funciones administrativas.
  5. Completar la comparación y analizar los resultados para identificar el contenido y los puntos finales accesibles solo para el administrador.

Explorar una Aplicación como Usuario de Bajo Privilegio

En este paso, iniciará Burp Suite, configurará su navegador y explorará la aplicación de destino como un usuario estándar de bajo privilegio. Esto poblará el mapa de sitios de Burp con todos los puntos finales (endpoints) y recursos accesibles para este usuario.

Primero, abra Burp Suite. Puede encontrarlo en el menú de aplicaciones, generalmente en Aplicaciones -> Otro -> Burp Suite Community Edition. Cuando se le solicite, seleccione un proyecto temporal y haga clic en Siguiente (Next), luego en Iniciar Burp (Start Burp).

Una vez que Burp Suite esté en funcionamiento, deberá utilizar su navegador integrado para asegurarse de que todo el tráfico se proxy correctamente.

  1. Vaya a la pestaña Proxy, luego a la sub-pestaña Intercept.
  2. Haga clic en el botón Abrir Navegador (Open Browser). Se abrirá una nueva ventana del navegador Chromium.

Ahora, utilice este navegador para interactuar con la aplicación web.

  1. En la barra de direcciones del nuevo navegador, navegue a http://127.0.0.1:5000.
  2. Verá una página de inicio de sesión. Introduzca user como nombre de usuario y password como contraseña.
  3. Haga clic en el botón Iniciar Sesión (Login).
  4. Será redirigido al panel de control del usuario. Haga clic en los enlaces si los hay, pero para esta aplicación sencilla, basta con ver el panel de control.

Ahora, vuelva a la ventana principal de Burp Suite y navegue a la pestaña Target -> Site map. Verá la estructura de la aplicación mapeada según su navegación.

En Target > Site map, Seleccionar el Host y 'Comparar mapas de sitios'

En este paso, iniciará el proceso de comparación de mapas de sitios. Ya ha poblado el mapa de sitios con la perspectiva de un usuario de bajo privilegio. Ahora, le indicará a Burp Suite que desea utilizar este mapa actual como el primer punto de comparación.

  1. En la ventana de Burp Suite, asegúrese de estar en la pestaña Target -> Site map.
  2. En el panel izquierdo, verá una vista de árbol de los sitios que ha visitado. Busque y seleccione el host de nuestra aplicación, que es http://127.0.0.1:5000.
  3. Haga clic derecho en el host http://127.0.0.1:5000. Esto abrirá un menú contextual con muchas opciones.
  4. En el menú contextual, navegue a Engagement tools y luego haga clic en Compare site maps.

Esta acción abrirá el asistente "Comparar mapas de sitios" (Compare site maps), que le guiará a través de la configuración de la comparación.

(Descripción de la imagen: Una captura de pantalla que muestra el menú contextual de clic derecho en el mapa de sitios de Burp Suite, con el cursor resaltando la opción 'Compare site maps' bajo 'Engagement tools'.)

En el Asistente, Seleccionar 'Usar mapa de sitio actual' para Mapa 1

En este paso, configurará el primero de los dos mapas de sitios para la comparación. El asistente que abrió en el paso anterior le permite definir la fuente para ambos mapas.

El asistente "Comparar mapas de sitios" (Compare site maps) ya está abierto. Tiene dos secciones principales, una para "Mapa de sitio 1" (Site map 1) y otra para "Mapa de sitio 2" (Site map 2). Configurará el primer mapa ahora y el segundo mapa más tarde.

  1. En el área de configuración de "Mapa de sitio 1" (Site map 1), verá varias opciones sobre dónde cargar el mapa.
  2. Seleccione el botón de opción etiquetado como Usar mapa de sitio actual (Use current site map). Esto le indica a Burp que tome una instantánea del mapa de sitios tal como existe en este momento (reflejando la sesión del usuario de bajo privilegio) y la utilice como línea base para la comparación.
  3. No haga clic en Aceptar (OK) todavía. El asistente debe configurarse para ambos mapas. Por ahora, ha configurado el primer mapa. Dejará este asistente abierto mientras realiza las siguientes acciones.

Ahora ha definido con éxito el primer mapa de sitios para la comparación. El asistente esperará a que usted defina el segundo mapa.

Iniciar sesión como Usuario con Privilegios Elevados y Volver a Solicitar el Mapa de Sitio

En este paso, cambiará a una cuenta de usuario con privilegios elevados y navegará por la aplicación nuevamente. Esto agregará nuevos puntos finales (endpoints) exclusivos para administradores al mapa de sitios de Burp, que es exactamente lo que queremos detectar en la comparación.

  1. Regrese a la ventana del navegador Chromium incrustado en Burp.
  2. Navegue de regreso a la página de inicio de sesión en http://127.0.0.1:5000. Esto efectivamente cerrará su sesión de la cuenta de 'usuario'.
  3. En la página de inicio de sesión, ingrese admin para el nombre de usuario y adminpassword para la contraseña.
  4. Haga clic en el botón Login.
  5. Será redirigido al panel de control (dashboard), que ahora muestra un mensaje de bienvenida para el usuario 'admin' e incluye un nuevo enlace: Go to Admin Panel.
  6. Haga clic en el enlace Go to Admin Panel. Esto lo llevará a la página /admin, que no era accesible para el usuario estándar.

Al realizar estas acciones, ha hecho que Burp Suite registre solicitudes a nuevos puntos finales (endpoints) (como /admin) y vea respuestas diferentes para puntos finales existentes (como /dashboard). El mapa de sitios en vivo en Burp ahora está actualizado con esta nueva información.

Seleccionar 'Usar mapa de sitio actual' para Mapa 2 y Ver las Diferencias

En este paso final, completará la configuración de la comparación y analizará los resultados para encontrar las diferencias entre las sesiones de bajo y alto privilegio.

  1. Regrese a la ventana de Burp Suite, donde el asistente "Comparar mapas de sitios" (Compare site maps) aún debería estar abierto.
  2. Ahora concéntrese en el área de configuración de "Mapa de sitio 2" (Site map 2).
  3. Tal como hizo para el primer mapa, seleccione el botón de opción etiquetado como Usar mapa de sitio actual (Use current site map). Esta vez, el mapa "actual" contiene todas las solicitudes de ambas sesiones, la de bajo y la de alto privilegio.
  4. Haga clic en el botón Aceptar (OK) para ejecutar la comparación.

Aparecerá una nueva ventana "Comparación de mapas de sitios" (Site map comparison), mostrando los resultados. Esta ventana tiene tres paneles principales que muestran:

  • Elementos solo en el mapa 1 (Items only in map 1): Puntos finales (endpoints) que existían en la primera sesión pero no en la segunda.
  • Elementos solo en el mapa 2 (Items only in map 2): Puntos finales (endpoints) que solo se descubrieron en la segunda sesión. Aquí es donde encontrará problemas de autorización.
  • Elementos con respuestas diferentes (Items with different responses): Puntos finales (endpoints) a los que ambos usuarios podían acceder, pero que devolvieron contenido diferente.

Mire la lista "Elementos solo en el mapa 2" (Items only in map 2). Debería ver el punto final /admin. Esto le indica inmediatamente que la página /admin solo es accesible o descubrible por el usuario con privilegios elevados.

Haga clic en la entrada /dashboard en la lista "Elementos con respuestas diferentes" (Items with different responses). En la parte inferior, puede ver la solicitud y la respuesta para cada mapa. Utilice el botón Diff para ver una comparación lado a lado, que resaltará el enlace adicional "Go to Admin Panel" disponible para el administrador.

Resumen

En este laboratorio, ha utilizado con éxito la función "Comparar mapas de sitios" (Compare site maps) de Burp Suite para analizar los controles de acceso de una aplicación. Aprendió a capturar sistemáticamente el estado de una aplicación desde la perspectiva de dos usuarios diferentes y luego compararlos para identificar automáticamente las diferencias.

Específicamente, descubrió un punto final administrativo (/admin) que no era visible para un usuario estándar, un ejemplo clásico de una vulnerabilidad de autorización que esta técnica ayuda a descubrir. Este método es una parte fundamental de una evaluación exhaustiva de la seguridad de aplicaciones web, lo que le permite mapear eficientemente la superficie de ataque y encontrar posibles fallos de seguridad.