
Exploit-Skript für CVE-2026-41940, eine Authentifizierungsumgehung in cPanel/WHM mittels CRLF-Injection, um Admin-Zugriff zu erlangen und das Root-Passwort zu ändern, mit Multithread-Scanning und Telegram-Benachrichtigungen.
CVE-2026-41940 – cPanel/WHM Auth Bypass + Root-Passwort-Änderer Dieses Skript nutzt eine Authentication-Bypass-Schwachstelle in cPanel/WHM (CVE-2026-41940) mithilfe von CRLF-Injection aus, um eine Administrator-Sitzung zu fälschen. Nach erfolgreichem Angriff kann das Skript das Root-Passwort des Benutzers in WHM ändern und eine Benachrichtigung über Telegram senden.
Warnung: Verwenden Sie dies nur für Sicherheitstests an Systemen, die Ihnen gehören oder für die Sie eine schriftliche Genehmigung haben. Missbrauch dieses Skripts für illegalen Zugriff verstößt gegen das Gesetz.
📦 Installation der Abhängigkeiten (PIP) Dieses Skript benötigt Python 3.6+ und zwei externe Bibliotheken. Führen Sie den folgenden Befehl aus:
pip install requests urllib3 requests – zum Senden flexibler HTTP-Anfragen
urllib3 – wird verwendet, um SSL-Warnungen (selbstsignierte Zertifikate) zu deaktivieren
Andere Bibliotheken (argparse, json, re, threading, concurrent.futures, usw.) sind bereits in der Python-Standardbibliothek enthalten.
🚀 Verwendung
(Optional) Wenn Sie Telegram-Benachrichtigungen wünschen, bearbeiten Sie die zwei Zeilen im Abschnitt HARDCODE TELEGRAM im Skript:
python TELEGRAM_BOT_TOKEN = 'token_bot_dari_BotFather' TELEGRAM_CHAT_ID = 'chat_id_anda_atau_group' Lassen Sie sie unverändert (:) und -), wenn Sie keine Benachrichtigungen wünschen.
Grundlegende Syntax bash python cve-2026-41940.py --target https://ip:2087 --password root123 python cve-2026-41940.py --targets-file targets.txt --password rahasia --threads 20 --output hasil.json python cve-2026-41940.py --target https://ip:2087 --check-only
Verfügbare Argumente Argument Erforderlich? Beschreibung --target eines von beiden Einzelnes Ziel, z. B. https://192.168.1.100:2087 oder 192.168.1.100 (Standardport 2087) --targets-file eines von beiden Textdatei mit einer Liste von Zielen (eine pro Zeile, Format ip:port oder vollständige URL) --password wenn nicht --check-only Neues Passwort für den WHM-Benutzer root --check-only nein Nur prüfen, ob das Ziel anfällig ist, ohne das Passwort zu ändern --threads nein (Standard 10) Anzahl der Threads für die parallele Ausführung --timeout nein (Standard 15) HTTP-Verbindungs-Timeout (Sekunden) --output nein Ergebnisse (JSON) in einer Datei speichern Hinweis: Port 2087 für WHM (SSL) wird automatisch hinzugefügt, wenn er nicht angegeben ist.
Verwendungsbeispiele Schwachstelle eines einzelnen Ziels prüfen (nur Test):
bash python cve-2026-41940.py --target https://203.0.113.10:2087 --check-only Exploit ausführen und Root-Passwort in p4ssw0rd! ändern:
bash python cve-2026-41940.py --target https://203.0.113.10:2087 --password p4ssw0rd! Viele Ziele aus der Datei list.txt mit 20 Threads scannen und Ergebnisse in sukses.json speichern:
bash python cve-2026-41940.py --targets-file list.txt --password MyNewPass123 --threads 20 --output sukses.json Beispielinhalt von list.txt:
text 192.168.1.1:2087 https://cpanel.example.com 203.0.113.99 5. Ausgabe & Benachrichtigungen Der Status jedes Ziels wird auf dem Bildschirm ausgegeben: [+] Erfolg, [-] Fehlgeschlagen, [!] Fehler, [*] Verarbeitung.
Wenn --output angegeben ist, werden alle Ergebnisse im JSON-Format gespeichert.
Wenn die Telegram-Anmeldedaten ausgefüllt sind, sendet ein erfolgreicher Exploit eine Nachricht wie:
text ✅ SUCCESSFUL EXPLOIT ✅ ┌ Target: 203.0.113.10:2087 ├ Username: root ├ Password: MyNewPass123 ├ WHM Version: 122.0.19 └ Time: 2025-03-20 10:15:30 UTC ⚙️ Kurze Funktionsweise Pre-auth – Senden eines fehlgeschlagenen Logins, um das Cookie whostmgrsession zu erhalten.
CRLF-Injection – Hinzufügen der Payload Basic zum Authorization-Header, um eine gefälschte Sitzungszeile einzufügen.
Propagation – Zugriff auf /scripts2/listaccts, um sicherzustellen, dass die Schwachstelle ausnutzbar ist.
Verifizierung – Aufruf von json-api/version; bei Erfolg kann auf WHM als root zugegriffen werden.
Passwort ändern – Aufruf der API passwd mit den Parametern user=root und dem neuen Passwort.
Benachrichtigung – Senden des Ergebnisses an Telegram (falls Token ausgefüllt).
⚠️ Wichtige Hinweise Das Skript erkennt die cPanel/WHM-Version nicht direkt, zeigt die Version jedoch an, falls verfügbar.
Einige Ziele verfügen möglicherweise über mod_security oder eine WAF, die die Payload blockiert. Verwenden Sie --threads nicht zu hoch, um eine Erkennung zu vermeiden.
Verwenden Sie es immer mit Genehmigung und moralischer Verantwortung.
Autor: dennisec (github.com/dennisec) Lizenz: Nur für Bildungszwecke