Plantilla de Remediación de Pruebas de Penetración
Plantilla para rastrear hallazgos de seguridad, asignar responsables de remediación y validar correcciones después de pruebas de penetración.
Nota para desarrolladores hispanohablantes: Esta guía incluye ejemplos y convenciones de nomenclatura adaptadas a equipos que trabajan en español. Cuando existen diferencias significativas en terminología técnica entre el inglés y el español, se indican explícitamente para facilitar la comunicación en equipos multiculturales.
Visión General
Una prueba de penetración que produce un PDF con hallazgos de severidad alta no mejora la seguridad hasta que los hallazgos se rastrean, priorizan, corrigen y verifican. Los equipos de ingeniería frecuentemente ignoran resultados de pentesting porque los reportes son abrumadores, no priorizados o carecen de claridad sobre qué es accionable. Esta plantilla transforma los hallazgos de pentesting en tickets rastreables con responsables claros, fechas límite y pasos de validación.
Cuándo Usar
Usa este recurso cuando:
- Has recibido un reporte de pentesting y necesitas planificar correcciones
- Los auditores de cumplimiento requieren evidencia de que los hallazgos se cerraron
- Estás realizando pentesting interno o competición de bugs y necesitas una forma de rastrear hallazgos
Solución
# Remediación de Pentesting: `<Nombre del Proyecto / Fecha>`
## 1. Visión General del Pentesting
| Campo | Valor |
|-------|-------|
| Tipo de Pentesting | Externo / Interno / Aplicación Web / Móvil / API |
| Proveedor / Equipo Interno | `nombre` |
| Periodo | `fecha inicio` – `fecha fin` |
| Alcance | `dominios, IPs, apps probadas` |
| Fecha del Reporte | `AAAA-MM-DD` |
| Revisor Técnico | `@nombre` |
## 2. Resumen de Hallazgos
| Severidad | Total | Remediados | En Progreso | Retrasados | Pendientes |
|-----------|-------|------------|-------------|------------|------------|
| Crítico | `X` | `Y` | `Z` | `W` | `V` |
| Alto | `X` | `Y` | `Z` | `W` | `V` |
| Medio | `X` | `Y` | `Z` | `W` | `V` |
| Bajo | `X` | `Y` | `Z` | `W` | `V` |
| Informativo | `X` | `Y` | `Z` | `W` | `V` |
## 3. Plan de Remediación
### Hallazgo-001: `Título`
| Atributo | Valor |
|----------|-------|
| Severidad | Crítico / Alto / Medio / Bajo |
| CWE | `CWE-###` |
| OWASP | `A##` |
| Componente | `servicio / URL / endpoint` |
| Descripción | `qué el pentester encontró` |
| Impacto | `qué podría explotar un atacante` |
| Referencia | `CVE / advisory / sección del reporte` |
**Remediación:**
- [ ] Paso 1: `acción concreta`
- [ ] Paso 2: `acción concreta`
- [ ] Paso 3: `acción concreta`
| Propietario | `email` |
| Fecha Límite | `AAAA-MM-DD` |
| Severidad de Negocio | Impacto en datos / impacto financiero / impacto en cumplimiento |
**Validación:**
- [ ] PR o commit que implementa la corrección: `link`
- [ ] Deploy en staging: `fecha`
- [ ] Verificación de pentesting: `fecha / re-test`
- [ ] Deploy en producción: `fecha`
- [ ] Confirmación de cierre: `@security-owner`
---
### Hallazgo-002: `Título`
[... repetir estructura ...]
## 4. Seguimiento de Retrasos
| Hallazgo | Días de Retraso | Bloqueo | Mitigación Temporal | Propietario |
|----------|-----------------|---------|---------------------|-------------|
| | | | | |
## 5. Re-test y Verificación
| Re-test Programado | Proveedor / Método | Fecha | Costo |
|--------------------|--------------------|-------|-------|
| | | | |
## 6. Lecciones Aprendidas
- `Qué hicimos bien`
- `Qué nos tomó más tiempo de lo esperado`
- `Qué cambiar para la próxima ronda de pentesting`
Explicación
La plantilla transforma hallazgos de pentesting de texto pasivo en tickets accionables. Cada hallazgo necesita propietario único, pasos de corrección enumerados y un checklist de validación. El resumen agregado da visibilidad del progreso a auditorías y gestión. La sección de lecciones aprendidas cierra el ciclo: cada prueba de penetración debe mejorar la preparación de la siguiente.
Variantes
| Contexto | Enfoque | Diferenciador |
|---|---|---|
| Pentesting Web App | Enfocar en OWASP Top 10; validar con escaneadores DAST | URL, payload de entrada, bypass WAF |
| Pentesting API | Enfocar en autenticación, autorización, rate limits | Especificar métodos HTTP, headers, códigos de estado |
| Competición de Bugs (interna) | Agregar recompensas, severidad asignada por impacto | Rastrear pagos y primer hallazgo |
| Pentesting Móvil | Enfocar en almacenamiento inseguro, rooting, man-in-the-middle | Requerir verificación en dispositivos físicos |
| Pentesting Red | Enfocar en segmentación, pivoting, movimiento lateral | Mapear explícitamente la propagación de la red |
Mejores Prácticas
- Comienza con hallazgos críticos; nunca retrases correcciones críticas para completitud
- Asigna un propietario por hallazgo, no un equipo; la rendición de cuentas personal impulsa la velocidad
- Valida con re-test, no con auto-verificación; los pentesters profesionales pueden validar que la corrección realmente bloquea el exploit
- Documenta mitigaciones temporales; un WAF que bloquea un exploit temporalmente sigue siendo riesgo que rastrear
- Programa el re-test antes de iniciar correcciones; las empresas de pentesting tienen backlogs y el re-test puede demorar semanas
Errores Comunes
- Tratar “informativo” como “ignorable”; la información expuesta puede encadenarse en exploits futuros
- No priorizar hallazgos por riesgo empresarial real; un XSS reflejado bajo en un admin panel puede ser peor que un XSS almacenado alto en una página pública
- Permitir que los desarrolladores cierren hallazgos sin prueba; la auto-verificación es válida solo para hallazgos bajos con verificación automática obvia
- No incluir ops/DevOps en la planificación de correcciones; los cambios de infraestructura frecuentemente son el cuello de botella, no el código
- Cerrar el reporte original del pentesting; los hallazgos “no reproducibles” en re-test pueden volver si la infraestructura cambia
Preguntas Frecuentes
¿Qué pasa si no podemos corregir un hallazgo a tiempo?
Documenta una mitigación temporal y acepta el riesgo. La mitigación debe reducir la probabilidad o el impacto. Por ejemplo, si no puedes parchear una biblioteca vulnerable, puedes agregar reglas de WAF que bloqueen el payload del exploit. Cada mitigación temporal necesita una fecha límite de corrección real. No permitas que las mitigaciones temporales se conviertan en permanentes; programa un re-marcado para 30 días después.
¿Con qué frecuencia deberíamos hacer pentesting?
Pentesting de aplicación web/API: anualmente como mínimo, semestralmente si manejas datos sensibles o estás en una industria regulada. Pentesting de red: anualmente. Competición de bugs continuas (recompensas de bugs) pueden reemplazar pentesting periódico si tienes suficiente cobertura. Los cambios de arquitectura mayores (nuevo servicio crítico, cambio de proveedor de nube, fusión) deberían activar un pentesting ad-hoc.
¿Quién debería revisar los hallazgos antes de que los ingenieros actúen?
Un arquitecto de seguridad o ingeniero senior de confianza debería triagear los hallazgos primero. Los reportes de pentesting a veces contienen falsos positivos o severidades mal asignadas. Un parche incorrecto puede introducir regresiones. También, los pentesters a veces reportan hallazgos que ya están mitigados de otra manera. Una revisión interna antes de la asignación evita que la ingeniería persiga problemas que no existen.
Recursos Relacionados
Vendor Risk Assessment Template
A template for evaluating third-party vendor security and operational risks.
DocData Classification Template
A template for classifying data as public, internal, confidential, or restricted with handling rules.
DocIncident Response Playbook Template
A step-by-step playbook template for handling security incidents.
DocData Retention Policy Template
A data retention policy template that defines how long data is kept, when it is archived, and how it is destroyed in compliance with regulations.
DocAPI Security Review Template
A checklist template for reviewing API authentication, rate limiting, and OWASP compliance.