Introducción
Burp Intruder es una potente herramienta dentro de Burp Suite para automatizar ataques personalizados contra aplicaciones web. Es altamente configurable y puede utilizarse para realizar una amplia gama de tareas, desde simples intentos de fuerza bruta hasta escaneos de vulnerabilidades complejos.
Una de las características clave de Intruder son sus diferentes tipos de ataque. El tipo de ataque "Cluster Bomb" es particularmente útil cuando un ataque requiere probar múltiples entradas distintas en combinación. Utiliza múltiples conjuntos de payloads, uno para cada posición definida, e itera a través de cada combinación posible de payloads. Esto es ideal para escenarios como la fuerza bruta de un formulario de inicio de sesión donde tienes una lista de nombres de usuario potenciales y una lista separada de contraseñas potenciales.
En este laboratorio, aprenderá a configurar y ejecutar un ataque Cluster Bomb utilizando Burp Intruder para descubrir una combinación válida de nombre de usuario y contraseña en una página de inicio de sesión de ejemplo.
Enviar una Solicitud de Inicio de Sesión a Intruder
En este paso, iniciará Burp Suite y un navegador web, luego capturará una solicitud de inicio de sesión y la enviará a Burp Intruder para su posterior análisis.
Primero, necesita iniciar Burp Suite.
- Haga clic en el menú Application en la esquina superior izquierda del escritorio.
- Navegue a
Other->Burp Suite Community Edition.
Burp Suite se iniciará. Seleccione "Temporary project" y haga clic en "Next", luego haga clic en "Start Burp".
A continuación, abra el navegador web Firefox y configúrelo para usar Burp Suite como proxy.
- Haga clic en el menú Application ->
Internet->Firefox Web Browser. - En Firefox, vaya a
Settings->General->Network Settingsy haga clic enSettings.... - Seleccione
Manual proxy configuration. - Establezca
HTTP Proxyen127.0.0.1yPorten8080. - Marque la casilla
Also use this proxy for HTTPS. - Haga clic en
OK.
Ahora, navegue a la página de inicio de sesión de destino. En la barra de direcciones de Firefox, introduzca:
http://127.0.0.1:5000/login
Debería ver un formulario de inicio de sesión simple. En Burp Suite, vaya a la pestaña Proxy, luego a la sub-pestaña Intercept, y asegúrese de que la intercepción esté activada (el botón debería decir "Intercept is on").
De vuelta en Firefox, introduzca test como nombre de usuario y test como contraseña, y haga clic en el botón Login. La solicitud será capturada en la pestaña Proxy -> Intercept de Burp.
Ahora, envíe esta solicitud capturada a Intruder.
- Haga clic derecho en cualquier lugar del panel de la solicitud.
- Seleccione
Send to Intruderen el menú contextual. - Verá que la pestaña
Intruderse resalta, indicando que la solicitud ha sido enviada.
Ahora puede desactivar la intercepción haciendo clic en el botón "Intercept is on" en la pestaña Proxy -> Intercept.
Añadir Marcadores de Payload a los Campos de Nombre de Usuario y Contraseña
En este paso, configurará las posiciones de los payloads en Burp Intruder. Las posiciones de los payloads le indican a Intruder dónde colocar los payloads durante el ataque. Para un ataque Cluster Bomb en un formulario de inicio de sesión, necesitamos dos posiciones: una para el nombre de usuario y otra para la contraseña.
Navegue a la pestaña Intruder en Burp Suite. Verá cuatro sub-pestañas: Target, Positions, Payloads y Options. Haga clic en la pestaña Positions.
La solicitud que envió desde el Proxy se muestra aquí. Burp Intruder intenta automáticamente adivinar dónde deberían ir los payloads y añade marcadores de payload (§...§). Borraremos estos y estableceremos los nuestros para un mejor control.
- Haga clic en el botón
Clear §en el lado derecho de la ventana. Esto elimina todos los marcadores de payload añadidos automáticamente. - En el editor de solicitudes, busque la línea con el parámetro de nombre de usuario:
username=test. - Resalte cuidadosamente solo el valor
test. - Haga clic en el botón
Add §. La línea ahora debería verse comousername=§test§. - A continuación, busque la línea con el parámetro de contraseña:
password=test. - Resalte solo el valor
test. - Haga clic en el botón
Add §nuevamente. La línea ahora debería verse comopassword=§test§.
Ahora ha definido dos posiciones de payload. Burp Intruder sustituirá datos en estas ubicaciones marcadas durante el ataque.
Establecer el Tipo de Ataque a 'Cluster Bomb'
En este paso, seleccionará el tipo de ataque apropiado para nuestro objetivo. Burp Intruder ofrece cuatro tipos de ataque, cada uno con un propósito diferente:
- Sniper: Utiliza un único conjunto de payloads y se dirige a una posición a la vez.
- Battering Ram: Utiliza un único conjunto de payloads y coloca el mismo payload en todas las posiciones simultáneamente.
- Pitchfork: Utiliza múltiples conjuntos de payloads, colocando un payload de cada conjunto en la posición correspondiente.
- Cluster Bomb: Utiliza múltiples conjuntos de payloads y prueba todas las combinaciones de payloads.
Para nuestro escenario, queremos probar cada contraseña posible de una lista contra cada nombre de usuario posible de otra lista. El tipo de ataque Cluster Bomb es perfecto para esto.
En la pestaña Intruder -> Positions, localice el menú desplegable Attack type en la parte superior de la pantalla.
- Haga clic en el menú desplegable.
- Seleccione
Cluster Bombde la lista.
Observe que después de seleccionar Cluster Bomb, la pestaña Payloads ahora le permite configurar múltiples conjuntos de payloads, correspondientes al número de marcadores de payload que definió en el paso anterior. En nuestro caso, tendremos dos conjuntos de payloads para configurar.
Configurar Dos Listas de Payloads (Nombres de Usuario y Contraseñas)
En este paso, proporcionará las listas de posibles nombres de usuario y contraseñas que Intruder utilizará para el ataque.
Navegue a la pestaña Intruder -> Payloads.
Dado que seleccionó el tipo de ataque Cluster Bomb y definió dos posiciones de payload, ahora puede configurar dos listas de payloads separadas.
Primero, configure la lista de nombres de usuario (Conjunto de payloads 1):
- Asegúrese de que el menú desplegable
Payload setesté configurado en1. Esto corresponde al primer marcador§que añadió (el nombre de usuario). - En
Payload Options, haga clic en el botónAdd. - Introduzca los siguientes nombres de usuario potenciales, uno por línea:
userguestadminroot
A continuación, configure la lista de contraseñas (Conjunto de payloads 2):
- Cambie el menú desplegable
Payload setde1a2. Esto corresponde al segundo marcador§(la contraseña). - En
Payload Options, haga clic en el botónAdd. - Introduzca las siguientes contraseñas potenciales, una por línea:
password123456qwertypassword123
Ahora ha configurado Intruder para probar cada combinación de estas dos listas. Realizará un total de 4 (nombres de usuario) x 4 (contraseñas) = 16 solicitudes.
Ejecutar el Ataque para Probar Cada Combinación de Payloads
En este paso, lanzará el ataque y analizará los resultados para encontrar las credenciales de inicio de sesión correctas.
- En la esquina superior derecha de la pestaña
Intruder, haga clic en el botónStart attack. - Se abrirá una nueva ventana titulada "Intruder attack" y el ataque comenzará inmediatamente.
Esta nueva ventana muestra una tabla de resultados. Verá las solicitudes enviándose y la tabla se irá poblando con los resultados. Las columnas clave a observar son:
Payload 1: El nombre de usuario utilizado para esa solicitud.Payload 2: La contraseña utilizada para esa solicitud.Status: El código de estado HTTP de la respuesta (por ejemplo, 200 para OK, 401 para Unauthorized).Length: El tamaño del cuerpo de la respuesta en bytes.
Un inicio de sesión exitoso probablemente resultará en una respuesta diferente a uno no exitoso. Esta diferencia se puede ver en el código Status o en la Length.
Revise los resultados. Debería notar que una solicitud tiene una Length y un Status diferentes en comparación con las demás. La mayoría de los intentos resultarán en un estado 401 Unauthorized, pero el correcto será 200 OK. La Length de la respuesta para el inicio de sesión exitoso también será diferente.
Para encontrar fácilmente la respuesta única, puede hacer clic en los encabezados de las columnas Status o Length para ordenar los resultados.
La solicitud exitosa tendrá la combinación de payloads:
- Payload 1:
admin - Payload 2:
password123
Puede hacer clic en esta solicitud exitosa en la tabla para ver la Request y Response completas en los paneles inferiores. La respuesta para el inicio de sesión exitoso contendrá el texto "Login Successful!".
¡Felicidades, ha utilizado con éxito un ataque Cluster Bomb para encontrar credenciales válidas!
Resumen
En este laboratorio, ha aprendido a realizar un ataque Cluster Bomb utilizando Burp Intruder.
Comenzó interceptando una solicitud de inicio de sesión utilizando el proxy de Burp y enviándola a Intruder. Luego configuró manualmente dos posiciones de payload distintas para los campos de nombre de usuario y contraseña. Después de seleccionar el tipo de ataque Cluster Bomb, configuró dos listas de payload separadas: una para nombres de usuario y otra para contraseñas.
Finalmente, lanzó el ataque y analizó la tabla de resultados, identificando la combinación de inicio de sesión exitosa al buscar un código de estado y una longitud de respuesta anómalos. Este ejercicio práctico demuestra el poder y la utilidad del tipo de ataque Cluster Bomb para probar mecanismos de autenticación con múltiples entradas.
