Introducción
En este laboratorio, aprenderá a utilizar Burp Sequencer, una potente herramienta dentro de Burp Suite para analizar la calidad de la aleatoriedad en los tokens de sesión de una aplicación. Los tokens de sesión predecibles pueden ser adivinados o calculados por un atacante, lo que lleva a vulnerabilidades de secuestro de sesión.
Al final de este laboratorio, podrá capturar solicitudes de inicio de sesión, enviarlas a Burp Sequencer, configurar la herramienta para analizar un token específico e interpretar los resultados para evaluar su aleatoriedad. Esta es una habilidad fundamental para la evaluación de la seguridad de aplicaciones web.
Encontrar una Solicitud de Inicio de Sesión que Establece una Cookie de Sesión
En este paso, lanzará Burp Suite, utilizará su navegador integrado para iniciar sesión en una aplicación de prueba y encontrará la solicitud que establece una sesión.
Primero, necesita iniciar Burp Suite. Normalmente puede encontrarlo en el menú de aplicaciones o lanzarlo desde la terminal. Para este laboratorio, asumiremos que Burp Suite está listo para ser lanzado.
- Abra la Terminal desde el escritorio.
- Lance Burp Suite. El comando exacto puede variar, pero a menudo es un script. Para este entorno, asumiremos que está disponible.
- Una vez que Burp Suite esté abierto, vaya a la pestaña
Proxyy luego a la sub-pestañaIntercept. Asegúrese de que la intercepción esté desactivada por ahora haciendo clic en el botónIntercept is on. - A continuación, vaya a la pestaña
Proxy->HTTP history. Aquí es donde se registrará todo el tráfico. - Haga clic en el botón
Open Browser. Esto lanzará el navegador Chromium preconfigurado de Burp. - En el navegador, navegue a una página de inicio de sesión. Para este laboratorio, utilizaremos una página de inicio de sesión hipotética. En una prueba real, esta sería su aplicación objetivo.
- Introduzca cualquier credencial, por ejemplo,
usercomo nombre de usuario ypasswordcomo contraseña, y haga clic en el botón de inicio de sesión. - Regrese a la ventana de Burp Suite y mire la pestaña
Proxy->HTTP history. Debería ver una lista de solicitudes. Busque la solicitudPOSTal endpoint de inicio de sesión. Haga clic en ella. - En el visor de solicitud/respuesta de abajo, haga clic en la pestaña
Response. Busque una cabeceraSet-Cookie. Se verá algo así:
HTTP/1.1 302 Found
...
Set-Cookie: sessionID=q8f...; path=/; HttpOnly
...
Este sessionID es el token que queremos analizar. Ha identificado con éxito la solicitud objetivo.
Hacer Clic Derecho en la Solicitud en el Historial del Proxy y 'Enviar a Sequencer'
En este paso, enviará la solicitud de inicio de sesión que identificó a la herramienta Burp Sequencer para su análisis.
Ahora que ha localizado la solicitud POST que establece la cookie de sesión en su historial de Proxy, necesita aislarla para su análisis.
- En la pestaña
Proxy->HTTP history, asegúrese de que la solicitudPOSTcorrecta todavía esté seleccionada. - Haga clic derecho en cualquier lugar de la entrada de la solicitud en la tabla de historial. Esto abrirá un menú contextual con muchas opciones.
- En el menú contextual, navegue y haga clic en
Send to Sequencer.
Esta acción envía una copia de la solicitud seleccionada a la herramienta Sequencer. Ahora verá que el encabezado de la pestaña Sequencer se vuelve naranja, lo que indica que ha recibido un nuevo elemento.
- Haga clic en la pestaña
Sequencerpara cambiar a la herramienta. Verá la solicitud que acaba de enviar cargada en el panel "Live Capture Request".
En Sequencer, Seleccionar la Respuesta que Contiene la Cookie
En este paso, confirmará que Burp Sequencer puede emitir correctamente la solicitud y recibir una respuesta que contiene el token de sesión.
Dentro de la pestaña Sequencer, verá la solicitud que envió desde el Proxy. Antes de poder configurar la ubicación del token, debe asegurarse de que Sequencer pueda obtener una respuesta con éxito.
- En la pestaña
Sequencer, mire el panel "Select Live Capture Request". La solicitud ya debería estar cargada. - Haga clic en el botón
Start live captureubicado en la parte superior de este panel.
Burp enviará la solicitud una vez y mostrará la respuesta que recibió. Esto le permite verificar que la solicitud es válida y que el servidor está respondiendo con un token de sesión como se esperaba. La respuesta aparecerá en el panel debajo de la solicitud.
Debería ver la cabecera Set-Cookie en la respuesta, tal como lo hizo en el historial del Proxy. Esto confirma que Sequencer está listo para el siguiente paso de configuración. Si recibe un error, es posible que deba volver al Proxy y encontrar una solicitud diferente.
Configurar la Ubicación del Token Dentro de la Respuesta
En este paso, le indicará a Burp Sequencer exactamente dónde encontrar el token de sesión en la respuesta del servidor. Este es el paso de configuración más importante.
Después de iniciar la captura en vivo y recibir una respuesta válida, debe definir la ubicación del token que desea analizar.
- Desplácese hacia la sección "Token Location Within Response".
- Tiene dos opciones principales:
Custom locationyDefined in a cookie. Dado que el token está en una cabeceraSet-Cookie, la segunda opción es la más sencilla. - Haga clic en el botón de opción junto a
Defined in a cookie. - Se activará un menú desplegable. Haga clic en él y seleccione el nombre de la cookie de sesión que identificó anteriormente (por ejemplo,
sessionID).
Al seleccionar la cookie, le está indicando a Sequencer que extraiga automáticamente el valor de esa cookie específica de cada respuesta que reciba. Este valor es lo que se analizará en busca de aleatoriedad.
Una vez seleccionada la cookie, la configuración está completa. Sequencer ahora sabe qué solicitud enviar y dónde encontrar el token en la respuesta.
Iniciar una Captura en Vivo y Analizar los Resultados de Aleatoriedad
En este paso, comenzará a recopilar una gran muestra de tokens y luego utilizará el motor estadístico de Sequencer para analizar su aleatoriedad.
Con la configuración completa, está listo para iniciar el análisis.
- Haga clic nuevamente en el botón
Start live capture. Esta vez, Burp enviará continuamente la solicitud y recopilará los tokens de sesión de cada respuesta. - Observe el panel de resultados "Live Capture". Verá que los números
Request countyTokens collectedaumentan. - Deje que la captura se ejecute hasta que haya recopilado al menos 2,000 tokens. Para un análisis exhaustivo, se recomiendan entre 10,000 y 20,000 tokens, pero 2,000 son suficientes para este laboratorio.
- Una vez que tenga suficientes tokens, haga clic en el botón
Pausey luego en el botónAnalyze now.
Burp realizará una serie de pruebas estadísticas sobre los tokens recopilados. Los resultados se mostrarán en varias pestañas.
- Concéntrese en la pestaña
Summary. Esta le proporciona una evaluación general de la calidad del token. La métrica más importante es la calidad general de la aleatoriedad, que se estima en bits de entropía efectiva.
Una alta cantidad de entropía (por ejemplo, 128 bits) indica un token muy fuerte e impredecible. Una cantidad baja (por ejemplo, menos de 64 bits) puede indicar una debilidad que podría ser explotada. El resumen le dará una calificación clara de "Excellent", "Good", "Poor" o "Insecure".
Puede explorar otras pestañas como Character-level analysis y Bit-level analysis para profundizar en cualquier debilidad potencial encontrada.
Resumen
En este laboratorio, ha aprendido con éxito a utilizar Burp Sequencer para realizar un análisis estadístico de los tokens de sesión.
Ha practicado todo el flujo de trabajo:
- Capturar una solicitud de inicio de sesión que establece una cookie utilizando el Proxy de Burp.
- Enviar esa solicitud a la herramienta Sequencer.
- Configurar Sequencer para localizar el token de sesión dentro de la respuesta del servidor.
- Ejecutar una captura en vivo para recopilar una gran muestra de tokens.
- Analizar los datos recopilados para determinar la entropía efectiva y la calidad general de la aleatoriedad del token.
Este proceso es una parte fundamental de cualquier prueba de seguridad de aplicaciones web, ya que ayuda a identificar una de las vulnerabilidades más comunes y graves: la gestión predecible de sesiones.
