Burp Suite (desarrollado por PortSwigger) es la suite de testing de seguridad web más utilizada del mundo. Actúa como un proxy HTTP/HTTPS (Man-in-the-Middle) entre tu navegador y el servidor, permitiendo interceptar, pausar, modificar y analizar absolutamente todas las peticiones y respuestas antes de que llegen a su destino.
Para que Burp intercepte el tráfico, necesitas configurar tu navegador para que envíe todo a través del puerto de escucha local de Burp (por defecto, el 8080).
# 1. Listener por defecto en Burp:
127.0.0.1:8080
# 2. Configurar el certificado CA (Imprescindible para interceptar HTTPS):
# Con el proxy activo en tu navegador, visita:
http://burpsuite
# Descarga el "CA Certificate", impórtalo en tu navegador (ej. Firefox)
# y marca "Confiar en esta CA para identificar sitios web".
En Proxy -> Options puedes configurar reglas automáticas de "Match and Replace". Por ejemplo, puedes decirle a Burp que busque automáticamente cualquier cabecera User-Agent y la cambie por una de un móvil (iOS/Android), o que cambie automáticamente un campo oculto isAdmin=false a isAdmin=true en todas las peticiones al vuelo.
Al navegar a través del proxy, Burp construye pasivamente un mapa del sitio (Site Map) en la pestaña Target. Es crucial configurar el Scope (Alcance).
El Repeater es donde los pentesters pasan el 80% de su tiempo. Permite tomar una petición interceptada, enviarla a una pestaña aislada (Ctrl + R) y modificarla infinitas veces para ver cómo responde el servidor.
# Técnicas típicas en Repeater:
# - Probar inyecciones SQL (añadiendo ' o " en los parámetros).
# - Cambiar métodos HTTP (Convertir un GET en POST o PUT) para ver si hay un WAF bypass.
# - Probar IDORs (Insecure Direct Object Reference) cambiando /api/user/5 por /api/user/6.
# - Testear vulnerabilidades de CORS manipulando la cabecera Origin.
Un pentester Senior te ha dejado unas notas a medias sobre una auditoría que estaba realizando con Burp Suite. Te toca a ti configurar los módulos correctos de la herramienta para terminar de reventar el servidor.
>_ INICIAR RETO CTF 18El Intruder automatiza el envío de peticiones parametrizadas. Funciona marcando posiciones en la petición con el símbolo § y pasándole listas de payloads (diccionarios).
| Tipo | Comportamiento | Ejemplo de Uso |
|---|---|---|
| Sniper | Un solo payload iterando sobre las posiciones una a una. | Fuzzing de un directorio o parámetro concreto. |
| Battering ram | Mismo payload inyectado en TODAS las posiciones a la vez. | Probar si usuario y contraseña son idénticos (admin:admin). |
| Pitchfork | Múltiples listas, itera de forma sincronizada (L1[1] con L2[1]). | Tienes una lista de usuarios conocidos y su contraseña filtrada correspondiente. |
| Cluster bomb | Múltiples listas, prueba TODAS las combinaciones posibles. | Fuerza bruta clásica de login ciego (Wordlist Users x Wordlist Passwords). |
No basta con atacar, hay que analizar la respuesta. En las opciones del Intruder, Grep-Match busca una cadena específica en cada respuesta (ej: "Welcome back") e ilumina la fila si fue un éxito. Grep-Extract permite robar tokens CSRF de la respuesta y reutilizarlos automáticamente en la siguiente petición.
El Sequencer es un módulo matemático que analiza la "aleatoriedad" (entropía) de los tokens de sesión (ej: PHPSESSID o tokens CSRF). Captura 10,000 tokens y te dice si son predecibles. Si lo son, podrías adivinar el token del administrador y secuestrar su sesión.
Decoder: Una navaja suiza para transformar datos. Puedes hacer cadenas de decodificación complejas: Tomar un token, decodificar de URL, luego de Base64, y luego descomprimir GZIP en un solo clic.
Comparer: Un diff visual. Se usa para analizar vulnerabilidades Blind (Ciegas). Le pasas una respuesta con id=1 y otra con id=1' AND 1=1 para ver si un solo byte de la respuesta cambió.
La pestaña Extensions permite instalar plugins escritos en Java, Python o Ruby que dotan a Burp de "superpoderes". Los imprescindibles son: