Saltar al contenido principal

Burp Suite

Web ProxyCommunity/ProRed Team

Proxy de interceptación HTTP líder en pentesting de aplicaciones web. Permite capturar, modificar y repetir peticiones para identificar vulnerabilidades como SQLi, XSS, IDOR y más.

Burp Suite: la navaja suiza del pentesting web

Arquitectura, módulos e instalación

Burp Suite es la plataforma de referencia para auditorías de seguridad en aplicaciones web. A diferencia de un escáner automático puro, está diseñada para el trabajo manual asistido: el analista entiende la lógica de la aplicación mientras Burp documenta y permite manipular cada petición.

Módulos principales: • Proxy: intercepta el tráfico entre el navegador y el servidor • Target / Site Map: mapa de todos los endpoints descubiertos • Repeater: reenvío manual de peticiones con variaciones controladas • Intruder: automatiza el envío de payloads sobre parámetros específicos • Decoder: codifica/decodifica datos (Base64, URL, hex, hash) • Comparer: compara dos respuestas o peticiones byte a byte • Sequencer: analiza la aleatoriedad de tokens de sesión • Extender / BApp Store: extensiones de la comunidad (Pro) y de terceros

Community vs Pro: La edición Community incluye Proxy, Repeater, Intruder (con velocidad limitada), Decoder, Comparer y Sequencer. La edición Pro añade el Scanner automático, Burp Collaborator y elimina las limitaciones de velocidad del Intruder.

bash
Burp Suite Community Edition (gratuita):
  Descargar desde: https://portswigger.net/burp/communitydownload
 
Linux:
  chmod +x burpsuite_community_linux_*.sh
  ./burpsuite_community_linux_*.sh
 
macOS:
  Montar el .dmg descargado y arrastrar a /Applications
 
Windows:
  Ejecutar el instalador .exe como administrador
 
Requisito previo (todas las plataformas):
  Java 17+ instalado. Verificar con: java -version
  Si no está instalado: https://adoptium.net/
 
Configurar el proxy en el navegador:
  Host: 127.0.0.1
  Puerto: 8080
  Recomendado: usar Firefox con la extensión FoxyProxy para alternar rápido.
 
Instalar el certificado CA de Burp:
  Con Burp activo, ir en el navegador a: http://burpsuite
  Descargar e instalar el certificado en el almacén de certificados del navegador.
  Sin este paso, no interceptará tráfico HTTPS.

💡Crea un perfil de navegador separado solo para auditorías con el proxy de Burp activado; evita interferir con tu navegación normal y mantiene el certificado CA aislado.

Fase 1 — Interceptar y entender el tráfico HTTP

Captura cada petición antes de que llegue al servidor

El punto de partida de cualquier auditoría web es entender exactamente qué envía el navegador: headers, cookies, parámetros, tokens y el cuerpo completo de cada petición.

Qué observar al interceptar: • Cookies de sesión y su atributo (HttpOnly, Secure, SameSite) • Tokens anti-CSRF y si cambian entre peticiones • Parámetros ocultos en el cuerpo de formularios POST • Headers personalizados que la aplicación pueda usar para autorización

Con Intercept is ON, cada petición queda congelada hasta que decides reenviarla (Forward), descartarla (Drop) o editarla manualmente.

bash
Pasos:
1. Activar intercepción en Proxy > Intercept > Intercept is ON.
2. Navegar a cualquier página de la aplicación objetivo.
3. La petición queda congelada en Burp, mostrando headers y body completos.
4. Revisar Target > Site Map para ver el árbol de endpoints visitados.
 
Atajos útiles:
  Forward  → enviar la petición tal cual al servidor
  Drop     → descartar la petición sin enviarla
  Action   → menú contextual para enviar a Repeater/Intruder/Comparer

Fase 2 — Modificar y reenviar peticiones

Probar el comportamiento del servidor ante datos alterados

Modificar una petición interceptada es la técnica base para detectar fallas de validación del lado del servidor: si la aplicación confía en el cliente para reforzar reglas de negocio, normalmente se puede burlar desde aquí.

Casos típicos a probar: • Cambiar IDs en la URL o body (posible IDOR) • Alterar roles o flags ocultos (ej: isAdmin=false → isAdmin=true) • Eliminar parámetros que el cliente envía "por las dudas" • Cambiar el Content-Type para ver cómo reacciona el parser del servidor

bash
Pasos:
1. Con una petición interceptada, localizar el parámetro de interés.
2. Modificarlo directamente en el panel de texto/hex
   (ej: cambiar user_id=1024 por user_id=1025).
3. Clic en Forward para enviarla con el cambio aplicado.
4. Comparar la respuesta contra la petición original (usar Comparer si es necesario).

Fase 3 — Repeater: pruebas manuales iterativas

Reenviar la misma petición con variaciones controladas

Repeater es donde ocurre la mayor parte del trabajo manual: permite editar y reenviar una petición tantas veces como sea necesario sin volver a interceptar cada vez, manteniendo un historial de cada intento.

Flujo de trabajo típico: Enviar una petición a Repeater → modificar un parámetro → observar la respuesta → ajustar → repetir. Es la herramienta ideal para confirmar manualmente sospechas de SQLi, XSS reflejado o IDOR antes de automatizar nada.

bash
Pasos:
1. Click derecho sobre cualquier petición (en Proxy o Site Map) > Send to Repeater.
2. En la pestaña Repeater, editar el parámetro objetivo.
3. Presionar Send (o Ctrl+Enter) y revisar la respuesta en el panel derecho.
4. Usar las pestañas numeradas para comparar múltiples intentos sin perder el historial.
 
Ejemplo de prueba manual de SQLi en Repeater:
  Original:  GET /producto?id=15
  Prueba 1:  GET /producto?id=15'
  Prueba 2:  GET /producto?id=15 OR 1=1
  Prueba 3:  GET /producto?id=15' AND SLEEP(5)--

💡Usa Ctrl+Shift+R para reenviar instantáneamente y comparar tiempos de respuesta: una demora consistente ante payloads tipo SLEEP() es indicio fuerte de SQLi basado en tiempo.

Fase 4 — Intruder: automatización de payloads

Fuzzing y fuerza bruta dirigida sobre parámetros específicos

Intruder automatiza lo que en Repeater harías a mano: define una posición de payload dentro de la petición y Burp itera automáticamente una lista de valores, reportando el resultado de cada intento (código de respuesta, longitud, tiempo).

Tipos de ataque en Intruder: • Sniper: un único set de payloads sobre una posición a la vez • Battering ram: el mismo payload en todas las posiciones simultáneamente • Pitchfork: múltiples listas, una posición por lista, en paralelo • Cluster bomb: todas las combinaciones posibles entre varias listas (ideal para usuario+contraseña)

La columna Length suele ser la pista más rápida: respuestas con longitud distinta al resto casi siempre indican un resultado diferente (login exitoso, error distinto, contenido distinto).

bash
Pasos:
1. Click derecho sobre una petición > Send to Intruder.
2. Marcar el/los parámetros objetivo con §valor§ (Clear $ y Add $ para ajustar posiciones).
3. Elegir el tipo de ataque (Sniper, Battering ram, Pitchfork, Cluster bomb).
4. En la pestaña Payloads, cargar una wordlist o generar una lista numérica/de fuerza bruta.
5. Iniciar el ataque y ordenar resultados por columna Length o Status para detectar anomalías.
 
Ejemplo — fuerza bruta de IDOR sobre un ID numérico:
  GET /api/orders/§1000§
  Payload type: Numbers, From 1000 To 2000, Step 1

💡Nota: en Community Edition la velocidad de Intruder está limitada artificialmente. Burp Suite Pro elimina esa restricción para ataques de mayor escala.

Fase 5 — Mapeo de la aplicación (Site Map)

Descubrir todos los endpoints y recursos accesibles

A medida que navegas la aplicación con el proxy activo, Burp construye automáticamente un árbol completo de endpoints, parámetros y recursos estáticos. Este mapa es la base para decidir qué probar y dónde puede haber funcionalidad oculta.

Qué buscar en el Site Map: • Endpoints de administración no enlazados desde la interfaz visible • Archivos de configuración o backups expuestos (.env, .git, .bak) • Parámetros repetidos entre distintos endpoints (posibles puntos de inyección comunes) • Diferencias de comportamiento entre roles (navegar como usuario normal vs admin)

bash
Pasos:
1. Navegar manualmente toda la aplicación con el proxy activo
   (idealmente cubriendo cada flujo: login, búsqueda, perfil, carrito, admin si aplica).
2. Revisar Target > Site Map para ver el árbol completo de recursos descubiertos.
3. Click derecho sobre el dominio objetivo > "Add to scope" para filtrar el ruido
   de dominios de terceros (analytics, CDNs, etc.).
4. Activar el filtro "Show only in-scope items" para trabajar limpio.

Fase 6 — Scanner y detección automatizada

Complementar el trabajo manual con escaneo automático

El Scanner de Burp Pro analiza pasivamente todo el tráfico que pasa por el proxy y activamente cada endpoint marcado, detectando patrones de SQLi, XSS, SSRF, XXE y decenas de problemas más, con evidencia técnica de cada hallazgo.

Community Edition: No incluye el Scanner automático, pero se puede complementar con extensiones del BApp Store (como "Active Scan++") o continuar el trabajo de forma manual con Repeater e Intruder, que cubren la mayoría de los casos en una auditoría dirigida.

bash
Burp Pro:
  Click derecho sobre un endpoint o todo el host en Site Map > Scan...
  Elegir "Crawl and Audit" para cobertura completa, o "Audit selected items"
  para limitarse a lo ya descubierto.
  Revisar resultados en la pestaña Dashboard > Issue activity.
 
Community Edition:
  1. Extender > BApp Store > instalar "Active Scan++" (o similar).
  2. Alternativamente, revisar manualmente con Repeater cada endpoint del Site Map,
     usando los payloads típicos de SQLi/XSS/SSRF como punto de partida.

💡Incluso con Scanner automático, los hallazgos siempre deben confirmarse manualmente en Repeater: los escáneres automáticos generan falsos positivos, especialmente en aplicaciones con lógica de negocio compleja.

Labs Prácticos

Básico 20 min

Lab 1: Manipulación de parámetros en formularios

Objetivo

Interceptar una petición HTTP y modificar los valores antes de que lleguen al servidor.

Escenario

Un sitio e-commerce tiene un campo oculto con el precio del producto. Intentarás cambiarlo antes de enviar la compra.

Pasos

1

Configurar el navegador para usar el proxy de Burp (127.0.0.1:8080)

2

Activar "Intercept is ON" en la pestaña Proxy

3

Realizar una acción en la web (ej: añadir al carrito)

4

Modificar el parámetro "price" en Burp y pulsar "Forward"

bash — práctica
# INTERCEPTAR
# Pestaña: Proxy -> Intercept
# Haz clic en el botón: Intercept is ON

# MODIFICAR (Ejemplo de petición interceptada)
POST /checkout HTTP/1.1
Host: tienda.vulnerable.com
...
item_id=45&quantity=1&price=499.00  <-- CAMBIA A 1.00

# REPETIR
# Envía la petición al REPEATER (Ctrl+R) para probar variaciones rápido.

Resultado esperado

El servidor procesará la petición con el valor modificado. En una app vulnerable, esto podría resultar en una compra por un precio incorrecto.

Aviso legal: Este contenido es estrictamente educativo. CyberFlows no apoya actividades ilegales. Úsalo solo en entornos autorizados.