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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/bishopfox/cve-2026-11374-check
Strumenti DifensiviScanner di VulnerabilitàExploitSicurezza WebPenetration TestingThreat Intelligence
GitHubbishopfox/cve-2026-11374-check

CVE-2026-11374-check

Script di rilevamento per CVE-2026-11374

Vedi Repository
11362 mesi faNon ancora revisionato

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

Script di rilevamento della precondizione CVE-2026-11374 ManageEngine AD360

Uno script di rilevamento per la precondizione di sfruttamento di CVE-2026-11374, una falla del ticket SSO prevedibile che porta all'acquisizione non autenticata di account nell'intera suite ManageEngine AD360. I quattro prodotti interessati condividono il ManageEngineADSFramework:

ProdottoBuild vulnerabileBuild corretta
ADSelfService Plus≤ 65286529
RecoveryManager Plus≤ 63206321
M365 Manager Plus≤ 48164817
ADAudit Plus≤ 87028703

Nelle build vulnerabili, il ticket SSO è semplicemente System.currentTimeMillis() (un timestamp prevedibile) campionato al login della vittima, quindi può essere riutilizzato tramite il cookie CUSTOM_SSO_TICKET per dirottare la sessione. La correzione sostituisce il ticket con UUID.randomUUID() (un identificatore sufficientemente casuale). Il percorso di replay è raggiungibile solo quando il prodotto è integrato con AD360: ADSFilter lo vincola a isProductIntegrated(). Questa condizione è la precondizione che questo strumento verifica.

NOTA: questo rilevatore conferma la precondizione, non la vulnerabilità stessa. Un risultato POTENTIALLY_AFFECTED non è un verdetto di vulnerabilità confermata — vedi sotto per maggiori informazioni.

È sicuro eseguirlo?

Sì. È progettato per l'uso in produzione e per valutazioni.

  • Non viene sfruttato nulla. La sonda invia un ticket SSO non valido (1700000000000, un valore in millisecondi sufficientemente passato da non poter mai essere presente in cache), quindi non viene mai recuperata alcuna sessione. Il server ci dice solo di cancellare i cookie che abbiamo inviato.
  • Nessuna modifica allo stato del target. Ogni richiesta è una semplice GET, e gli unici cookie coinvolti sono quelli usa-e-getta inviati dallo strumento.
  • Nessun brute force o risoluzione di sessione. Lo strumento non tenta la risoluzione attiva del ticket-timestamp che dimostrerebbe la sfruttabilità; quella è sfruttamento piuttosto che rilevamento, ed è fuori dall'ambito qui (vedi Limitazioni).

Cosa può e cosa non può dirti

La patch di CVE-2026-11374 ha modificato solo il modo in cui viene generato il ticket (da millisecondi a UUID); non ha cambiato il percorso di cookie-replay che questa sonda esercita. Di conseguenza, un'installazione patchata risponde in modo identico byte-per-byte a una vulnerabile per qualsiasi richiesta non autenticata.

Cosa può fare lo strumento, senza autenticazione e in modo non distruttivo:

  • Confermare che un prodotto in scope raggiungibile ha attivo il percorso di cookie-replay CustomSSO (cioè è integrato con AD360), che è la precondizione di sfruttamento di CVE-2026-11374.
  • Identificare quale dei quattro prodotti sia, tramite il cookie di sessione specifico per prodotto.
  • Leggere al meglio il numero di build di un asset come suggerimento. Questo è disponibile su ADSelfService Plus, ADAudit Plus e M365 Manager Plus; non disponibile su RecoveryManager Plus.

Cosa non può fare:

  • Distinguere vulnerabile da patchato. Non esiste un segnale sicuro, passivo e non autenticato per farlo. Un risultato POTENTIALLY_AFFECTED significa che la precondizione è soddisfatta e dovresti verificare il livello di patch, non che l'host sia confermato vulnerabile.
  • Confermare la sfruttabilità. Dimostrare che un host è effettivamente sfruttabile richiede osservare il formato di un ticket generato (un numero a 13 cifre è vulnerabile, un UUID è patchato, entrambi richiedono visibilità autenticata o direttamente sull'host), leggere conf/product.conf localmente, o risolvere attivamente un ticket attivo (vera sfruttamento, volutamente non implementato qui).
  • Fidarsi completamente di un numero di build ADSelfService Plus inferiore alla soglia corretta. Il ?build= di ADSSP a volte è la build reale e a volte un segnaposto congelato che riporta un valore inferiore alla build corretta, quindi un valore sotto la soglia è ambiguo e lo strumento lo segna come inconcludente. Un valore pari o superiore alla build corretta è comunque un segnale affidabile di patch, poiché il segnaposto è sempre troppo basso per raggiungerlo.

Requisiti

  • Python 3.7+ e la libreria requests. Installa con pip install requests.

Utilizzo

# single host (prefer a URL or host:port; ports differ per product)
./cve_2026_11374_check.py https://adssp.example.com:8888

# multiple hosts (scheme optional: https is tried first, then http)
./cve_2026_11374_check.py host-a:8081 host-b:8365

# scan a list, one target per line ('#' comments allowed), compact output
./cve_2026_11374_check.py -f targets.txt --brief

# machine-readable output for pipelines
./cve_2026_11374_check.py -f targets.txt --json > results.json

Le porte predefinite variano a seconda del prodotto (ADSelfService Plus 8888, ADAudit Plus 8081, M365 Manager Plus 8365, RecoveryManager Plus 8090), quindi passa un URL o host:port. Un host semplice usa per impostazione predefinita 8888.

Opzioni

FlagDescrizione
targetsUno o più host, host:port, o https://host:port
-f, --targets-file FILELegge i target da un file (uno per riga; commenti #)
--briefUna singola riga allineata per target, utile per scansionare molti host
--jsonEmette risultati JSON strutturati
--timeout SECSTimeout per richiesta (predefinito: 15)
--no-buildSalta la richiesta aggiuntiva del numero di build in caso di riscontro positivo
--no-colorDisabilita l'output colorato (rispetta anche NO_COLOR e i non-TTY)

Esempi

Una console integrata AD360 (verbose, l'impostazione predefinita). La seconda riga chiarisce che questa è la precondizione e non un verdetto di vulnerabilità; la terza è l'indicazione della build con il massimo sforzo possibile:

$ ./cve_2026_11374_check.py https://adssp.example.com:8888
[!] https://adssp.example.com:8888: POTENTIALLY_AFFECTED
      ADSelfService Plus: AD360-integrated, CustomSSO replay path active - precondition met. Not confirmed vulnerable; verify patch level (fixed build 6529).
      build: 6519 (below fixed 6529 - inconclusive: ?build= may be a stale placeholder or a hotfix)

Un'installazione standalone dello stesso prodotto, dove il percorso di replay non è attivo:

$ ./cve_2026_11374_check.py https://adssp.example.com:8888
[+] https://adssp.example.com:8888: UNAFFECTED
      ADSelfService Plus: standalone / not AD360-integrated (no cleanup), so the replay path isn't reachable here. Verify build >= 6529 regardless.

Scansione di una lista con una riga allineata per host (--brief). Lo stato di uscita è 1 se un qualsiasi host risulta POTENTIALLY_AFFECTED, altrimenti 0, il che è comodo negli script. La nota finale mostra il prodotto identificato, più il numero di build in caso di riscontro:

$ ./cve_2026_11374_check.py -f targets.txt --brief; echo "exit: $?"
POTENTIALLY_AFFECTED  https://host-a:8888  ADSelfService Plus 6519
POTENTIALLY_AFFECTED  http://host-b:8081   ADAudit Plus 8530
UNAFFECTED            http://host-c:8365   M365 Manager Plus
UNAFFECTED            https://host-d:443
INCONCLUSIVE          http://host-e:8888   ADSelfService Plus
ERROR                 host-f:8888  timeout
exit: 1

Output leggibile da macchina (--json). Ogni risultato include il verdict, lo state e il detail sottostanti, il product identificato e — in caso di riscontro — un oggetto build: build è il numero trovato, fixed_build la soglia per quel prodotto, patch_hint la valutazione direzionale (likely_patched per valori pari o superiori alla build corretta, altrimenti inconclusive), e note una breve spiegazione:

Scarica lo strumento