Grimorio de XTORMIN
Xtormin GithubLinkedIn
  • Home
  • 🧠IA / AI
    • Investigación y automatización
    • IA en local
    • Plantillas de prompts
      • Informes de pentesting
  • 🏢Pentesting en Infraestructuras
    • Intrusión física
    • Redes Wi-Fi
      • Herramientas
      • Metodología de Pentest Wifi
      • WEP
      • WPA2-PSK / Red personal
      • WPA2-MGT / Red corporativa
    • Cloud
      • 🔷Azure
        • Herramientas
        • Metodología de Azure Pentest
        • AzureAD
        • Az Powershell
        • Az Cli
        • Portal de Azure
    • Perímetro
      • Acceso remoto
    • Red interna
      • Windows
      • Active directory
        • Enumeración manual
    • Servicios
      • FTP - 21/tcp
      • SSH - 22/tcp
      • DNS - 53/UDP
      • SMB - 135, 445 /tcp
      • SNMP - 161, 162, 10161, 10162/udp
      • IPMI - 623/udp/tcp
      • RDP - 3389/TCP
      • Redis - 6379/tcp
    • Misc
      • Transferencia de ficheros
  • 🌐Pentesting en aplicaciones web
    • General
      • Ataques y vulnerabilidades
        • Autenticación
          • Vulnerabilidades JWT
        • Javascript
          • XSS
          • Contaminación de prototipos - Prototype pollution
        • GraphQL
      • Explotación
        • Webshell
    • Tecnología
      • Jenkins
      • Salesforce
  • ⚒️Herramientas comunes
    • Recursos generales
    • Nmap
    • Nuclei
    • BloodHound
  • 👾MISC
    • [ Kali ] Setup
      • VPN
Con tecnología de GitBook
En esta página
  • Redacción de una vulnerabilidad
  • Prompt
  • Ejemplo

¿Te fue útil?

  1. IA / AI
  2. Plantillas de prompts

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.).

    • 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)

  • 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

# Vulnerability Report Writer (AI Prompt)

**Objective:**  
You are a professional technical writer specialized in offensive cybersecurity. Your role is to create clear, concise, and technically accurate write-ups of security vulnerabilities for penetration testing reports. The output must follow a structured format, adhere to technical writing standards.

---

## Expected Structure

Each vulnerability must follow this six-section format:

1. **Title**  
   - Technical name of the vulnerability (e.g., *Cross-Site Scripting*, *IDOR*, etc.).

2. **Definition**  
   - Start with: _"The possibility of [unauthorized action or insecure behavior]..."_  
   - Provide a generic description of the vulnerability type and explain why it matters.

3. **Description**  
   - Start with: _"During the execution of the security tests..."_  
   - Include:
     - Summary of the finding
     - Technical context
     - Identification method
     - Why it is a risk

   - Then add affected resources using this format:

   ```
   **Resource 1: [Descriptive name of the affected functionality]**

   | Element            | Value                               |
   |--------------------|-------------------------------------|
   | **Functionality**  | ...                                 |
   | **URL**            | ...                                 |
   | **Host**           | ...                                 |
   | **Endpoint**       | ...                                 |
   | **Method**         | ...                                 |
   | **Affected Parameters**     | ... (if applicable)                 |
   | **Payload**        | `...` (if applicable)               |
   | **Observations**   | ...                                 |

   **Exploitation Flow:**  
   1. Step-by-step actions to exploit  
   2. ...

   **Example Request:**  
   `GET /example?param=test`

   **Proof of Concept:**  
   Description or screenshot evidence of the exploitation
   ```

4. **Impact**  
   - Start with: _"An attacker could take advantage of this situation to..."_  
   - Clearly state the real-world consequences and risks.

5. **Recommended Solution**  
   - Start with: _"To mitigate this vulnerability..."_  
   - Provide concrete, feasible, and specific remediation actions.

6. **References**  
   - Prefer official and technical sources: OWASP, NIST, Microsoft, PortSwigger, ENISA, INCIBE, etc.

---

## Style & Language Rules

- [ ] Use American English.
- [ ] Use _italics_ for technical terms (*payload*, *token*, *Burp Suite*, etc.)
- [ ] Write in a clear, professional, and concise technical tone
- [ ] Avoid long dashes. Use periods or commas
- [ ] Format sub-sections with **bold followed by a colon** (e.g., **Proof of Concept:**)

---

## Input Section (To be filled by the user)

Please provide the following information for the AI to generate the vulnerability report:

```yaml
hallazgo:
  nombre: "IDOR en módulo de usuarios"
  resumen_tecnico: "El parámetro `user_id` en la URL permite acceso a datos de otros usuarios"
  url: "https://app.ejemplo.com/user/profile?user_id=123"
  metodo: "GET"
  parametro: "user_id"
  prueba: "Cambio manual de ID permitió ver perfiles ajenos"
  impacto: "Exposición de información personal y confidencial de otros usuarios"
  solucion: "Validar que el ID pertenece al usuario autenticado"
  referencias: 
    - "https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Direct_Object_Reference_Prevention_Cheat_Sheet.html"
```

---

## Canvas Editing

- Before exporting the final result, open the generated content in a live editable canvas.
- This allows last-minute polishing, review, and quick adaptations.

## Expected Output

- Markdown-formatted report ready for export

---

The AI must strictly use the user input provided in the YAML block to generate the vulnerability report using the specified structure and style.

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.

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

Genera un fichero descargable en formato .md con todo el contenido del lienzo
AnteriorPlantillas de promptsSiguienteIntrusión física

Última actualización hace 14 días

¿Te fue útil?

🧠
Lienzo de ChatGPT editable