Cerramos el Módulo 5 con una idea que ahora se convierte en el eje de todo el Módulo 6: el trabajo técnico ha terminado; empieza el trabajo de convertirlo en valor para TechNova. Durante las fases de reconocimiento, escaneo, explotación y post-explotación capturamos una montaña de materia prima —comandos, salidas, marcas de tiempo, artefactos, la cadena de compromiso y el mapa de la red interna 10.10.10.0/24—. Nada de eso vale para el cliente mientras siga en tu carpeta de notas. El informe es el entregable que da valor al pentest: es lo que TechNova pagó, lo que leerá su dirección y lo que usarán sus técnicos para remediar y reducir riesgo.
Esta primera lección trata de cómo documentar cada hallazgo de forma que sea reproducible, trazable y accionable, y de cómo se estructura un informe de pentest. No entramos todavía en cómo puntuar la severidad con CVSS (eso es 06-02), ni en cómo redactar remediaciones a fondo (06-03), ni en cómo presentar los resultados en la reunión de cierre (06-04). Aquí construimos el ladrillo con el que se levanta el informe: el hallazgo bien documentado. Y una advertencia que recorre toda la lección: el informe contiene vulnerabilidades reales y explotables de TechNova; es un documento altamente confidencial y se trata como tal desde la primera nota de campo.
Contenido
- Documentar durante el test, no después
- Anatomía de un hallazgo
- Evidencia reproducible y prueba de concepto (PoC)
- Trazabilidad: del hallazgo a la evidencia cruda
- Notas de campo y bitácora
- Gestión de evidencia sensible y confidencialidad
- Estructura de un informe de pentest
- Plantilla de hallazgo: la SQLi de TechNova de principio a fin
- Errores Comunes y Consejos
- Ejercicios
- Conclusión
- Documentar durante el test, no después
El error más caro de un pentester novato es dejar la documentación para el final. Cuando llevas dos semanas de test, comprometiste cinco máquinas y pivotaste por media red, es imposible reconstruir de memoria qué payload exacto funcionó en producto.php?id= un martes por la tarde. La documentación se hace en caliente, mientras la evidencia está fresca y el terminal aún muestra la salida.
La regla práctica: cada vez que consigues algo relevante —un servicio enumerado, una vulnerabilidad confirmada, un acceso obtenido— capturas la evidencia en ese mismo momento y anotas lo mínimo para reconstruirlo después (activo, hora, comando, resultado). El informe final se redacta al terminar, pero se alimenta durante todo el engagement.
- Anatomía de un hallazgo
Un hallazgo (finding) es la unidad básica del informe: describe una debilidad concreta en un activo concreto. Un buen hallazgo responde, sin que el lector tenga que preguntar, a: qué es, dónde está, cómo lo demostraste, qué daño causa y qué hacer al respecto. Estos son sus campos:
| Campo | Qué contiene | Por qué importa |
|---|---|---|
| ID | Identificador único (p. ej. TN-2026-001) |
Permite referenciarlo en el informe, en el retest y en las conversaciones |
| Título | Nombre claro y específico | Un técnico debe entender el problema con solo leerlo |
| Activo afectado | Host, URL, servicio, IP:puerto | Sitúa el problema en la infraestructura del cliente |
| Descripción | Qué es la vulnerabilidad y por qué existe | Contexto técnico neutral, sin dramatismo |
| Severidad | Rating (crítico/alto/medio/bajo/info) | Marca la prioridad; se justifica con CVSS en 06-02 |
| Impacto | Qué consigue un atacante y qué significa para el negocio | Traduce lo técnico a consecuencias reales |
| Pasos de reproducción | Secuencia exacta para reproducir el hallazgo | Permite al cliente verificar y luego confirmar la corrección |
| Evidencia / PoC | Capturas, salidas de comando, peticiones/respuestas | Demuestra que es real, no teórico |
| Recomendación | Qué corregir (resumen; el detalle va en 06-03) | Orienta la remediación desde el primer momento |
| Referencias | CWE, OWASP, CVE, enlaces del fabricante | Aporta autoridad y material para profundizar |
Cada uno de estos campos tiene una función. Faltando cualquiera, el hallazgo pierde utilidad: sin activo, no se sabe dónde arreglar; sin pasos de reproducción, el cliente no puede validar; sin impacto de negocio, la dirección no entiende por qué priorizarlo.
- Evidencia reproducible y prueba de concepto (PoC)
La evidencia es lo que convierte una afirmación en un hecho. "El sitio es vulnerable a SQLi" es una opinión; una captura de la respuesta del servidor devolviendo la versión de MySQL ante tu payload es una prueba. Buenas prácticas para capturar evidencia:
- Reproducible: incluye el comando/petición completo y la salida literal. Quien lea el informe debe poder repetir el paso y obtener el mismo resultado.
- Mínima pero suficiente: muestra lo justo para probar el punto. No vuelques 4.000 filas de una tabla; una fila que demuestre acceso a datos sensibles basta.
- Con contexto: anota fecha, hora, host de origen y activo destino en cada pieza. Una captura sin contexto no vale como prueba.
- Sin causar daño real: la PoC demuestra el problema, no lo explota destructivamente. Extraes un registro de muestra para probar el acceso, no vuelcas ni exfiltras la base de datos entera del cliente.
- Datos sensibles enmascarados: si la evidencia contiene datos personales reales de clientes de TechNova, redáctalos (anonimiza) en el informe:
juan.****@***.com. Demuestras el acceso sin propagar el dato.
La prueba de concepto (PoC) es la secuencia concreta y controlada que demuestra la explotabilidad. En un informe profesional la PoC es suficiente para convencer, insuficiente para causar daño: enseña la ruta, no entrega un arma lista para abusar.
- Trazabilidad: del hallazgo a la evidencia cruda
Trazabilidad significa que cada afirmación del informe se puede seguir hasta la evidencia cruda que la sustenta. Es lo que hace tu trabajo auditable y defendible: si TechNova (o un tercero) cuestiona un hallazgo, tú puedes enseñar la captura original, el log de la herramienta y la hora exacta.
Un esquema de trazabilidad simple pero eficaz:
flowchart LR
A[Nota de campo<br/>hora + accion] --> B[Evidencia cruda<br/>captura / salida / pcap]
B --> C[Hallazgo TN-2026-NNN<br/>en el informe]
C --> D[CVSS + riesgo<br/>06-02]
C --> E[Recomendacion<br/>06-03]
En la práctica se materializa nombrando los ficheros de evidencia de forma consistente (TN-001_sqli_producto_respuesta.png), guardándolos en una carpeta por hallazgo y referenciándolos desde el informe. Así, el ID del hallazgo es el hilo que une la nota de campo, la evidencia y la recomendación.
- Notas de campo y bitácora
Las notas de campo son tu registro en bruto durante el test. Ya insistimos en la bitácora en el Módulo 5 desde la ética (dejar rastro auditable); aquí la vemos desde la utilidad para el informe. Una entrada de bitácora útil recoge, por cada acción relevante:
2026-07-06 16:42 | origen 10.10.10.5 (kali) -> tienda.technova.lab Accion: probado payload SQLi en producto.php?id= Comando: id=1' ORDER BY 8-- - Resultado: error SQL -> confirmada inyeccion. Evidencia: TN-001_orderby.png
Con marcas de tiempo, origen, destino, acción y referencia a la evidencia, cualquier entrada se convierte después en parte de un hallazgo o de la cronología del ataque. La bitácora también protege al pentester: demuestra que se mantuvo dentro del alcance autorizado.
- Gestión de evidencia sensible y confidencialidad
El informe y su evidencia son material sensible: documentan cómo comprometer sistemas reales de TechNova y pueden contener datos de sus clientes. Tratar esto con ligereza es una falta profesional grave. Principios:
- Confidencialidad por defecto: el informe se clasifica como confidencial y solo se comparte con los interlocutores autorizados en el contrato.
- Cifrado en reposo y en tránsito: las notas, capturas y el informe se guardan cifrados y se entregan por un canal seguro (nunca por correo sin cifrar). La entrega segura se detalla en 06-04.
- Minimización: no captures más datos sensibles de los necesarios para probar el hallazgo; enmascara los que sí capturas.
- Retención y destrucción: acuerda con el cliente cuánto tiempo conservas la evidencia y destrúyela de forma segura al vencer ese plazo.
- Control de acceso: solo el equipo del engagement accede a la evidencia; nada de copias en dispositivos personales sin cifrar ni en servicios en la nube no autorizados.
Recuerda: filtrar un informe de pentest es entregar a un atacante un mapa exacto de por dónde entrar. La confidencialidad no es burocracia, es parte del servicio.
- Estructura de un informe de pentest
Un informe profesional sirve a dos públicos a la vez y por eso se organiza en dos grandes bloques (la comunicación a cada público se trabaja en 06-04). Estructura típica:
| Sección | Público | Contenido |
|---|---|---|
| Resumen ejecutivo | Dirección / negocio | Qué se hizo, postura de seguridad global, riesgos principales en lenguaje de negocio, sin jerga |
| Alcance y metodología | Ambos | Qué se probó, qué no, fechas, RoE, estándar seguido (p. ej. PTES, OWASP) |
| Resumen de hallazgos | Ambos | Tabla con todos los hallazgos, severidad y estado |
| Detalle técnico | Equipos técnicos | Cada hallazgo completo con su anatomía (sección 2) |
| Cronología del ataque | Ambos | La cadena de compromiso paso a paso (narrativa) |
| Recomendaciones | Ambos | Remediaciones priorizadas (desarrollado en 06-03) |
| Anexos | Técnicos | Evidencia extensa, listados de puertos, comandos, glosario |
La regla de oro: el resumen ejecutivo se lee sin conocimientos técnicos; el detalle técnico se lee con ellos. Un director debe entender el riesgo sin saber qué es una inyección SQL; un administrador debe poder reproducir y corregir el problema con el detalle técnico.
- Plantilla de hallazgo: la SQLi de TechNova de principio a fin
Reunimos todo lo anterior en una plantilla reutilizable, documentando el hallazgo estrella del engagement: la inyección SQL en producto.php?id= que explotamos en el Módulo 4.
### TN-2026-001 — Inyección SQL en el catálogo de productos
**Severidad:** Crítica | **CVSS v3.1:** 9.8 (ver 06-02)
**Activo afectado:** https://tienda.technova.lab/producto.php (parámetro `id`)
**Estado:** Abierto | **Detectado:** 2026-07-06 | **CWE:** CWE-89
**Descripción**
El parámetro `id` de `producto.php` se concatena directamente en una consulta
SQL sin parametrizar ni validar. Un atacante puede inyectar SQL arbitrario y
leer o modificar la base de datos de la tienda.
**Impacto**
Un atacante no autenticado puede extraer toda la base de datos de la tienda,
incluidos usuarios, hashes de contraseña y datos de pedidos. Para el negocio:
brecha de datos de clientes, posible incumplimiento de protección de datos,
daño reputacional y riesgo de toma de control de cuentas.
**Pasos de reproducción**
1. Navegar a https://tienda.technova.lab/producto.php?id=1
2. Modificar el parámetro: id=1' ORDER BY 8-- - -> error SQL (confirma inyección)
3. Determinar columnas y extraer la versión y el esquema con UNION SELECT
4. Volcar una fila de muestra de la tabla `usuarios` para probar el acceso
**Evidencia / PoC**
Petición:
GET /producto.php?id=1' UNION SELECT 1,version(),3,4,5,6,7,8-- - HTTP/1.1
Respuesta (fragmento): la página muestra "8.0.36-MySQL" en el nombre de producto.
Evidencia: TN-001_union_version.png, TN-001_usuario_muestra.png (dato redactado).
[Solo se extrajo 1 registro de muestra; no se volcó la tabla completa.]
**Recomendación (resumen, detalle en 06-03)**
Usar consultas parametrizadas (sentencias preparadas) en todos los accesos a
la base de datos. Validar y tipar el parámetro `id` como entero. Aplicar
privilegios mínimos a la cuenta de BD de la aplicación.
**Referencias**
OWASP A03:2021 (Injection); CWE-89; OWASP SQL Injection Prevention Cheat Sheet.Esta plantilla es autoexplicativa: quien la lea sabe qué pasa, dónde, cómo probarlo, qué se juega TechNova y por dónde empezar a arreglarlo. Nota que la PoC demuestra el acceso (una fila de muestra) sin volcar datos masivos ni causar daño: evidencia suficiente, impacto controlado.
Errores Comunes y Consejos
- Documentar de memoria al final. Se pierden detalles críticos y la evidencia deja de ser reproducible. Captura en caliente, siempre.
- Evidencia sin contexto. Una captura sin fecha, host y activo no prueba nada. Anota el contexto en cada pieza.
- Volcar datos reales del cliente en el informe. Enmascara los datos sensibles: demuestra el acceso, no propagues el dato. Un informe filtrado no debe ser una fuga de datos añadida.
- Un hallazgo que mezcla dos problemas. Un hallazgo = una debilidad = un activo. Si hay SQLi y XSS, son dos hallazgos con dos IDs.
- Títulos vagos. "Problema de seguridad en la web" no ayuda a nadie. Sé específico: "Inyección SQL en
producto.php". - [Ético] Tratar el informe como un documento cualquiera. Contiene vulnerabilidades reales y explotables; cífralo, contrólalo y entrégalo por canal seguro.
- Consejo: escribe el impacto pensando en quién decide el presupuesto. "Extrae la base de datos" es técnico; "expone los datos de todos los clientes" es negocio. Ambos importan, en su sección.
Ejercicios
Ejercicio 1. Durante el test descubres que el panel de administración de la tienda (https://tienda.technova.lab/admin/) es accesible sin autenticación y muestra pedidos de clientes. Redacta un hallazgo completo siguiendo la anatomía de la sección 2 (título, activo, descripción, impacto, pasos de reproducción, evidencia y recomendación resumida). Asígnale un ID.
Ejercicio 2. Un compañero te pasa esta nota: "la web tiene fallos, hay que arreglarla". Explica por qué esta nota es inservible como hallazgo y enumera qué campos le faltan para serlo.
Ejercicio 3. Estás a punto de incluir en el informe una captura que muestra la tabla usuarios completa con 12.000 correos y hashes reales de clientes de TechNova. Explica qué haces antes de incluirla y por qué, relacionándolo con la gestión de evidencia sensible.
Soluciones
Solución 1. Ejemplo de hallazgo:
- ID: TN-2026-014
- Título: Panel de administración accesible sin autenticación
- Activo afectado:
https://tienda.technova.lab/admin/ - Descripción: El directorio
/admin/no exige autenticación; cualquier usuario que conozca o adivine la ruta accede al panel y visualiza pedidos de clientes. Es un fallo de control de acceso (autorización rota). - Impacto: Un atacante no autenticado accede a datos personales y de pedidos de los clientes. Para el negocio: brecha de datos, incumplimiento normativo y daño reputacional.
- Pasos de reproducción: (1) navegar a
https://tienda.technova.lab/admin/; (2) observar que el panel carga sin pedir credenciales y lista pedidos. - Evidencia: captura del panel con los datos de cliente redactados (
TN-014_admin_sin_auth.png). - Recomendación (resumen): exigir autenticación y autorización por rol en todo
/admin/; denegar por defecto. Referencia: OWASP A01:2021 (Broken Access Control), CWE-284.
Solución 2. La nota es inservible porque no es reproducible, ni trazable, ni accionable: no dice qué falla, dónde, ni cómo demostrarlo. Le faltan todos los campos de un hallazgo: ID, título específico, activo afectado, descripción del problema, severidad, impacto de negocio, pasos de reproducción, evidencia/PoC y recomendación. Tal como está, TechNova no puede verificar nada ni corregir nada.
Solución 3. Antes de incluirla, enmascaro los datos sensibles (anonimizo correos y no incluyo hashes reales) y reduzco la evidencia a una fila de muestra que baste para probar el acceso, no la tabla entera. Motivo: la evidencia debe ser mínima pero suficiente y no debe convertir el informe en una fuga de datos. Extraer y volcar 12.000 registros reales excede la PoC necesaria, aumenta el riesgo si el informe se filtra y puede vulnerar la protección de datos. Demuestro el acceso sin propagar el dato, y guardo la evidencia cifrada y con acceso restringido.
Conclusión
Hemos convertido la materia prima del Módulo 5 en la unidad fundamental del informe: el hallazgo bien documentado. Vimos su anatomía completa —título, activo, descripción, impacto, pasos de reproducción, evidencia/PoC, severidad y recomendación—, la importancia de capturar evidencia reproducible en caliente, la trazabilidad que une cada afirmación con su evidencia cruda, el papel de las notas de campo y, muy en primer plano, la gestión de la evidencia sensible: el informe contiene vulnerabilidades reales de TechNova y se trata como material confidencial de principio a fin. También encajamos el hallazgo dentro de la estructura del informe, con su resumen ejecutivo para negocio y su detalle técnico, y dejamos una plantilla reutilizable aplicada a la SQLi de TechNova.
Ya sabemos documentar cada hallazgo; el siguiente paso es priorizarlos. En la plantilla escribimos "Severidad: Crítica | CVSS 9.8" y prometimos justificarlo. Eso es exactamente lo que hace la próxima lección, 06-02: Clasificación de Riesgos y CVSS, donde aprenderemos a calcular y leer un vector CVSS, a traducir el score a un rating y, sobre todo, a distinguir la severidad técnica del riesgo de negocio para TechNova. Documentar es tener las piezas; clasificar es saber cuáles atacar primero.
Curso de Pentesting: Técnicas de Pruebas de Penetración
Módulo 1: Introducción al Pentesting
- ¿Qué es el Pentesting?
- Tipos de Pentesting
- Fases del Pentesting
- Ética y Legalidad en el Pentesting
- Metodologías y Estándares del Sector
Módulo 2: Reconocimiento y Recolección de Información
- Reconocimiento Pasivo
- Reconocimiento Activo
- Herramientas de Recolección de Información
- OSINT y Análisis de la Superficie de Ataque
Módulo 3: Escaneo y Enumeración
Módulo 4: Explotación de Vulnerabilidades
- Introducción a la Explotación
- Explotación de Vulnerabilidades Web
- Explotación de Vulnerabilidades de Red
- Explotación de Vulnerabilidades de Sistemas
- Ataques a Contraseñas y Autenticación
Módulo 5: Post-Explotación
- Escalada de Privilegios
- Mantenimiento del Acceso
- Pivoting y Movimiento Lateral
- Cobertura de Huellas y Anti-Forense
Módulo 6: Reporte y Remediación
- Documentación de Hallazgos
- Clasificación de Riesgos y CVSS
- Recomendaciones de Remediación
- Presentación de Resultados
