Realizar un Ataque Sniper en Burp Intruder

Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a realizar un ataque "Sniper", uno de los tipos de ataque más fundamentales y comúnmente utilizados en la herramienta Intruder de Burp Suite. Burp Intruder es una herramienta potente para automatizar ataques personalizados contra aplicaciones web con el fin de identificar y explotar vulnerabilidades de seguridad.

El ataque Sniper está diseñado para iterar a través de una lista de payloads, insertándolos uno por uno en una única posición especificada dentro de una solicitud HTTP. Esto lo hace ideal para tareas como adivinar nombres de usuario, encontrar tokens de restablecimiento de contraseña o realizar fuzzing en un solo parámetro en busca de vulnerabilidades.

Recorreremos el proceso de enviar una solicitud a Intruder, configurar la posición del payload, seleccionar el tipo de ataque Sniper, cargar una lista de payloads simple y, finalmente, lanzar el ataque y analizar los resultados. Para este laboratorio, Burp Suite ya está instalado en el entorno.

En Intruder > Positions, Seleccione un Valor de Parámetro y Haga Clic en 'Add §'

En este paso, definirá el objetivo de su ataque. Después de enviar una solicitud a Intruder, debe especificar exactamente dónde se insertarán los payloads.

Primero, necesita tener una solicitud con la que trabajar. Para el propósito de este laboratorio, asumiremos que ya ha interceptado una solicitud de inicio de sesión en el Proxy de Burp y la ha enviado a Intruder (haciendo clic derecho en la solicitud y seleccionando "Send to Intruder"). La solicitud en Intruder podría verse así:

POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=myuser&password=mypass

Por defecto, Burp Intruder añade automáticamente marcadores de payload (§) alrededor de lo que considera partes interesantes de la solicitud. Para obtener un control preciso, es mejor borrarlos y establecer los suyos propios.

  1. Navegue a la pestaña Intruder > Positions.
  2. Haga clic en el botón Clear § en el lado derecho para eliminar todos los marcadores de payload añadidos automáticamente.
  3. En el editor de solicitudes, use el ratón para resaltar solo el valor del parámetro username (en este caso, myuser).
  4. Con el valor resaltado, haga clic en el botón Add §.

Su solicitud ahora debería verse así, con solo el valor del nombre de usuario marcado como posición de payload:

POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=§myuser§&password=mypass

Esto le indica a Intruder que solo inserte payloads en lugar de myuser, dejando el resto de la solicitud sin cambios para cada intento.

Establecer el Tipo de Ataque en 'Sniper'

En este paso, seleccionará el tipo de ataque apropiado para su objetivo. Burp Intruder ofrece cuatro tipos de ataque diferentes, cada uno con un propósito distinto. Para este laboratorio, utilizaremos Sniper.

Aquí tiene un breve resumen de los tipos de ataque:

  • Sniper: Utiliza un único conjunto de payloads. Ataca cada posición de payload (§...§) una por una. Para cada posición, itera a través de cada payload de la lista. Este es el tipo más común para realizar fuzzing en un solo parámetro.
  • Battering ram: Utiliza un único conjunto de payloads. Inserta el mismo payload en todas las posiciones de payload definidas simultáneamente.
  • Pitchfork: Utiliza múltiples conjuntos de payloads. Para cada solicitud, toma un payload de cada conjunto y los coloca en sus posiciones correspondientes.
  • Cluster bomb: Utiliza múltiples conjuntos de payloads. Prueba todas las combinaciones posibles de payloads de todos los conjuntos.

Dado que nuestro objetivo es probar una lista de nombres de usuario diferentes en un solo parámetro, Sniper es la opción perfecta.

Para establecer el tipo de ataque:

  1. Permanezca en la pestaña Intruder > Positions.
  2. Localice el menú desplegable Attack type en la parte superior de la pantalla.
  3. Haga clic en el desplegable y seleccione Sniper de la lista.

Ahora ha configurado Intruder para utilizar el método de ataque Sniper.

En este paso, se moverá a la sección donde definirá los datos reales que se utilizarán en el ataque. Ahora que ha configurado la posición objetivo (username) y el tipo de ataque (Sniper), el siguiente paso lógico es proporcionar la lista de payloads.

Los payloads son los valores que Intruder sustituirá en la posición §...§ que definió en el Paso 1.

Para continuar, simplemente navegue a la sub-pestaña Payloads dentro de la herramienta Intruder. La encontrará ubicada justo al lado de la pestaña Positions en la que estaba trabajando. Al hacer clic en esta pestaña, accederá a la pantalla de configuración de payloads, donde configurará su lista de nombres de usuario potenciales en el siguiente paso.

Cargue una Lista Simple de Payloads (ej. admin, test, user)

En este paso, configurará la lista de payloads para el ataque. Dado que nuestro tipo de ataque es Sniper y tenemos una posición de payload, solo necesitamos configurar un conjunto de payloads.

En la pestaña Intruder > Payloads, verá las secciones Payload Sets y Payload Options.

  1. En la sección Payload Sets, asegúrese de que Payload set esté configurado en 1 y Payload type esté configurado en Simple list. Esta es la configuración predeterminada y se utiliza para proporcionar una lista sencilla de cadenas.
  2. En la sección Payload Options [Simple list], agregará sus payloads. Puede hacerlo escribiendo directamente en el cuadro de texto o utilizando el botón Add.

Agreguemos algunos nombres de usuario comunes para probar: En el área de texto, escriba los siguientes valores, cada uno en una línea nueva:

admin
test
user
root
guest

Su sección Payload Options ahora debería contener esta lista. Intruder enviará una solicitud por cada línea de esta lista, sustituyendo el valor en el parámetro username que marcó anteriormente. El Payload Count en la parte inferior ahora debería mostrar 5.

Inicie el Ataque y Observe la Tabla de Resultados

En este paso, lanzará el ataque configurado y analizará el resultado. Con la posición, el tipo de ataque y los payloads configurados, está listo para comenzar.

  1. Para iniciar el ataque, haga clic en el botón Start attack ubicado en la esquina superior derecha de la pestaña Intruder.
  2. Se abrirá una nueva ventana de "Attack", que mostrará una tabla de resultados. Esta ventana se irá poblando en tiempo real a medida que Intruder envíe cada solicitud.

La tabla de resultados es la parte más importante del proceso. Preste mucha atención a las columnas, especialmente:

  • Payload: El payload específico utilizado para esa solicitud (ej. admin, test).
  • Status: El código de estado HTTP de la respuesta (ej. 200, 302, 401).
  • Length: El tamaño del cuerpo de la respuesta en bytes.

Para encontrar posibles vulnerabilidades o nombres de usuario válidos, busque anomalías. Por ejemplo, un inicio de sesión exitoso podría resultar en un estado 302 Found (redireccionando a un panel), mientras que todos los intentos fallidos resultan en un 200 OK (volviendo a mostrar la página de inicio de sesión). De manera similar, una respuesta para un nombre de usuario válido podría tener una Length diferente a las demás porque el mensaje de error cambia (ej. "Incorrect password" vs. "User not found").

Al ordenar la tabla por las columnas Status o Length, puede identificar fácilmente cualquier respuesta que sea diferente de la línea base, lo que indica un hallazgo potencial.

Resumen

En este laboratorio, realizó con éxito un ataque Sniper básico utilizando Burp Intruder. Esta es una habilidad fundamental para cualquier probador de seguridad de aplicaciones web.

Aprendió a:

  • Aislar un parámetro de solicitud específico para probar en la pestaña Positions borrando los marcadores predeterminados y agregando los suyos.
  • Configurar el tipo de ataque en Sniper, que es ideal para probar un solo parámetro con una lista de payloads.
  • Navegar a la pestaña Payloads y cargar una lista simple y personalizada de entradas potenciales.
  • Lanzar el ataque y analizar la tabla de resultados, buscando anomalías en los códigos de estado HTTP y las longitudes de respuesta para identificar comportamientos interesantes.

Dominar el ataque Sniper en Burp Intruder proporciona un método potente para automatizar tareas de prueba repetitivas como la enumeración de nombres de usuario, la adivinación de contraseñas y el fuzzing para vulnerabilidades comunes.