Metasploit (07-02) nos dio el dominio de la explotación de red y sistemas, pero buena parte de la auditoría de TechNova S.L. giró en torno a su aplicación web: la tienda tienda.technova.lab. En el Módulo 4 encontramos allí una inyección SQL en producto.php?id= y probamos parámetros y cabeceras "de pasada", mencionando un proxy de interceptación como el instrumento que lo hacía posible. Ese instrumento, el estándar del sector para pruebas web, es Burp Suite, y ahora lo estudiamos a fondo.
Esta lección cubre la arquitectura de Burp (Proxy, Target, Repeater, Intruder, Decoder, Comparer y el Scanner de la edición Pro), cómo configurar el navegador y el certificado CA para interceptar tráfico HTTPS, y un flujo de trabajo para probar la tienda de TechNova: interceptar una petición, repetirla modificada y fuzzear un parámetro como producto.php?id=. Comparamos Community vs. Professional y, de pasada, con OWASP ZAP (que veremos a fondo en 07-04). No repetimos aquí la teoría de las vulnerabilidades web (eso fue el Módulo 4): nos centramos en manejar la herramienta. Todo, como siempre, contra objetivos autorizados o tu laboratorio.
Contenido
- Qué es Burp Suite y para qué sirve
- Arquitectura: las herramientas de la suite
- Configuración: navegador y certificado CA
- Flujo de trabajo contra la tienda de TechNova
- Repeater e Intruder: repetir y fuzzear
- Community vs. Professional
- Errores Comunes y Consejos
- Ejercicios
- Conclusión
- Qué es Burp Suite y para qué sirve
Burp Suite (PortSwigger) es una plataforma integrada para probar la seguridad de aplicaciones web. Su pieza central es un proxy de interceptación: se coloca entre tu navegador y el servidor, de modo que todas las peticiones y respuestas pasan por Burp, donde puedes verlas, detenerlas, modificarlas y reenviarlas.
flowchart LR
N[Navegador] -->|peticion HTTP/S| B[Burp Suite - proxy]
B -->|peticion, opcionalmente modificada| S[Servidor tienda.technova.lab]
S -->|respuesta| B
B -->|respuesta| N
Esa posición "en medio" es lo que convierte a Burp en el bisturí de las pruebas web: te deja manipular parámetros ocultos, cabeceras, cookies y cuerpos de petición que el navegador no expone. Es la herramienta con la que se descubre y confirma manualmente casi todo lo que estudiamos en explotación web.
- Arquitectura: las herramientas de la suite
Burp no es un solo programa, sino un conjunto de herramientas que comparten el tráfico capturado.
| Herramienta | Función | Edición |
|---|---|---|
| Proxy | Intercepta y modifica el tráfico entre navegador y servidor | Community + Pro |
| Target | Mapa del sitio (sitemap) y ámbito (scope) del test | Community + Pro |
| Repeater | Reenvía y edita una petición a mano, tantas veces como quieras | Community + Pro |
| Intruder | Automatiza el envío de peticiones con payloads (fuzzing) | Community (limitado) + Pro |
| Decoder | Codifica/descodifica datos (URL, Base64, hex, hashes) | Community + Pro |
| Comparer | Compara dos respuestas byte a byte para ver diferencias | Community + Pro |
| Scanner | Escaneo automático de vulnerabilidades | Solo Pro |
| Extender / BApp Store | Extensiones que amplían Burp | Community + Pro |
El flujo natural es: el Proxy captura el tráfico, que aparece en Target como sitemap; envías peticiones interesantes a Repeater (pruebas manuales) o Intruder (pruebas automatizadas); usas Decoder y Comparer como apoyo. El Scanner (solo Pro) automatiza el descubrimiento, pero el análisis manual con las demás herramientas es el corazón del trabajo.
- Configuración: navegador y certificado CA
Para que Burp vea el tráfico hay que hacer dos cosas: apuntar el navegador al proxy de Burp e instalar su certificado CA para poder interceptar HTTPS.
a) Apuntar el navegador al proxy. Burp escucha por defecto en 127.0.0.1:8080. Se configura el navegador (o el navegador embebido de Burp) para usar ese proxy.
La forma más sencilla es usar el navegador embebido de Burp (pestaña Proxy → Intercept → "Open Browser"), que ya viene preconfigurado y no interfiere con tu navegación normal.
b) Instalar el certificado CA de Burp. El tráfico HTTPS va cifrado; para leerlo, Burp actúa como un man-in-the-middle consentido, presentando certificados firmados por su propia autoridad (CA). Si el navegador no confía en esa CA, verás errores de certificado. Se resuelve instalando la CA de Burp:
1. Con el proxy activo, visita http://burpsuite desde el navegador proxificado
2. Descarga "CA Certificate" (fichero cacert.der)
3. Importa el certificado en el almacen de Autoridades de Confianza del navegador/SONota de seguridad: ese certificado CA da a Burp la capacidad de descifrar tu HTTPS. Instálalo solo en tu equipo de trabajo/laboratorio y elimínalo si dejas de usar Burp en ese perfil. Nunca lo instales en un dispositivo de un tercero sin permiso: sería habilitar una intercepción no consentida.
- Flujo de trabajo contra la tienda de TechNova
Reproducimos el trabajo web del Módulo 4, ahora manejando Burp con soltura, contra la tienda de nuestro laboratorio (tienda.technova.lab, resuelta a una VM aislada).
Paso 1 — Definir el scope. En Target → Scope, añade tienda.technova.lab. Así Burp se centra en el objetivo autorizado y no ensucia el sitemap con tráfico ajeno (analítica, CDNs). Trabajar dentro del scope es también disciplina ética: solo tocas lo que tienes permiso de tocar.
Paso 2 — Navegar y mapear. Con el proxy activo, navega por la tienda: categorías, fichas de producto, login, carrito. Cada acción rellena el sitemap de Target. Al abrir una ficha verás la petición clave:
GET /producto.php?id=14 HTTP/1.1
Host: tienda.technova.lab
Cookie: PHPSESSID=8f3b...; carrito=1
User-Agent: Mozilla/5.0Paso 3 — Interceptar y observar. En Proxy → Intercept activas la interceptación para congelar una petición antes de que salga. Ves y puedes editar cada parte: la URL, el parámetro id, las cookies, las cabeceras. Aquí es donde el parámetro id=14 se revela como candidato a manipulación.
Paso 4 — Enviar a Repeater. Botón derecho sobre la petición → Send to Repeater. A partir de aquí, las pruebas manuales.
- Repeater e Intruder: repetir y fuzzear
Repeater es para el trabajo fino y manual: editas la petición, la envías, lees la respuesta, ajustas y repites. Es la herramienta con la que se confirma una vulnerabilidad a mano. Contra producto.php?id=, probarías variaciones del parámetro y observarías cómo cambia la respuesta:
GET /producto.php?id=14 HTTP/1.1 -> respuesta: producto 14, HTTP 200
GET /producto.php?id=14' HTTP/1.1 -> respuesta: error SQL / 500 (indicio de SQLi)
GET /producto.php?id=0 HTTP/1.1 -> respuesta: producto vacioQue una comilla provoque un error de base de datos es el mismo indicio de inyección SQL que detectamos en el Módulo 4. Repeater te deja verificar ese comportamiento petición a petición, sin recargar el navegador ni perder el contexto.
Intruder automatiza lo anterior: define posiciones de payload en la petición y una lista de valores, y Burp los prueba en bucle. Es el fuzzing de la suite.
Con una lista de valores (1, 2, 3, ... , 1 OR 1=1, ' OR '1'='1), Intruder envía una petición por cada uno y tabula código de estado, longitud y tiempo de respuesta. Diferencias en esas columnas delatan comportamientos anómalos: un id que devuelve más datos de lo normal, un payload que provoca error, una respuesta de longitud sospechosa.
- Community: Intruder funciona pero está limitado en velocidad (throttling), suficiente para aprender.
- Professional: Intruder a velocidad completa y con el Scanner automático.
Uso responsable: el fuzzing genera muchas peticiones y puede degradar un servicio. En un engagement real se controla el ritmo y se respeta la ventana acordada; en tu laboratorio puedes practicar sin límite porque el servidor es tuyo. Contrapartida defensiva: un WAF y un buen logging detectan y frenan justo este tipo de ráfagas; probarlas te enseña también a defenderlas.
- Community vs. Professional
| Aspecto | Community (gratis) | Professional (pago) |
|---|---|---|
| Proxy, Target, Repeater, Decoder, Comparer | Sí | Sí |
| Intruder | Sí, con velocidad limitada | Completo |
| Scanner automático | No | Sí |
| Guardar/restaurar proyectos | Limitado | Completo |
| Extensiones (BApp Store) | La mayoría | Todas |
| Uso típico | Aprender, pruebas manuales | Trabajo profesional diario |
Para formarte y hacer pruebas manuales, Community sobra. El salto a Professional se justifica cuando trabajas profesionalmente y necesitas el Scanner y el Intruder sin límites. Su alternativa libre y completa es OWASP ZAP, que estudiaremos en la siguiente lección: donde Burp Pro cuesta licencia, ZAP ofrece escaneo activo gratuito y mejor encaje en automatización. Cada una tiene su lugar; lo veremos en detalle en 07-04.
Errores Comunes y Consejos
- Olvidar el certificado CA. Sin instalar la CA de Burp, el HTTPS da errores de certificado y no ves el tráfico cifrado. Instálala en tu equipo de trabajo (y solo ahí).
- Interceptación siempre activa. Dejar Intercept en "on" congela cada petición y parece que "el navegador no carga". Déjalo en off salvo cuando quieras capturar algo concreto.
- No definir scope. Sin scope, el sitemap se llena de dominios de terceros y corres el riesgo de probar fuera de lo autorizado. Define el scope al empezar.
- Fuzzear producción sin control. Intruder puede saturar un servicio real. Controla la velocidad, respeta la ventana y practica a fondo en tu laboratorio.
- Instalar la CA en dispositivos ajenos. Es habilitar una intercepción no consentida. Solo en tu propio equipo/perfil, y elimínala al terminar.
- Consejo: aprende a mover peticiones con "Send to Repeater/Intruder". El flujo Proxy → Repeater → Intruder es el 80% del trabajo diario con Burp.
Ejercicios
Ejercicio 1. Describe los pasos para dejar Burp listo para interceptar el tráfico HTTPS de la tienda de tu laboratorio: configuración del proxy, certificado CA y definición de scope. Explica por qué el certificado CA es imprescindible y qué precaución tomarías con él.
Ejercicio 2. Tienes en el sitemap la petición GET /producto.php?id=14. Explica cómo usarías Repeater para buscar indicios de inyección SQL a mano y qué respuesta te haría sospechar. Luego indica cómo lo automatizarías con Intruder.
Ejercicio 3. Un compañero quiere comprar Burp Professional para "practicar en casa". Argumenta si le hace falta para aprender y qué alternativas tiene, mencionando Community y OWASP ZAP.
Soluciones
Solución 1. (1) Arrancar Burp y usar su navegador embebido o configurar el navegador para usar el proxy 127.0.0.1:8080. (2) Con el proxy activo, visitar http://burpsuite, descargar el CA Certificate e importarlo en el almacén de autoridades de confianza del navegador/SO. (3) En Target → Scope, añadir tienda.technova.lab para acotar el trabajo al objetivo autorizado. El certificado CA es imprescindible porque el tráfico HTTPS va cifrado; sin confiar en la CA de Burp, el navegador rechaza la intercepción con errores de certificado. Precaución: instalarlo solo en mi equipo de laboratorio y eliminarlo al terminar, ya que otorga a Burp la capacidad de descifrar HTTPS.
Solución 2. Con Repeater: envío la petición a Repeater, cambio id=14 por id=14' (una comilla) y observo la respuesta; si aparece un error de SQL o un HTTP 500 donde antes había un producto, es indicio de inyección SQL. Ajustaría con id=14 AND 1=1 (normal) vs. id=14 AND 1=2 (distinto) para confirmar el comportamiento. Con Intruder: marco la posición id=§14§, cargo una lista de payloads (1, 2, ' OR '1'='1, 1 AND 1=2, ...) y lanzo el ataque; comparo código de estado, longitud y tiempo de cada respuesta: las filas anómalas delatan la inyección. En Community lo haría a velocidad limitada, suficiente para el laboratorio.
Solución 3. Para aprender no le hace falta Burp Professional: la edición Community incluye Proxy, Target, Repeater, Decoder, Comparer e Intruder (limitado en velocidad), que cubre de sobra las pruebas manuales de un laboratorio casero. Si quiere escaneo automático o Intruder sin límites gratis, la alternativa es OWASP ZAP, libre y completa, con escaneo activo incluido. La compra de Burp Pro se justifica en el trabajo profesional, no para practicar en casa.
Conclusión
Burp Suite es el estándar para las pruebas de seguridad web, y su fuerza nace de una idea simple: colocarse entre el navegador y el servidor para ver y manipular cada petición. Repasamos su arquitectura —Proxy, Target, Repeater, Intruder, Decoder, Comparer y el Scanner de Pro—, cómo configurar el proxy y el certificado CA para interceptar HTTPS, y un flujo de trabajo completo contra la tienda de TechNova: definir scope, mapear, interceptar producto.php?id=, repetir la petición en Repeater para confirmar la inyección SQL a mano y fuzzear el parámetro con Intruder. Vimos que Community basta para aprender y que Professional aporta Scanner e Intruder sin límites, siempre bajo el marco de trabajar solo contra objetivos autorizados.
Burp Pro tiene un coste de licencia, y no siempre es la opción cuando el objetivo es integrar las pruebas web en tuberías automáticas. Para ese terreno existe una alternativa libre, completa y pensada para la automatización. En la siguiente lección la estudiamos: OWASP ZAP, y la comparamos frente a Burp para saber cuándo elegir cada una.
Curso de Pentesting: Técnicas de Pruebas de Penetración
Módulo 1: Introducción al Pentesting
- ¿Qué es el Pentesting?
- Tipos de Pentesting
- Fases del Pentesting
- Ética y Legalidad en el Pentesting
- Metodologías y Estándares del Sector
Módulo 2: Reconocimiento y Recolección de Información
- Reconocimiento Pasivo
- Reconocimiento Activo
- Herramientas de Recolección de Información
- OSINT y Análisis de la Superficie de Ataque
Módulo 3: Escaneo y Enumeración
Módulo 4: Explotación de Vulnerabilidades
- Introducción a la Explotación
- Explotación de Vulnerabilidades Web
- Explotación de Vulnerabilidades de Red
- Explotación de Vulnerabilidades de Sistemas
- Ataques a Contraseñas y Autenticación
Módulo 5: Post-Explotación
- Escalada de Privilegios
- Mantenimiento del Acceso
- Pivoting y Movimiento Lateral
- Cobertura de Huellas y Anti-Forense
Módulo 6: Reporte y Remediación
- Documentación de Hallazgos
- Clasificación de Riesgos y CVSS
- Recomendaciones de Remediación
- Presentación de Resultados
