Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 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/sancliffe/cve-2026-29145-tester
Analisi delle VulnerabilitàExploitSicurezza WebPenetration TestingAutenticazioneApprendimento e Formazione
GitHubsancliffe/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
195 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 la CVE-2026-29145.

La vulnerabilità è un bypass dell'autenticazione nell'implementazione del 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).

# 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:

./setup_certs.sh

Su Windows (PowerShell):

.\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:

[INFO] Avvio della generazione dei certificati per l'ambiente di test CVE-2026-29145
[INFO] OpenSSL trovato: OpenSSL 3.0.x (...)
[INFO] Creata la directory certs
[INFO] Generazione della Root CA...
[INFO] Generazione del Certificato Server...
[INFO] Generazione del Certificato Client con Estensione OCSP...
[INFO] Configurazione dei certificati completata con successo!

3. Avviare l'ambiente vulnerabile

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:

docker-compose ps

4. Eseguire il test di sfruttamento

python poc_exploit.py

Output attesi:

Sistema Vulnerabile:

[INFO] Tentativo di connessione a https://localhost:8443/protected-resource...
[WARNING] VULNERABILE: Accesso concesso nonostante il fallimento del controllo OCSP.
[WARNING] Anteprima della risposta: <html>...

Sistema Patchato:

[INFO] Tentativo di connessione a https://localhost:8443/protected-resource...
[INFO] NON VULNERABILE: Accesso negato (Autenticazione funzionante).

🧪 Scenari di Test

ScenarioStato OCSPAtteso (Patchato)Risultato (Vulnerabile)Note
Funzionamento NormaleOnline e Valido200 OK ✓200 OK ✓Il controllo OCSP riesce, accesso concesso
Soft FailureOffline/Timeout403 Forbidden ✓200 OK ✗BYPASS - Responder OCSP non raggiungibile
Revoca DefinitivaOnline 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)

# Mantenere i container in esecuzione
python poc_exploit.py

Test 2: Arrestare il Responder OCSP (Simulare Timeout)

docker-compose pause ocsp-responder
python poc_exploit.py
docker-compose unpause ocsp-responder

Test 3: Test Manuale con curl

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

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:

<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 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 non è installato"

# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

❌ Errore: "File di certificato mancanti"

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

# Pulire e rigenerare
rm -rf certs
./setup_certs.sh

❌ Errore: "Connessione rifiutata" sulla porta 8443

Scarica lo strumento