Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-29145-Tester — Este repositório contém um ambiente de prova de conceito (PoC) projetado para testar a CVE-2026-29145. | Kitploit
Ferramentas/GitHubGitHub/chenjp/cve-2026-29145-tester
Análise de VulnerabilidadesExploraçãoSegurança WebTestes de PenetraçãoAutenticaçãoAprendizado e Educação
GitHubchenjp/cve-2026-29145-tester

CVE-2026-29145-Tester

Este repositório contém um ambiente de prova de conceito (PoC) projetado para testar a CVE-2026-29145.

Ver Repositório
há 4 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

Ambiente de Teste para CVE-2026-29145

📌 Visão Geral

Este repositório contém um ambiente de prova de conceito (PoC) projetado para testar a CVE-2026-29145.

A vulnerabilidade é uma falha de autenticação na implementação de TLS Mútuo (CLIENT_CERT) do Apache Tomcat. Quando o OCSP (Online Certificate Status Protocol) é configurado com soft-fail desabilitado, o Tomcat pode falhar ao tratar uma falha de verificação OCSP como uma negação definitiva. Isso permite que um cliente com um certificado potencialmente revogado ou não verificado contorne a autenticação se o respondedor OCSP estiver inacessível ou retornar um erro.

🛡️ Detalhes da Vulnerabilidade

PropriedadeValor
ID CVECVE-2026-29145
Pontuação CVSS9.1 (Crítica) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Vetor de AtaqueRede
Privilégios NecessáriosNenhum
ImpactoBypass de Autenticação

Pré-requisitos para a Vulnerabilidade

  • ✓ Autenticação CLIENT_CERT habilitada no Tomcat
  • ✓ Verificação de revogação OCSP habilitada
  • ✓ Opção soft-fail desabilitada (modo hard-fail)
  • ✓ Respondedor OCSP inacessível ou com falha

🚀 Começando

Pré-requisitos

  • Docker & Docker Compose: Para executar o contêiner Tomcat vulnerável
  • OpenSSL: Para gerar a PKI (Public Key Infrastructure) - geralmente pré-instalado em Linux/macOS
  • Python 3.7+: Para executar o script de teste e o respondedor simulado
  • curl (opcional): Para testes manuais
  • PowerShell (somente Windows): Se usar os scripts .ps1

1. Ciclo de Teste Automatizado Completo (Recomendado)

O script run_test.sh automatiza todo o processo: limpeza, geração de certificados e execução de todos os cenários de teste (vulnerável, sucesso e corrigido).

root@kitploit:~
# Navegue até o diretório do projeto
cd CVE-2026-29145-Tester

# Torne os scripts executáveis
chmod +x cleanup.sh setup_certs.sh run_test.sh

# Instale as dependências Python (se o poc_exploit.py exigir)
pip install -r requirements.txt

# Execute a suíte de testes completa
./run_test.sh

2. Gerar certificados

No Linux/macOS:

root@kitploit:~
./setup_certs.sh

No Windows (PowerShell):

root@kitploit:~
.\setup_certs.ps1

O que isso faz:

  • Cria uma CA Raiz (Certificate Authority)
  • Gera o certificado do servidor para o Tomcat
  • Gera o certificado do cliente com extensão OCSP apontando para http://localhost:8888
  • Valida se todos os certificados foram criados com sucesso

Saída esperada:

root@kitploit:~
[INFO] Iniciando geração de certificados para o ambiente de teste CVE-2026-29145
[INFO] OpenSSL encontrado: OpenSSL 3.0.x (...)
[INFO] Diretório certs criado
[INFO] Gerando CA Raiz...
[INFO] Gerando Certificado do Servidor...
[INFO] Gerando Certificado do Cliente com Extensão OCSP...
[INFO] Configuração de certificados concluída com sucesso!

3. Iniciar o ambiente vulnerável

root@kitploit:~
docker-compose up -d

O que isso faz:

  • Inicia o Respondedor Simulado OCSP na porta 8888 (simula falha com HTTP 500)
  • Inicia o Tomcat 10.1.52 vulnerável na porta 8443 com autenticação CLIENT_CERT
  • Cria rede Docker interna para comunicação entre serviços
  • Configura health checks para ambos os serviços

Verifique se os contêineres estão em execução:

root@kitploit:~
docker-compose ps

4. Executar o teste de exploração

root@kitploit:~
python poc_exploit.py

Saídas esperadas:

Sistema Vulnerável:

root@kitploit:~
[INFO] Tentando conexão com https://localhost:8443/protected-resource...
[WARNING] VULNERÁVEL: Acesso concedido apesar da falha na verificação OCSP.
[WARNING] Prévia da resposta: <html>...

Sistema Corrigido:

root@kitploit:~
[INFO] Tentando conexão com https://localhost:8443/protected-resource...
[INFO] NÃO VULNERÁVEL: Acesso negado (Autenticação funcionando).

🧪 Cenários de Teste

CenárioStatus OCSPEsperado (Corrigido)Resultado (Vulnerável)Observações
Operação NormalOnline e Válido200 OK ✓200 OK ✓Verificação OCSP bem-sucedida, acesso concedido
Falha SuaveOffline/Timeout403 Proibido ✓200 OK ✗BYPASS - Respondedor OCSP inacessível
Revogação DefinitivaOnline e Revogado403 Proibido ✓403 Proibido ✓Certificado explicitamente revogado
Certificado InválidoCadeia Inválida403 Proibido ✓403 Proibido ✓Validação da cadeia falha

Executando Diferentes Cenários de Teste

Teste 1: Padrão (Respondedor OCSP com Falha)

root@kitploit:~
# Mantenha os contêineres em execução
python poc_exploit.py

Teste 2: Parar Respondedor OCSP (Simular Timeout)

root@kitploit:~
docker-compose pause ocsp-responder
python poc_exploit.py
docker-compose unpause ocsp-responder

Teste 3: Teste Manual com curl

root@kitploit:~
curl -v \
  --cert certs/client-cert.pem \
  --key certs/client-key.pem \
  --cacert certs/ca-chain.pem \
  https://localhost:8443/protected-resource

🛠️ Estrutura do Projeto

root@kitploit:~
CVE-2026-29145-Tester/
├── README.md                    # Este arquivo
├── setup_certs.sh              # Script de geração de certificados - Bash (Linux/macOS)
├── setup_certs.ps1             # Script de geração de certificados - PowerShell (Windows)
├── cleanup.sh                  # Script de limpeza e redefinição - Bash (Linux/macOS)
├── cleanup.ps1                 # Script de limpeza e redefinição - PowerShell (Windows)
├── run_test.sh                 # Script de ciclo de teste automatizado completo
├── docker-compose.yml          # Orquestração de serviços Docker
├── requirements.txt            # Dependências Python
├── poc_exploit.py              # Script de teste principal (com logging e tratamento de erros)
├── simple_proxy_fail.py        # Respondedor OCSP simulado (com logging detalhado)
├── .gitignore                  # Regras de ignore do Git para certificados e logs
├── certs/                      # Certificados gerados (criados pelos scripts setup_certs)
│   ├── ca-chain.pem           # Certificado da CA Raiz
│   ├── ca-key.pem             # Chave privada da CA Raiz
│   ├── server-cert.pem        # Certificado do servidor Tomcat
│   ├── server-key.pem         # Chave privada do servidor Tomcat
│   ├── client-cert.pem        # Certificado do cliente de teste
│   └── client-key.pem         # Chave privada do cliente de teste
├── tomcat/
│   └── server.xml             # Configuração do Tomcat vulnerável
└── logs/                       # Logs do Tomcat (criados em tempo de execução)

📋 Detalhes de Configuração

Configuração do Server.xml (Vulnerável)

O arquivo tomcat/server.xml configura:

root@kitploit:~
<SSLHostConfig 
    hostName="localhost"
    certificateVerification="required"
    caCertificateFile="conf/certs/ca-chain.pem">
    
    <OpenSSLConf>
        <ConfCommand name="OCSP" value="on"/>
    </OpenSSLConf>
</SSLHostConfig>

Configurações Principais:

  • certificateVerification="required" - Impõe autenticação CLIENT_CERT
  • OCSP on - Habilita verificação de revogação OCSP
  • Sem override de soft-fail - Usa modo hard-fail (vulnerável)

Configuração do Respondedor OCSP

O respondedor OCSP simulado (simple_proxy_fail.py):

  • Escuta em localhost:8888
  • Sempre retorna HTTP 500 (Erro do Servidor)
  • Registra todas as solicitações OCSP recebidas
  • Simula um serviço OCSP inacessível/com falha

🔧 Solução de Problemas

Problemas Comuns e Soluções

❌ Erro: "OpenSSL não está instalado"

root@kitploit:~
# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

❌ Erro: "Arquivos de certificado ausentes"

Causa: A geração de certificados falhou ou não foi executada.

root@kitploit:~
# Limpe e regenere
rm -rf certs
./setup_certs.sh

❌ Erro: "Conexão recusada" na porta 8443

Causa: O contêiner Tomcat não está em execução ou não está pronto.

root@kitploit:~
# Verifique o status do contêiner
docker-compose ps

# Verifique os logs
docker-compose logs vulnerable-tomcat

# Garanta que ambos os serviços estejam em execução e saudáveis
docker-compose up -d
sleep 10  # Aguarde os serviços iniciarem

❌ Erro: "Tempo de conexão esgotado"

Causa: O Tomcat está demorando muito para iniciar ou há problemas de rede.

root@kitploit:~
# Verifique os logs de inicialização do Tomcat
docker-compose logs vulnerable-tomcat

# Aumente o timeout e tente novamente
timeout 30 docker-compose logs -f vulnerable-tomcat  # Monitore a inicialização

❌ Erro: "docker-compose: comando não encontrado"

Causa: Docker Compose não instalado ou não está no PATH.

root@kitploit:~
# Instale o Docker Compose (se usar standalone)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.x.x/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# Ou use docker compose (V2 integrado ao Docker Desktop)
docker compose up -d

❌ Erro: "SSL: CERTIFICATE_VERIFY_FAILED"

Causa: Falha na validação do certificado.

root@kitploit:~
# Verifique se os arquivos de certificado existem
ls -la certs/

# Verifique a validade do certificado
openssl x509 -in certs/client-cert.pem -noout -text

❌ Erro: "requests.exceptions.SSLError"

Causa: Falha no handshake SSL - pode indicar que o hard-fail está funcionando corretamente.

Solução: Na verdade, isso é um sinal positivo! O hard-fail está impedindo o acesso quando o OCSP falha.

root@kitploit:~
# Verifique se o respondedor OCSP está em execução
docker-compose ps ocsp-responder

# Veja o erro detalhado
python poc_exploit.py  # Já fornece logging detalhado

❌ Erro: "Endereço já em uso"

Causa: A porta 8443 ou 8888 já está em uso.

root@kitploit:~
# Encontre o processo usando a porta
lsof -i :8443
lsof -i :8888

# Encerre o processo ou use portas diferentes no docker-compose.yml

Depuração e Logs

Visualizar logs detalhados

root@kitploit:~
# Logs do Tomcat
docker-compose logs -f vulnerable-tomcat

# Logs do respondedor OCSP
docker-compose logs -f ocsp-responder

# Depuração do script Python
python poc_exploit.py  # Já inclui logging detalhado

Monitorar eventos em tempo real

root@kitploit:~
# Abra um terminal e execute
docker-compose logs -f

# Em outro terminal, execute o teste
python poc_exploit.py

Depuração de rede

root@kitploit:~
# Teste a conectividade com o respondedor OCSP
curl http://localhost:8888/

# Teste o respondedor OCSP de dentro do contêiner Tomcat
docker exec vulnerable-tomcat curl http://ocsp-responder:8888/

# Teste o handshake SSL
openssl s_client -connect localhost:8443 \
  -cert certs/client-cert.pem \
  -key certs/client-key.pem \
  -CAfile certs/ca-chain.pem

🧹 Limpeza

Para remover todos os contêineres, volumes, certificados e logs:

No Linux/macOS:

root@kitploit:~
./cleanup.sh

No Windows (PowerShell):

root@kitploit:~
.\cleanup.ps1

O que isso faz:

  • Para e remove todos os contêineres Docker
  • Remove o diretório certs/ gerado
  • Remove o diretório logs/
  • Limpa os arquivos de cache Python

Verifique a limpeza:

root@kitploit:~
docker-compose ps  # Deve mostrar nada
ls -la certs/      # Não deve existir

⚖️ Aviso Legal

Este projeto é apenas para fins de teste de segurança educacional e autorizado.

  • ⚠️ Use apenas contra sistemas que você possui ou para os quais tem permissão explícita por escrito para testar
  • ⚠️ Usar essas ferramentas contra sistemas sem autorização é ilegal e antiético
  • ⚠️ Os autores não são responsáveis por qualquer uso indevido deste software
  • ⚠️ Sempre garanta que você tenha backups adequados antes de testar em sistemas de produção

📝 Remediação

Para mitigar esta vulnerabilidade, atualize o Apache Tomcat para as seguintes versões:

Série de VersãoVersão Mínima Corrigida
11.0.x11.0.20 ou posterior
10.1.x10.1.53 ou posterior
9.0.x9.0.116 ou posterior

Passos para atualização:

root@kitploit:~
# Exemplo: Atualize o docker-compose.yml para usar a versão corrigida
# Altere: image: tomcat:10.1.52-jdk17
# Para: image: tomcat:10.1.53-jdk17

docker-compose down
docker-compose up -d

🔗 Referências

  • Detalhes da CVE-2026-29145
  • Documentação do Apache Tomcat
  • OCSP (RFC 6960)
  • Visão Geral do TLS Mútuo (mTLS)

📬 Suporte

Para problemas, perguntas ou contribuições, abra uma issue ou envie um pull request.


Última Atualização: Abril de 2026
Status: Teste e Documentação Concluídos

Baixar ferramenta