Este repositorio contiene los scripts ofensivos, pruebas de concepto (PoCs) y herramientas de auditoría. Se organizan por carpetas de categoría y subcarpetas individuales por cada exploit.
scripts/
├── rce/ ← Nombre de la categoría (slug en minúsculas)
│ ├── log4shell/ ← Nombre/Slug del script (slug único)
│ │ ├── README.md ← OBLIGATORIO (con Frontmatter YAML)
│ │ ├── exploit.py ← Archivo de código principal (se renderiza en la UI)
│ │ └── mitigation.md ← Opcional (información adicional)
│ └── shellshock/
│ ├── README.md
│ └── exploit.sh
Cada subcarpeta de script debe contener un README.md con un bloque superior Frontmatter YAML delimitado por --- para definir las propiedades:
---
title: "Log4Shell Exploit"
cve: "CVE-2021-44228"
severity: critical
difficulty: advanced
author: "Equipo PternaSec"
description: "Script de prueba de concepto para explotar la vulnerabilidad de inyección JNDI en Log4j."
tags:
- Apache
- Log4j
- JNDI
- RCE
cvss: 10.0
verified: true
lab: log4shell
---
## Descripción del Exploit
Aquí va el contenido explicativo de la vulnerabilidad en formato Markdown estándar...Las carpetas raíz del repositorio deben coincidir con alguno de los siguientes identificadores soportados:
rce(Remote Code Execution)sqli(SQL Injection)xss(Cross-Site Scripting)lfi(File Inclusion)ssrf(Server-Side Request Forgery)csrf(Cross-Site Request Forgery)xxe(XML External Entity)path-traversal(Path Traversal)cmd-injection(Command Injection)buffer-overflow(Buffer Overflow)priv-esc(Privilege Escalation)auth(Authentication Bypass)crypto(Cryptographic Weakness)deserialization(Insecure Deserialization)idor(Insecure Direct Object Reference)open-redirect(Open Redirect)race-condition(Race Condition)cors(Cross-Origin Resource Sharing)prototype-pollution(Prototype Pollution)ssti(Server-Side Template Injection)crlf(CRLF Injection)http-smuggling(HTTP Request Smuggling)graphql(GraphQL Vulnerability)websockets(WebSockets Vulnerability)uaf(Use After Free / Binary Vulnerabilities)
Determina el color de las etiquetas de gravedad en la interfaz. Opciones admitidas:
critical(Crítica - Color Rojo)high(Alta - Color Naranja)medium(Media - Color Amarillo)low(Baja - Color Azul)
Determina la clasificación del laboratorio para el aprendizaje. Opciones admitidas:
beginner(Equivale a "Básico")intermediate(Equivale a "Intermedio")advanced(Equivale a "Avanzado")expert(Equivale a "Experto")
Debe ser el slug exacto del laboratorio asociado en el repositorio vuln-labs (ej. log4shell). Si este campo está definido, la UI mostrará automáticamente una etiqueta indicando "Lab disponible".