
Script di exploit per CVE-2026-41940, un bypass dell'autenticazione in cPanel/WHM che utilizza l'iniezione CRLF per ottenere accesso admin e cambiare la password di root, con scansione multi-thread e notifiche Telegram.
CVE-2026-41940 – Bypass Auth cPanel/WHM + Cambio Password Root Questo script sfrutta la vulnerabilità di bypass dell'autenticazione su cPanel/WHM (CVE-2026-41940) utilizzando la tecnica di iniezione CRLF per falsificare una sessione amministratore. Dopo il successo, lo script può modificare la password dell'utente root in WHM e inviare una notifica via Telegram.
Avvertenza: Utilizzare solo per test di sicurezza su sistemi di cui si è proprietari o per cui si dispone di autorizzazione scritta. L'abuso di questo script per accessi illegali viola la legge.
📦 Installazione Dipendenze (PIP) Questo script richiede Python 3.6+ e due librerie esterne. Esegui il seguente comando:
pip install requests urllib3 requests – per inviare richieste HTTP flessibili
urllib3 – utilizzato per disabilitare gli avvisi SSL (certificato self‑signed)
Le altre librerie (argparse, json, re, threading, concurrent.futures, ecc.) sono già disponibili nella libreria standard di Python.
🚀 Come Usarlo
(Facoltativo) Se desideri le notifiche Telegram, modifica le due righe nella sezione HARDCODE TELEGRAM all'interno dello script:
python TELEGRAM_BOT_TOKEN = 'token_bot_da_BotFather' TELEGRAM_CHAT_ID = 'chat_id_tuo_o_del_gruppo' Lascia come sono (: e -) se non vuoi le notifiche.
Sintassi di Base 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
Argomenti Disponibili Argomento Obbligatorio? Descrizione --target uno dei due Target singolo, esempio https://192.168.1.100:2087 o 192.168.1.100 (porta predefinita 2087) --targets-file uno dei due File di testo contenente l'elenco dei target (uno per riga, formato ip:port o URL completo) --password se non --check-only Nuova password per l'utente root WHM --check-only no Solo verifica se il target è vulnerabile, senza modificare la password --threads no (predefinito 10) Numero di thread per l'esecuzione parallela --timeout no (predefinito 15) Timeout della connessione HTTP (secondi) --output no Salva i risultati (JSON) in un file Nota: La porta 2087 per WHM (SSL) verrà aggiunta automaticamente se non specificata.
Esempi di Utilizzo Verifica la vulnerabilità di un singolo target (solo test):
bash python cve-2026-41940.py --target https://203.0.113.10:2087 --check-only Sfrutta e sostituisci la password root con p4ssw0rd!:
bash python cve-2026-41940.py --target https://203.0.113.10:2087 --password p4ssw0rd! Scansiona molti target dal file list.txt con 20 thread, salva i risultati in sukses.json:
bash python cve-2026-41940.py --targets-file list.txt --password MyNewPass123 --threads 20 --output sukses.json Esempio di contenuto di list.txt:
text 192.168.1.1:2087 https://cpanel.example.com 203.0.113.99 5. Output e Notifiche Ogni target mostrerà il proprio stato sullo schermo: [+] successo, [-] fallito, [!] errore, [*] processo.
Se --output è incluso, tutti i risultati verranno salvati in formato JSON.
Se le credenziali Telegram sono compilate, lo sfruttamento riuscito invierà un messaggio come:
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 ⚙️ Come Funziona in Breve Pre‑auth – Invia un login fallito per ottenere il cookie whostmgrsession.
Iniezione CRLF – Aggiunge il payload Basic nell'header Authorization per inserire una riga di sessione falsa.
Propagazione – Accede a /scripts2/listaccts per garantire che la vulnerabilità sia sfruttabile.
Verifica – Chiama json-api/version; se ha successo, può accedere a WHM come root.
Cambio Password – Chiama l'API passwd con i parametri user=root e la nuova password.
Notifica – Invia il risultato a Telegram (se il token è compilato).
⚠️ Note Importanti Lo script non rileva direttamente la versione di cPanel/WHM, ma la mostrerà se disponibile.
Alcuni target potrebbero avere mod_security o WAF che bloccano il payload. Usa --threads non troppo alto per evitare il rilevamento.
Usa sempre con autorizzazione e responsabilità morale.
Autore: dennisec (github.com/dennisec) Licenza: Solo uso educativo