¿Qué es el Pentesting?
Las pruebas de penetración (pentesting) son un ciberataque simulado contra un sistema para evaluar su seguridad. A diferencia del escaneo de vulnerabilidades, que usa herramientas automatizadas, el pentesting involucra un tester humano intentando activamente explotar vulnerabilidades.
Piénsalo así: un escáner de vulnerabilidades es como un inspector que nota que una cerradura parece débil. Un pentester realmente intenta abrir la ventana y entrar, documentando exactamente a qué pudo acceder.
Pentesting vs Escaneo de Vulnerabilidades
| Aspecto | Escaneo de Vulnerabilidades | Pentesting |
|---|---|---|
| Enfoque | Escaneo automatizado | Pruebas manuales humanas |
| Profundidad | Identifica problemas potenciales | Prueba explotabilidad |
| Frecuencia | Continuo (CI/CD) | Periódico (trimestral/anual) |
| Lógica de negocio | No puede probar | Puede probar |
| Ataques encadenados | No puede detectar | Excelente para encontrar |
| Costo | Bajo | Medio a alto |
Tipos de Pentesting
Por Nivel de Conocimiento
- Black-box: El tester no tiene conocimiento previo. Simula atacante externo.
- Grey-box: Conocimiento parcial (credenciales de usuario, documentación API). Simula atacante autenticado.
- White-box: Conocimiento completo (código fuente, arquitectura). Más exhaustivo pero menos realista.
Las Cinco Fases del Pentesting
Fase 1: Reconocimiento
Reconocimiento pasivo: WHOIS, enumeración DNS, Google dorking, repositorios de código públicos.
Reconocimiento activo: Escaneo de puertos con Nmap, detección de versiones, fingerprinting tecnológico.
Fase 2: Escaneo y Enumeración
Sondear activamente el objetivo: escaneo de puertos, escaneo de vulnerabilidades con OWASP ZAP, mapeo de endpoints y parámetros.
Fase 3: Explotación
Intentar explotar vulnerabilidades: ataques de inyección, bypass de control de acceso, escalamiento de privilegios, encadenar múltiples problemas menores.
Fase 4: Post-Explotación
Determinar el impacto real: ¿qué datos sensibles son accesibles? ¿Se pueden escalar privilegios? ¿Cuál es el radio de explosión?
Fase 5: Reporte
Documentar hallazgos: resumen ejecutivo, metodología, hallazgos con severidad y prueba de explotación, recomendaciones priorizadas.
Herramientas Esenciales
OWASP ZAP
Escáner gratuito y open-source. Ideal para ingenieros QA iniciando en seguridad.
Funciones clave: Escaneo automatizado, testing manual (proxy), escaneo pasivo, escaneo de APIs, integración CI/CD.
Burp Suite
La herramienta estándar de la industria. Community Edition gratuita; Professional de pago.
Funciones clave: Proxy (interceptar tráfico), Repeater (reenviar solicitudes), Intruder (fuzzing automatizado).
Nmap
Escaneo de red para descubrir hosts, puertos abiertos y servicios.
nmap -sV target.com
nmap --top-ports 1000 target.com
nmap --script vuln target.com
Consideraciones Legales y Éticas
Siempre obtén autorización escrita antes de hacer pentesting. El testing no autorizado es ilegal en la mayoría de jurisdicciones.
Requerido antes de probar: Documento de alcance definiendo qué se puede probar, autorización escrita del dueño del sistema, reglas de engagement, contactos de emergencia.
Cuándo QA Debe Hacer Pentesting vs Contratar Especialistas
| QA Puede Manejar | Contratar Pentesters Externos |
|---|---|
| Escaneos automatizados con ZAP | Requisitos de cumplimiento (PCI-DSS, SOC 2) |
| Testing básico de injection | Pentesting de red e infraestructura |
| Verificación de control de acceso | Técnicas avanzadas de explotación |
| Verificación de headers de seguridad | Ingeniería inversa (móvil, escritorio) |
Ejercicio: Escaneo Básico de Seguridad con OWASP ZAP
Realiza un escaneo básico de seguridad de una aplicación deliberadamente vulnerable usando OWASP ZAP.
Setup
# OWASP ZAP
docker run -u zap -p 8080:8080 -p 8090:8090 -i zaproxy/zap-stable zap-webswing.sh
# Juice Shop
docker run --rm -p 3000:3000 bkimminich/juice-shop
Tarea
- Configura ZAP como proxy de tu navegador
- Ejecuta un spider automatizado en
http://localhost:3000 - Ejecuta un escaneo activo
- Revisa y categoriza todas las alertas High y Medium
- Para los top 3 hallazgos, documenta: vulnerabilidad, categoría OWASP, impacto y recomendación
Pista: Configuración de ZAP
- Configura ZAP como proxy del navegador (localhost:8080)
- Para el spider, profundidad máxima 5, usa spider tradicional y AJAX
- Durante el escaneo activo, prioriza alertas de alta confianza
- Revisa la pestaña “Alerts” para hallazgos categorizados
Solución: Análisis de Resultados ZAP
Hallazgos típicos High/Medium en Juice Shop:
| # | Alerta | Riesgo | OWASP | Confianza |
|---|---|---|---|---|
| 1 | SQL Injection | High | A03 | High |
| 2 | XSS (Reflejado) | High | A03 | Medium |
| 3 | Tokens Anti-CSRF Faltantes | Medium | A05 | Medium |
| 4 | Header X-Frame-Options No Configurado | Medium | A05 | Medium |
| 5 | CSP No Configurado | Medium | A05 | High |
Top 3 Detallados:
1. SQL Injection (High): En /rest/products/search?q=. El atacante puede extraer toda la BD. Fix: consultas parametrizadas.
2. XSS Reflejado (High): En /#/search?q=<script>alert(1)</script>. Permite ejecutar JS en el navegador de la víctima. Fix: validación de entrada y codificación de salida.
3. CSP Faltante (Medium): En todas las páginas. Sin CSP, los ataques XSS son más difíciles de mitigar. Fix: agregar header Content-Security-Policy.
Tips Profesionales
- Empieza con ZAP, Avanza a Burp: OWASP ZAP es gratuito y excelente para QA. Burp Suite Professional ofrece funciones más avanzadas.
- Combina Automatizado y Manual: Ejecuta escaneos ZAP primero, luego prueba manualmente las áreas de alto riesgo.
- Practica en Apps Vulnerables: Además de Juice Shop, prueba DVWA, WebGoat, HackTheBox y TryHackMe.
- Documenta Todo: Durante el pentesting, registra cada paso — timestamps, solicitudes, respuestas, capturas de pantalla.
- OWASP Testing Guide: La guía WSTG proporciona un checklist de 90+ pruebas específicas.