¿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

AspectoEscaneo de VulnerabilidadesPentesting
EnfoqueEscaneo automatizadoPruebas manuales humanas
ProfundidadIdentifica problemas potencialesPrueba explotabilidad
FrecuenciaContinuo (CI/CD)Periódico (trimestral/anual)
Lógica de negocioNo puede probarPuede probar
Ataques encadenadosNo puede detectarExcelente para encontrar
CostoBajoMedio 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 ManejarContratar Pentesters Externos
Escaneos automatizados con ZAPRequisitos de cumplimiento (PCI-DSS, SOC 2)
Testing básico de injectionPentesting de red e infraestructura
Verificación de control de accesoTécnicas avanzadas de explotación
Verificación de headers de seguridadIngenierí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

  1. Configura ZAP como proxy de tu navegador
  2. Ejecuta un spider automatizado en http://localhost:3000
  3. Ejecuta un escaneo activo
  4. Revisa y categoriza todas las alertas High y Medium
  5. 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:

#AlertaRiesgoOWASPConfianza
1SQL InjectionHighA03High
2XSS (Reflejado)HighA03Medium
3Tokens Anti-CSRF FaltantesMediumA05Medium
4Header X-Frame-Options No ConfiguradoMediumA05Medium
5CSP No ConfiguradoMediumA05High

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.