# Informes de pentesting

Hacer un buen pentest no se trata solo de explotar cosas. Al final, una de las cosas que más importa es **cómo transmitimos ese conocimiento**. Y seamos honestos/as: para la mayoría, **documentar hallazgos es la parte más tediosa del trabajo**.

Puedes explotar una vulnerabilidad de forma compleja o creativa, pero **si después** **la explicación es pobre o desordenada, el trabajo pierde brillo**. No comunica el valor real del hallazgo, ni su impacto.

Una buena redacción debería, como mínimo:

* **Definir claramente** qué se encontró, cómo y por qué es importante.
* **Detallar de forma estructurada paso a paso** cómo se reproduce, incluyendo:
  * Dónde se identificó (sección, *endpoint*, funcionalidad, etc.).
  * Qué petición, comando o *payload* se usaron.
  * Qué resultado se obtuvo como evidencia clara de la presencia de la vulnerabilidad o explotación exitosa.
* **Explicar el impacto real y potencial** para los sistemas afectados, los usuarios, el negocio o el cumplimiento normativo.
* **Indicar las medidas necesarias para solventar la vulnerabilidad o mitigar el riesgo**, junto con buenas prácticas si aplica.

Y volviendo al tema de lo tedioso que puede ser escribir todo esto... es ahí donde entra la IA. Usar IAs para generar una primera versión del hallazgo, estructurada y clara, que después puede adaptarse al contexto de la vulnerabilidad identificada o explotada. Así se puede enfocar más el tiempo en la práctica y menos en la documentación.

***

## Redacción de una vulnerabilidad

La plantilla está diseñada para **automatizar la redacción técnica de vulnerabilidades** en informes de pentesting. Utiliza un prompt optimizado para ChatGPT (GPT-4o) que genera una entrada completa a partir de los datos reales de un hallazgo. En resumen:

* Una estructura estandarizada de 6 secciones: Título, Definición, Descripción, Impacto, Solución y Referencias.
* Un bloque editable tipo YAML donde se cargan los datos del hallazgo (parámetro vulnerable, URL, método, impacto, etc.).&#x20;
  * **IA no local:** Si se usa una IA que no se encuentre en local **hay riesgo del compromiso de la privacidad de los datos** debido a no tener un control total del manejo de datos, por lo que, en este caso, se deja el **ejemplo anonimizado y luego se adapta en local**.
  * **IA local:** En caso de usarla en local y se pueda **asegurar la privacidad total de los datos**, se pueden rellenar con datos reales. (Ver [IA en local](/general/ia/ia-en-local.md))
* Reglas de estilo claras para que el resultado sea coherente y profesional.
* Instrucciones para revisar el contenido generado en un **lienzo editable** antes de exportar la vulnerabilidad redactada.

### Prompt

<https://github.com/xtormin/PentestPrompts/blob/1c66b4ed16bfc85911c33bb07315839a7d273135/Informes/vulnerability-report.md>

### Ejemplo

Para este ejemplo se ha usando **ChatGPT con GPT-4o**. Cuando se ejecuta el prompt, se abre un lienzo donde es posible realizar los cambios necesarios y luego pedir que nos exporte un fichero .md que podemos utilizar y adaptar con la información confidencial en nuestra herramienta de reporting favorita.

La siguiente captura muestra la **salida por defecto y sin adaptar tras usar el prompt anterior**. Como se puede observar, esto da una plantilla que luego **debe revisarse ante posibles (y probables) alucinaciones**, por ello el lienzo es una buena forma de hacer nuestras adaptaciones directamente, pedir mejoras concretas, etc.

<figure><img src="/files/lwAP0jwZR6XKebxYByCM" alt=""><figcaption><p>Lienzo de ChatGPT editable</p></figcaption></figure>

Una vez se hayan terminado las adaptaciones, se puede solicitar el fichero en formato markdown con el siguiente prompt:

```markdown
Genera un fichero descargable en formato .md con todo el contenido del lienzo
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.xtormin.com/general/plantillas-de-prompts/informes-de-pentesting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
