Concepto clave
Documentar hallazgos y recomendaciones en un informe de seguridad es como crear un mapa de navegación para que un cliente pueda entender y solucionar vulnerabilidades. Imagina que eres un médico: no solo diagnosticas la enfermedad (vulnerabilidad), sino que explicas claramente los síntomas (impacto), causas (técnica de explotación) y recetas (recomendaciones). Un buen informe transforma datos técnicos en decisiones accionables.
El informe profesional tiene dos objetivos principales: comunicar riesgos a audiencias no técnicas (como gerentes) y proporcionar guías técnicas para equipos de TI. Sin documentación clara, incluso el pentesting más exhaustivo pierde valor, porque los hallazgos no se traducen en acciones concretas de mejora.
Cómo funciona en la práctica
Vamos a estructurar un informe paso a paso usando un ejemplo real: has encontrado una vulnerabilidad de inyección SQL en un formulario web durante tu pentesting.
- Identifica el hallazgo: Describe exactamente dónde está (URL: /login.php, parámetro: username).
- Clasifica la severidad: Usa una escala como Crítica/Alta/Media/Baja. Para SQLi, suele ser Alta o Crítica.
- Explica el impacto: "Un atacante podría extraer la base de datos completa, incluyendo contraseñas de usuarios".
- Detalla la reproducción: Proporciona pasos exactos:
1. Acceder a http://ejemplo.com/login.php 2. En el campo username, ingresar: admin' OR '1'='1 3. Observar que se omite la autenticación - Propón recomendaciones: Específicas como "Implementar consultas parametrizadas usando PDO en PHP".
Un informe efectivo incluye evidencia: capturas de pantalla, logs de herramientas como sqlmap, o códigos de ejemplo que muestren el problema y la solución.
Caso de estudio
Empresa: "TiendaOnline S.A." (nombre ficticio). Durante el pentesting, descubres:
| Vulnerabilidad | Severidad | Impacto | Recomendación |
|---|---|---|---|
| XSS en búsqueda | Alta | Robo de cookies de sesión | Sanitizar entrada con htmlspecialchars() en PHP |
| Contraseñas débiles en admin | Media | Acceso no autorizado | Implementar política de complejidad (mínimo 12 caracteres) |
| Servidor sin actualizar | Crítica | Explotación de vulnerabilidades conocidas | Aplicar parches de seguridad inmediatamente |
El informe para TiendaOnline S.A. organiza estos hallazgos por severidad, incluye capturas del ataque XSS ejecutando alert('hacked'), y prioriza las recomendaciones: primero parchar el servidor (crítico), luego fix XSS (alta), y finalmente políticas de contraseñas (media).
Errores comunes
- Usar jerga técnica excesiva: El cliente no entenderá términos como "buffer overflow". Solución: Explicar con analogías ("es como llenar un vaso más allá de su capacidad").
- No priorizar hallazgos: Listar 50 vulnerabilidades sin orden confunde. Solución: Clasificar por severidad y impacto en el negocio.
- Recomendaciones vagas: Decir "mejorar seguridad" no ayuda. Solución: Dar pasos específicos ("usar WAF para bloquear SQLi").
- Olvidar evidencia: Sin pruebas, el cliente puede dudar. Solución: Incluir capturas, códigos de explotación y resultados de herramientas.
- Ignorar el contexto del cliente: Recomendar soluciones costosas a una PYME. Solución: Adaptar recomendaciones a recursos disponibles.
Checklist de dominio
- ¿Clasificaste cada hallazgo con una severidad clara (Crítica/Alta/Media/Baja)?
- ¿Incluiste pasos reproducibles para que el cliente verifique la vulnerabilidad?
- ¿Explicaste el impacto en lenguaje no técnico para gerentes?
- ¿Proporcionaste recomendaciones específicas y accionables?
- ¿Adjuntaste evidencia como capturas de pantalla o logs?
- ¿Estructuraste el informe con resumen ejecutivo, hallazgos detallados y anexos?
- ¿Revisaste que no haya errores de ortografía o datos incorrectos?
Crea un informe de hallazgos para una vulnerabilidad de fuerza bruta
En este ejercicio, simularás que durante un pentesting descubriste un login vulnerable a ataques de fuerza bruta en http://ejemplo.com/admin. Sigue estos pasos:
- Identifica el hallazgo: Escribe un título claro, como "Vulnerabilidad de fuerza bruta en panel de administración".
- Describe la vulnerabilidad: Explica que el login no tiene límites de intentos ni CAPTCHA, permitiendo adivinar contraseñas.
- Asigna severidad: Clasifícala como Media (puede variar según contexto).
- Detalla el impacto: Redacta un párrafo sobre riesgos como acceso no autorizado a datos sensibles.
- Proporciona evidencia: Crea una tabla con datos de ejemplo:
Herramienta Resultado hydra 100 intentos en 2 minutos sin bloqueo - Escribe recomendaciones: Lista 3 acciones específicas, como implementar límite de 5 intentos y CAPTCHA.
- Revisa: Asegúrate de que sea claro, sin errores, y accionable.
- Usa el formato: Título, Severidad, Descripción, Impacto, Evidencia, Recomendaciones.
- Para impacto, piensa en qué podría hacer un atacante si entra al panel admin.
- Incluye un ejemplo de cómo configurar el límite de intentos en un código como PHP.
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.