È disponibile un codice di exploit proof-of-concept per una vulnerabilità critica nelle appliance FortiNAC di Fortinet e gli aggressori hanno già iniziato a usarlo. Si consiglia quindi agli utenti di queste appliance di patchare loro sistemi il prima possibile. FortiNAC è una soluzione zero-trust di accesso alla rete che può essere distribuita sia come dispositivo hardware, sia come appliance per macchine virtuali. Viene utilizzata per la segmentazione della rete, la visibilità e il controllo dei dispositivi e degli utenti connessi alla rete. In quanto tale, può essere distribuita sul perimetro della rete, rendendola un bersaglio più facile per gli attacchi basati su Internet. Secondo le scansioni di Shodan, più di 700.000 dispositivi Fortinet sono connessi a Internet a livello globale.

Esecuzione di codice remoto non autenticato

La vulnerabilità, classificata come CVE-2022-39952, è stata resa nota e patchata da Fortinet la scorsa settimana. Consente agli aggressori non autorizzati di scrivere file arbitrari sul sistema, con conseguente esecuzione di codice o comandi. La falla è stata scoperta internamente da un membro del team di sicurezza ed è classificata con un punteggio di 9,8 su 10 nella scala di gravità CVSS.

I ricercatori della società di consulenza sulla sicurezza Horizon3.ai hanno effettuato un confronto tra la versione dell’appliance FortiNAC patchata e quella vulnerabile e sono riusciti a individuare e confermare la vulnerabilità. Si trova in un file chiamato keyUpload.jsp, che consente il caricamento di file che vengono poi salvati localmente nella posizione /bsc/campusMgr/config.applianceKey.

Il sistema operativo esegue quindi uno script bash che esegue un comando unzip sul file salvato. Inizialmente, questo faceva pensare a una potenziale vulnerabilità di path traversal, in cui gli aggressori potevano creare un archivio che, una volta scompattato, scriveva file al di fuori del percorso previsto. Tuttavia, questo non è il caso di unzip, che elimina i percorsi relativi e quindi protegge dai problemi di path traversal. In questo caso lo script bash cambia innanzitutto la directory di lavoro corrente in “/”, che nei sistemi Linux è la root della partizione.

partner-fortinet

“Unzip consente di inserire i file in qualsiasi percorso, purché non si spingano oltre la directory di lavoro corrente”, hanno dichiarato i ricercatori. “Poiché la directory di lavoro è ‘/’, la chiamata unzip all’interno dello script bash consente di scrivere qualsiasi file arbitrario”. In altre parole, gli aggressori possono creare un file zip che scompatta il suo contenuto in qualsiasi percorso di file all’interno dell’intera partizione. Per dimostrare l’exploit “armato”, i ricercatori di Horizon3 hanno sfruttato la vulnerabilità per scrivere un payload dannoso in /etc/cron.d/.

Abusare di cron.d è solo un modo per sfruttare questa falla e ottenere l’esecuzione di codice da remoto. Gli aggressori potrebbero anche scegliere di sovrascrivere qualsiasi file binario sul sistema che sanno che il sistema operativo eseguirà, oppure potrebbero aggiungere la propria chiave SSH a un profilo utente, consentendo l’accesso remoto a quell’utente tramite SSH.

“Sfortunatamente, il dispositivo FortiNAC non consente l’accesso alla GUI a meno che non sia stata aggiunta una chiave di licenza, quindi non erano disponibili log nativi della GUI per verificare la presenza di indicatori”, hanno dichiarato i ricercatori. “Tuttavia, lo sfruttamento del problema è stato osservabile nei log del filesystem situati in /bsc/logs/output.master. In particolare, è possibile verificare la presenza della riga Running configApplianceXml, a patto che l’attaccante non abbia cancellato questo file di log”. Fortinet consiglia agli utenti di aggiornare FortiNAC alla versione 9.2.6 o superiore, 9.1.8 o superiore e 7.2.0 o superiore, a seconda della release supportata che utilizzano.

Attacchi attivi che sfruttano la vulnerabilità di FortiNAC

CronUp, un’azienda di cybersicurezza con sede in Cile, ha riferito di aver visto attacchi che sfruttano la vulnerabilità FortiNAC, come nel caso di tentativi di creazione di shell inverse come nel proof-of-concept di Horizon3. Gli aggressori sono quindi passati a distribuire webshell, ovvero script backdoor basati sul web che consentono l’esecuzione di comandi da remoto. Due webshell osservate finora sono state distribuite sotto bsc/campusMgr/ui/ROOT/fortii.jsp e bsc/campusMgr/ui/ROOT/shell.jsp su installazioni vulnerabili. GreyNoise, un servizio che tiene traccia del traffico dannoso su Internet, ha aggiunto la capacità di rilevare gli attacchi mirati a questa vulnerabilità e ha iniziato a vedere tentativi di sfruttamento.

Non è comunque la prima volta che gli aggressori prendono di mira prodotti e dispositivi di sicurezza Fortinet. Il mese scorso l’azienda ha infatti avvertito gli utenti che gli aggressori stavano sfruttando una vulnerabilità critica in FortiOS SSL-VPN (patchata a dicembre) per implementare un sofisticato impianto Linux.