Pentest Web desde Cero: Montando un Lab Seguro con DVWA, Juice Shop y Burp Suite
Guia practica para montar un laboratorio aislado de pentest web con DVWA, Juice Shop y Burp Suite configurado bajo reglas legales y seguras.
Hay gente que abre Burp Suite contra el primer sitio que aparece en Google y ya se siente pentester. Eso es delito en mas de 30 paises, incluyendo Espana bajo el articulo 197 bis del Codigo Penal. La unica salida sensata es montar tu propio laboratorio, aislado y lleno de objetivos legalmente vulnerables, antes de tocar cualquier sistema real. En esta guia, el equipo Basilisk monta un entorno reproducible en una maquina con 16GB de RAM, usando DVWA, OWASP Juice Shop y Burp Suite Community como trio inicial. Todo corre en una red host-only de VirtualBox, sin un solo paquete saliendo al mundo exterior.
Empieza por la capa de aislamiento, porque es lo que separa investigacion de incidente. Crea una VM Kali Linux 2026.1 con dos adaptadores: uno NAT desactivable para descargar updates y otro host-only en el rango 192.168.56.0/24. Las maquinas victima (una Ubuntu 22.04 con DVWA en Docker y otra Ubuntu con Juice Shop en el puerto 3000) quedan SOLO en la host-only. Bloquea cualquier ruta default con `ip route del default`. El mismo principio aparece con mas profundidad en Pivoting con Chisel y Ligolo-ng: Redes Segmentadas en Lab de Pentest cuando empiezas a segmentar subredes. Snapshots antes de cada sesion te ahorran horas de reinstalacion.
Levanta DVWA con `docker run --rm -it -p 80:80 vulnerables/web-dvwa` y pon el nivel de seguridad en low en el primer contacto. El objetivo no es completar todos los modulos el dia uno, sino entender el ciclo: observar la peticion en Burp, modificar parametro, observar respuesta, escribir payload, repetir. El modulo de SQL Injection del DVWA es el clasico para desbloquear el razonamiento, pero te recomiendo comparar con la cobertura profunda en SQL Injection en la Practica: Explotar, Detectar y Mitigar en Lab Controlado cuando el primer `' OR 1=1-- -` funcione. La misma logica vale para XSS: juega en DVWA y profundiza con XSS Moderno: DOM, Stored y Reflected con Ejemplos Reales en Entorno de Pruebas.
Juice Shop es un upgrade brutal de realismo. Es una SPA Angular con mas de 100 desafios, scoreboard escondido, JWT mal validado y endpoints REST llenos de IDOR. Levantala con `docker run --rm -p 3000:3000 bkimminich/juice-shop` y configura Burp Suite Community como proxy en 127.0.0.1:8080. Importa el certificado CA de Burp en el Firefox dedicado de Kali (NUNCA en tu navegador personal) para interceptar TLS. Para extender el aprendizaje de APIs, Pentest de APIs REST y GraphQL: Checklist Tecnico para Bug Bounty Legal cubre el flujo GraphQL que Juice Shop expone en `/api`. Y SSRF sin Complicaciones: Explotando Cloud Metadata en Lab AWS Local complementa con la parte de SSRF de los desafios avanzados.
Configura Burp con un scope agresivamente restringido. En Target > Scope, anade unicamente `192.168.56.0/24` y marca la opcion de bloquear trafico out-of-scope. Eso evita la pesadilla clasica del becario que dejo el Intruder corriendo y ataco una CDN. Crea un Project File por objetivo (`dvwa.burp`, `juiceshop.burp`) para no mezclar findings. Habilita Logger++ via BApp Store para tener trazabilidad completa e instala la extension Param Miner para descubrir headers ocultos. Quien trabaja en equipo debe leer OPSEC para Investigadores de Seguridad: Modelo de Amenaza Personal antes de subir cualquier captura a un chat publico, aunque parezca inofensiva.
Documenta cada exploit con tres piezas: peticion cruda, payload exacto y comportamiento esperado vs observado. Usa una boveda Obsidian dedicada al lab, con tags por OWASP Top 10. Cuando descubras que Juice Shop tiene upload de avatar mal filtrado, escribe el write-up antes de pasar al siguiente desafio; esa disciplina diferencia al aficionado del profesional, y el tema se trata sin rodeos en Explorando Vulnerabilidades de Subida de Archivos sin Romper la Ley. Haz backup cifrado de la boveda, porque tu cuaderno de exploits vale oro y tambien te trae problemas si se filtra.
Antes de cerrar la sesion, apaga las VMs con `VBoxManage controlvm