Share
## https://sploitus.com/exploit?id=D8A0FAED-7848-507B-92DE-B2480730B996
# Guía de Estructura de Scripts — PternaSec/scripts
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.
## Estructura de Directorios
```
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
```
---
## Formato del README.md (Frontmatter YAML)
Cada subcarpeta de script debe contener un `README.md` con un bloque superior Frontmatter YAML delimitado por `---` para definir las propiedades:
```markdown
---
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...
```
---
## Opciones Disponibles para los Campos
### 1. Categorías (`category` de la carpeta superior)
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)
### 2. Severidad (`severity`)
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)
### 3. Dificultad (`difficulty`)
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")
### 4. Relación con Laboratorio (`lab`)
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".