Un pacchetto dannoso caricato nel registro npm è stato trovato a distribuire un sofisticato trojan di accesso remoto su macchine compromesse che fanno girare un sistema operativo Windows.
Il pacchetto, chiamato “oscompatible“, è stato pubblicato il 9 gennaio 2024, attirando un totale di 380 download prima che venisse rimosso.
Come funziona oscompatible e cos’è
oscompatible includeva “alcuni strani binari”, secondo la società di sicurezza della catena di approvvigionamento software Phylum, tra cui un singolo file eseguibile, una libreria a collegamento dinamico (DLL) e un file DAT crittografato, insieme a un file JavaScript.
Questo file JavaScript (“index.js”) esegue uno script batch “autorun.bat”, ma solo dopo aver eseguito un controllo di compatibilità per determinare se la macchina di destinazione utilizza Microsoft Windows.
Se la piattaforma non è Windows, visualizza un messaggio di errore all’utente, indicando che lo script viene eseguito su Linux o su un sistema operativo non riconosciuto, incoraggiandolo a eseguirlo su “Windows Server OS”.
Lo script batch, a sua volta, verifica se dispone dei privilegi di amministratore e, in caso contrario, esegue un componente legittimo di Microsoft Edge chiamato “cookie_exporter.exe” tramite un comando PowerShell.
oscompatible pertanto tentare di eseguire il binario attiverà un prompt di Controllo account utente (UAC) chiedendo all’utente di eseguirlo con le credenziali dell’amministratore.
Facendo così, l’intruso esegue la fase successiva dell’attacco eseguendo la DLL (“msedge.dll”) sfruttando una tecnica chiamata dirottamento dell’ordine di ricerca DLL.
La versione trojanizzata della libreria è progettata per decifrare il file DAT (“msedge.dat”) e avviare un’altra DLL chiamata “msedgedat.dll”, che a sua volta stabilisce connessioni con un dominio controllato dal criminale informatico “kdark1[.]com” per recuperare un archivio ZIP.
Il file ZIP è dotato del software di desktop remoto AnyDesk e di un trojan di accesso remoto (“verify.dll”) in grado di recuperare istruzioni da un server di comando e controllo (C2) tramite WebSockets e di raccogliere informazioni sensibili dall’host.
Inoltre, “installa estensioni Chrome nelle Preferenze sicure, configura AnyDesk, nasconde lo schermo e disabilita lo spegnimento di Windows, cattura eventi tastiera e mouse“, ha detto Phylum.
Mentre “oscompatible” sembra essere l’unico modulo npm utilizzato come parte della campagna, lo sviluppo è nuovamente un segno che altri criminali informatici ben preparati stanno sempre più puntando sugli ecosistemi del software open-source (OSS) per gli attacchi alla catena di approvvigionamento (supply chain).
“Dal lato binario, il processo di decifratura dei dati, l’uso di un certificato revocato per la firma, l’estrazione di altri file da fonti remote e il tentativo di mascherarsi come un normale processo di aggiornamento di Windows sono relativamente sofisticati rispetto a quanto vediamo normalmente negli ecosistemi OSS“, ha dichiarato l’azienda.
La divulgazione arriva mentre la società di sicurezza cloud Aqua ha rivelato che il 21,2% dei 50.000 pacchetti npm più scaricati sono probabilmente stati eseguiti, esponendo gli utenti a rischi di sicurezza. In altre parole, i pacchetti sono stati scaricati circa 2,1 miliardi di volte a settimana.
Ciò include repository GitHub archiviati e cancellati associati ai pacchetti, nonché quelli che vengono mantenuti senza un repository visibile, una cronologia di file scaricati e un tracciamento degli errori.
“Questa situazione diventa critica quando i manutentori, anziché affrontare le vulnerabilità di sicurezza con patch o assegnazioni CVE, scelgono di disapprovare [oscompatible sostanzialmente è rimasto lì, ma non è scaricabile] i pacchetti interessati“, hanno dichiarato i ricercatori di sicurezza Ilay Goldman e Yakir Kadkoda, aggiungendo “Quello che rende particolarmente preoccupante questa situazione è che, a volte, questi manutentori non contrassegnano ufficialmente il pacchetto come deprecato su npm, lasciando una falla di sicurezza per gli utenti che potrebbero rimanere all’oscuro delle minacce potenziali“.