A dicembre il fornitore di servizi di sicurezza di rete Fortinet ha rivelato che una vulnerabilità critica nel suo sistema operativo FortiOS è stata sfruttata dagli aggressori e la scorsa settimana, dopo ulteriori analisi, l’azienda ha rilasciato ulteriori dettagli su un sofisticato impianto di malware che gli aggressori hanno distribuito attraverso la vulnerabilità. In base alle informazioni attualmente disponibili, l’attacco zero-day originale era altamente mirato a enti governativi. Tuttavia, dal momento che la vulnerabilità è nota da oltre un mese, tutti i clienti dovrebbero applicare la patch il prima possibile, poiché altri aggressori potrebbero iniziare a utilizzarla.

Esecuzione di codice remoto in FortiOS SSL-VPN

La vulnerabilità, classificata come CVE-2022-42475, riguarda la funzionalità SSL-VPN di FortiOS e può essere sfruttata da aggressori remoti senza autenticazione. Uno sfruttamento riuscito può portare all’esecuzione di codice e comandi arbitrari. Fortinet ha valutato la vulnerabilità 9.3 (critica) sulla scala CVSS e ha rilasciato aggiornamenti alle principali varianti di FortiOS, FortiOS-6K7K e FortiProxy. FortiOS viene eseguito sui firewall di sicurezza di rete FortiGate e su altri dispositivi dell’azienda.

Una soluzione per i clienti che non possono implementare immediatamente gli aggiornamenti è quella di disabilitare completamente SSL-VPN, il che però potrebbe essere difficile per le organizzazioni che si affidano a questa funzionalità per supportare gli ambienti di lavoro remoti o ibridi. Fortinet ha anche rilasciato una firma IPS (Intrusion Prevention System) per rilevare i tentativi di exploit, oltre a regole di rilevamento per l’impianto noto nel suo motore antivirus.

I clienti possono anche cercare nei loro registri le seguenti voci che potrebbero indicare tentativi di sfruttamento:

Logdesc=”Application crashed” and msg=”[…] application:sslvpnd,[…], Signal 11 received, Backtrace: […]”

Una versione troianizzata di FortiOS IPS Engine

Nell’attacco analizzato da Fortinet, gli aggressori hanno sfruttato la vulnerabilità e copiato una versione troianizzata di FortiOS IPS Engine nel filesystem. Ciò indica che gli aggressori sono altamente qualificati e in grado di effettuare il reverse engineering di componenti FortiOS personalizzati.

Exclusive Netwotks Fortinet SASE SD-WAN

La versione rogue di IPS Engine è stata salvata sul filesystem come /data/lib/libips.bak ed è una copia del legittimo /data/lib/libips.so ma con modifiche dannose. In particolare, la versione malevola esporta due funzioni legittime chiamate ips_so_patch_urldb e ips_so_query_interface che normalmente fanno parte della legittima libips.so, ma le modifica per eseguire codice memorizzato in altri componenti dannosi.

“Se libps.bak si chiama libips.so nella directory /data/lib, il codice dannoso verrà eseguito automaticamente poiché i componenti di FortiOS chiameranno queste funzioni esportate”, hanno spiegato gli analisti di Fortinet. In altre parole, una volta eseguita la versione dannosa, la funzionalità IPS legittima non funziona più correttamente. Le funzioni dirottate eseguono codice dannoso che legge e scrive su una serie di file chiamati libiptcp.so, libgif.so, .sslvpnconfigbk e libipudp.so.

Gli analisti non sono stati in grado di recuperare tutti questi file dall’appliance compromessa che hanno analizzato, quindi la catena completa dell’attacco non è nota. Tuttavia, hanno trovato un file chiamato wxd.conf il cui contenuto è simile al file di configurazione di un reverse proxy open-source che può essere utilizzato per esporre un sistema dietro NAT a Internet.

L’analisi dei pacchetti di rete catturati dall’appliance suggerisce che il malware ha collegato due server esterni controllati dall’aggressore per scaricare ulteriori payload e comandi da eseguire. Uno dei server era ancora in funzione e aveva una cartella contenente file binari costruiti appositamente per le diverse versioni hardware del FortiGate. Ciò ha permesso ai ricercatori di analizzare i file aggiuntivi che ritengono siano stati eseguiti dagli aggressori sui sistemi per manipolare la funzionalità di registrazione di FortiOS.

Secondo i ricercatori:

  • Il malware modifica i processi di registrazione di FortiOS per manipolare i registri ed eludere il rilevamento. – /bin/miglogd e /bin/syslogd.
  • Include offset e codici operativi per 27 modelli e coppie di versioni di FortiGate. Il malware apre un handle ai processi e vi inietta dati.
  • Le versioni vanno dalla 6.0.5 alla 7.2.1.
  • I modelli coinvolti sono FG100F, FG101F, FG200D, FG200E, FG201F, FG240D, FG3H0E, FG5H0E, FG6H1E, FG800D, FGT5HD, FGT60F, FGT80F.
  • Il malware può manipolare i file di registro. Cerca i file elog, che sono registri di eventi in FortiOS e, dopo averli decompressi in memoria, cerca una stringa specificata dall’aggressore, la elimina e ricostruisce i registri.

I ricercatori hanno anche trovato un campione sullo scanner online VirusTotal di un binario Windows che presenta somiglianze di codice con il binario Linux trovato su FortiOS. Il campione Windows è stato compilato su un computer nel fuso orario UTC+8, che comprende Australia, Cina, Russia, Singapore e altri Paesi dell’Asia orientale. Anche i certificati autofirmati utilizzati dagli aggressori sono stati creati tra le 3 e le 8 del mattino UTC. L’advisory di Fortinet contiene molti indicatori di compromissione, tra cui i percorsi dei file, gli hash dei file, gli indirizzi IP e persino le firme per rilevare le comunicazioni dannose di questo impianto all’interno dei pacchetti di rete.