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