
Uno script Proof of Concept completo e all-in-one basato su Python per scoprire e sfruttare una vulnerabilità critica di bypass dell'autenticazione (CVE-2024-55591) in alcuni dispositivi Fortinet.
Uno script Proof of Concept tutto-in-uno basato su Python per scoprire e sfruttare una vulnerabilità critica di bypass dell'autenticazione (CVE-2024-55591) in alcuni dispositivi Fortinet. Questo script:
nmapCVE-2024-55591 è un bypass critico dell'autenticazione in alcuni prodotti Fortinet (FortiOS & FortiProxy). Sfruttando una falla nell'interfaccia di gestione WebSocket/Telnet, un attaccante può ottenere accesso CLI privilegiato senza credenziali valide.
Secondo l'Avviso PSIRT di Fortinet (FG-IR-24-535), le seguenti versioni sono note per essere interessate:
git clone https://github.com/exfil0/CVE-2024-55591-POC.git
cd CVE-2024-55591-POC
python3 attack.py
Quando viene eseguito, lo script verifica automaticamente le dipendenze Python mancanti (requests, urllib3) e tenta di installarle.
Ti verrà chiesto di fornire:
Una volta confermato, lo script testa la connettività, verifica la vulnerabilità, aggiorna la connessione a WebSocket e tenta il bypass dell'autenticazione.
All'avvio, questo script verifica la presenza di requests e urllib3. Se mancano, tenta di installarli tramite pip.
Se lo desideri, lo script esegue nmap -sS -p- --min-rate 500 <host> per scoprire le porte TCP aperte, quindi:
Se vengono scoperte più porte aperte, puoi indicare allo script di testarle tutte. Questo è utile se i servizi Fortinet sono in ascolto su porte non standard.
Se lo sfruttamento riesce, puoi opzionalmente eseguire comandi aggiuntivi nella stessa sessione Telnet, come:
diag sys topdiag debug crashlog readexecute shellPuoi modificare questi comandi post-exploitation nello script per raccogliere dati più avanzati.
Lo script tenta di estrarre la versione del dispositivo dall'output di get system status o get system info. Se corrisponde a un intervallo vulnerabile noto, te lo notifica.
192.168.1.50y (Sì) per scoprire le porte apertey se ci si connette via HTTPS/443get system statusy o nSe Nmap trova più porte aperte, puoi scegliere di testare automaticamente tutte le porte o selezionarne una specifica.
/login?redir=/ng restituisce l'interfaccia di gestione di Fortinetservice-worker.js?local_access_token=ScaryBYte contiene la sottostringa api/v2/staticget system statusSe la modalità post-exploit è abilitata, lo script invia ulteriori comandi di debug o di sistema. L'output viene raccolto e mostrato nella console.
Questo script Proof of Concept è fornito solo a scopo educativo e di test. Lo sfruttamento non autorizzato di sistemi senza esplicita autorizzazione è illegale. Assicurati sempre di avere le opportune approvazioni prima di scansionare o testare qualsiasi sistema e fai riferimento all'Avviso di Fortinet (FG-IR-24-535) per le informazioni sulle patch.