Un grave incidente di sicurezza ha coinvolto 3CX, un sistema di comunicazione disponibile come soluzione PBX virtuale gestita o in hosting utilizzato da importanti aziende di 190 paesi in tutto il mondo. A segnalarlo sono gli esperti di Sophos secondo cui si tratterebbe di un tipico attacco alla supply chain: i cybercriminali sono stati in grado di aggiungere un file di installazione nell’applicazione desktop che sfrutta un sideloading di DLL per caricare un payload dannoso codificato.
Il software 3CX è un legittimo sistema telefonico PBX basato su software disponibile su Windows, MacOS, Linux, Android e iOS. Le versioni che sono state sfruttate dall’autore della minaccia per aggiungere un programma di installazione che comunica con vari server di comando e controllo (C2) sono alcune di Windows e MacOS dell’applicazione.
Il software è una versione firmata digitalmente del client desktop del softphone sia per Windows che per MacOS, che include un payload dannoso. Secondo 3CX, sono interessati il loro aggiornamento 7 per Windows, numeri di versione 18.12.407 e 18.12.416, e i numeri di versione dell’app Electron Mac 18.11.1213, 18.12.402, 18.12.407 e 18.12.416.
L’evento post-sfruttamento più comune osservato dagli esperti di Sophos fino ad oggi è la presenza di un infostealer che prende di mira i browser su un sistema compromesso. (Al momento della stesura de documento di SOPHOS, 3CX ha deprecato le versioni interessate dell’applicazione Windows. Le uniche piattaforme interessate dai dati dei clienti Sohos sono Windows e MacOS, il che è in accordo con le informazioni di 3CX sulle piattaforme interessate. Secondo le informazioni sul loro forum di supporto, si ritiene che le versioni Android e iOS del software non siano interessate, si legge nel documento).
Sophos MDR ha identificato per la prima volta attività dannose dirette ai suoi clienti e derivanti da 3CXDesktopApp il 29 marzo 2023. Inoltre, Sophos MDR ha osservato la campagna che sfrutta uno storage pubblico di file per ospitare malware codificato. Questo repository è in uso dall’8 dicembre 2022; dopo che la notizia del compromesso si è diffusa ampiamente il 29 marzo, il repository è stato rimosso.
L’attacco ruota attorno a uno scenario di sideloading DLL, con un numero notevole di componenti coinvolti. È probabile che ciò assicuri che i clienti siano stati in grado di utilizzare il pacchetto desktop 3CX senza notare nulla di insolito nel pacchetto interessato. Le tre componenti cruciali identificate sono:
- 3CXDesktopApp.exe, il caricatore pulito
- d3dcompiler_47.dll, una DLL con un payload crittografato aggiunto
- ffmpeg.dll, un caricatore trojan
Il file ffmpeg.dll contiene un URL incorporato che ha recuperato un payload .ico codificato dannoso dall’archiviazione di file GitHub su https[:]//raw.githubusercontent.com/IconStorages/images/main/.
Sono state osservate diverse variazioni sul file ffmpeg.dll, inclusa una firmata dal certificato di 3CX, che sembrano essere versioni con patch dannose del legittimo ffmpeg.dll.
Gli esperti spiegano che in un normale scenario di sideload DLL, il caricatore dannoso (ffmpeg.dll) sostituirebbe la dipendenza pulita; la sua unica funzione sarebbe quella di mettere in coda il carico utile. Tuttavia, in questo caso, anche quel caricatore è completamente funzionante, come sarebbe normalmente nel prodotto 3CX – invece, c’è un payload aggiuntivo inserito nella funzione DllMain. Ciò aggiunge volume, ma potrebbe aver abbassato i sospetti: l’applicazione 3CX abusata funziona come previsto, anche se gli indirizzi trojan hanno raggiunto il beacon C2.
I ricercatori hanno anche confrontato ffmpeg.dll in 3CX con lo stesso file in altre app Electron. Dai dati è emerso che solo 3CX ffmpeg.dll contiene il codice dannoso, quindi, non influisce su altre app Electron, bensì solo su 3CX ffmpeg.dll.
Mat Gangwer, VP, Managed Threat Response di Sophos ha commentato: “3CX è un sistema telefonico aziendale ampiamente utilizzato in tutto il mondo. Gli autori dell’attacco sono riusciti a manipolare l’applicazione per aggiungere un programma di installazione che utilizza il sideloading di DLL per recuperare un payload dannoso e codificato. Le tattiche e le tecniche utilizzate non sono nuove, in quanto sono simili alle attività di DLL sideloading già rilevate in precedenza. I nostri esperti hanno identificato tre dei componenti cruciali di questo scenario di sideloading DLL incorporati nel pacchetto del fornitore. Continueremo a fornire aggiornamenti sull’evolversi della situazione”.
Sophos ha bloccato l’attività dannosa pubblicando la seguente protezione: Troj/Loader-AF, bloccando l’elenco dei domini C2 noti associati alla minaccia. Inoltre, gli esperti continueranno ad aggiungerne altri nel file IOC sul loro GitHub. Raccomandano, infine, i agli utenti di controllare il blog di 3CX per eventuali comunicazioni ufficiali da parte dell’azienda.