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
cpanel-cve-2026-41940-ioc — CVE-2026-41940 scanner IOC per bypass dell'autenticazione cPanel/WHM — corregge i falsi positivi nello script di rilevamento upstream, aggiunge la cross-correlazione dei log | Kitploit
Strumenti/GitHubGitHub/andrei-dr/cpanel-cve-2026-41940-ioc
Strumenti DifensiviScanner di VulnerabilitàSicurezza WebAutenticazioneRisposta agli IncidentiAnalisi dei Log
GitHubandrei-dr/cpanel-cve-2026-41940-ioc

cpanel-cve-2026-41940-ioc

CVE-2026-41940 scanner IOC per bypass dell'autenticazione cPanel/WHM — corregge i falsi positivi nello script di rilevamento upstream, aggiunge la cross-correlazione dei log

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 →
Vedi Repository
484 mesi faNon ancora revisionato
Condividi

Scanner IOC CVE-2026-41940

Script di rilevamento per il bypass di autenticazione cPanel/WHM (CVE-2026-41940) che interessa tutte le versioni di cPanel successive alla 11.40.

Questa è una riscrittura dello script di rilevamento cPanel upstream con correzioni per i falsi positivi e correlazione dei log aggiunta.

Cosa fa

Analizza /var/cpanel/sessions/raw/ alla ricerca di file di sessione che mostrano segni di sfruttamento tramite iniezione di newline, quindi incrocia gli IP sospetti e i token di sessione con i log di accesso/login/errore di cPanel. Analizza anche l'access_log per individuare sfruttamenti storici in cui il file di sessione è nel frattempo scaduto o è stato eliminato.

Correzioni rispetto allo script upstream

  1. Elimina la regex multi-linea pass difettosa che genera falsi positivi su ogni sessione autenticata in produzione (la regex corrisponde a qualsiasi campo pass= seguito da un'altra riga, cioè ogni file di sessione).
  2. Generalizza il rilevamento dell'iniezione a method=badpass origin + QUALSIASI attributo post-autenticazione invece di richiedere la combinazione ristretta token_denied + cp_security_token. Rileva le varianti PoC che omettono token_denied.
  3. Gravità a tre livelli basata sull'esito osservato anziché su un flag binario:
    • CRITICO — token iniettato osservato con 2xx/3xx nell'access_log (sfruttamento riuscito), oppure sfruttamento storico trovato nell'access_log dopo la scadenza della sessione
    • ALTO — la scrittura dell'iniezione è avvenuta ma il token non è mai apparso nell'access_log (preparato, potrebbe ancora essere usato)
    • MEDIO — il token è stato provato ma ogni richiesta ha ricevuto 4xx/5xx (il server lo ha bloccato)
  4. Linee guida di rimedio scalate — CRITICO/ALTO attiva la risposta completa all'incidente; solo MEDIO significa che il server ha retto e riceve passaggi di pulizia più leggeri.
  5. Incrocio sia per cpsessid che per IP raccolti dalle occorrenze nell'access_log del token iniettato, rilevando i cambi di IP dell'attaccante dopo l'iniezione.
  6. Rilevamento solo tramite access_log — rileva lo sfruttamento in cui il file di sessione è scaduto o è stato eliminato, correlando i tentativi di login falliti (POST /login/?login_only=1 -> 401) con il successivo utilizzo di un token cpsess valido dallo stesso IP.
  7. Modalità --extended per un'analisi più approfondita dei log da fonti aggiuntive.

Esecuzione rapida (senza clonazione)

root@kitploit:~
# Bash — funziona ovunque, nessuna dipendenza
bash <(curl -fsSL https://raw.githubusercontent.com/AndreiG6/cpanel-cve-2026-41940-ioc/main/ioc.sh)

# Python — più veloce su directory di sessione grandi, supporta --json
curl -fsSLo /tmp/ioc.py https://raw.githubusercontent.com/AndreiG6/cpanel-cve-2026-41940-ioc/main/ioc.py
python3 /tmp/ioc.py

# Scansione estesa (entrambe le varianti)
bash <(curl -fsSL https://raw.githubusercontent.com/AndreiG6/cpanel-cve-2026-41940-ioc/main/ioc.sh) --extended
python3 /tmp/ioc.py --extended

# Controlla il codice di uscita dopo l'esecuzione ($? = 0 pulito, 1 IOC trovati, 2 errore ambiente)
echo $?

Flag curl: -f fallisce sugli errori HTTP invece di reindirizzare una pagina di errore in bash, -s silenzioso (nessuna barra di avanzamento), -S mostra comunque gli errori nonostante -s, -L segue i reindirizzamenti.

Output JSON (solo Python)

La variante Python supporta --json per un output strutturato che puoi reindirizzare a jq, inviare a un SIEM o elaborare programmaticamente.

root@kitploit:~
# Output JSON completo
python3 ioc.py --json

# Solo i conteggi di riepilogo
python3 ioc.py --json | jq '.counts'

# Elenca tutti i risultati CRITICI
python3 ioc.py --json | jq '[.findings[] | select(.severity == "CRITICAL")]'

# Estrai gli IP attaccanti univoci
python3 ioc.py --json | jq '.suspect_ips[]'

# Mostra i risultati con i loro IP sorgente (per le blocklist del firewall)
python3 ioc.py --json | jq '[.findings[] | {severity, source_ip, token: .cp_security_token}]'

# Ottieni tutti gli IP che hanno avuto un utilizzo riuscito del token (per blocco immediato)
python3 ioc.py --json | jq '[.findings[] | select(.severity == "CRITICAL") | .source_ip] | unique'

# Fornisci i dati di cross-reference per un IP specifico
python3 ioc.py --json | jq '.cross_ref[.suspect_ips[0]]'

Esempio di struttura JSON:

root@kitploit:~
{
  "findings": [
    {
      "severity": "CRITICAL",
      "file": "/var/cpanel/sessions/raw/:Q3f8Ag2epeBuTaIZ",
      "verdict": "Injected token used successfully (2xx/3xx in access_log)",
      "origin": "address=203.0.113.50,app=whostmgrd,method=badpass",
      "source_ip": "203.0.113.50",
      "user": "root",
      "hasroot": "1",
      "tfa_verified": "0",
      "cp_security_token": "/cpsess04396539398",
      "token_denied": "1",
      "successful_internal_auth_with_timestamp": "9999999999",
      "token_hits": [
        "203.0.113.50 - root [04/30/2026:12:12:01 -0000] \"GET /cpsess04396539398/json-api/version HTTP/1.1\" 200 0 ..."
      ]
    },
    {
      "severity": "MEDIUM",
      "file": "/var/cpanel/sessions/raw/:2TDiaHwh_r8qOH5y",
      "verdict": "Injection landed; token was tried but BLOCKED (all 4xx/5xx)",
      "source_ip": "198.51.100.23",
      "cp_security_token": "/cpsess5637704041",
      "token_hits": [
        "198.51.100.23 - root [04/30/2026:04:08:09 -0000] \"GET /cpsess5637704041/json-api/version HTTP/1.1\" 403 0 ..."
      ]
    },
    {
      "severity": "CRITICAL",
      "file": null,
      "verdict": "Injected cpsess token used with 2xx/3xx after failed login; session expired or purged",
      "source_ip": "203.0.113.99",
      "cp_security_token": "/cpsess8705792557",
      "token_hits": ["..."]
    }
  ],
  "counts": {"critical": 2, "high": 15, "medium": 71, "warning": 0},
  "suspect_ips": ["203.0.113.50", "198.51.100.23", "203.0.113.99"],
  "suspect_ips_omitted": 0,
  "cross_ref": {
    "203.0.113.50": {
      "cpanel_access_log": ["...last 5 lines..."],
      "cpanel_login_log": ["..."]
    }
  },
  "advisory": "https://support.cpanel.net/hc/en-us/articles/40073787579671"
}

Utilizzo (copia locale)

root@kitploit:~
git clone https://github.com/AndreiG6/cpanel-cve-2026-41940-ioc.git
cd cpanel-cve-2026-41940-ioc

# Variante Bash
bash ioc.sh                # predefinito (CRITICO/ALTO espansi, MEDIO/AVVISO solo conteggi)
bash ioc.sh -v             # verbose (espandi tutti i risultati)
bash ioc.sh --extended     # verbose + log più approfonditi + tutti gli IP nel cross-ref

# Variante Python (stessa logica di rilevamento, più veloce, output strutturato)
python3 ioc.py             # predefinito (stesso comportamento di collasso di bash)
python3 ioc.py -v          # verbose
python3 ioc.py --extended  # verbose + log più approfonditi
python3 ioc.py --json      # JSON strutturato (include sempre tutti i risultati)

Deve essere eseguito come root sul server cPanel di destinazione. La variante Python richiede Python 3.6+ (incluso con CentOS 7 / CloudLinux 7+).

Codici di uscita

CodiceSignificato
0Nessun indicatore trovato
1IOC rilevati
2Errore ambiente (non è un server cPanel)

Riferimenti

  • Avviso cPanel
  • CVE-2026-41940: Bypass di autenticazione tramite iniezione di newline nella gestione delle sessioni di cPanel

Licenza

MIT

Scarica lo strumento