Attacco APT con RAT sofisticato che mira ai progetti Gulp su npm

da Livio Varriale
0 commenti 2 minuti leggi

Il 24 maggio 2024, la piattaforma automatizzata di rilevamento dei rischi di Phylum ha segnalato una pubblicazione sospetta di un RAT su npm. Il pacchetto in questione, chiamato glup-debugger-log, è stato pubblicato con due file offuscati che lavorano insieme per compromettere i sistemi bersaglio, scaricare ulteriori componenti di malware e fornire all’attaccante un meccanismo di accesso remoto persistente.

L’Attacco

Quando si esaminano pacchetti npm sospetti, il file package.json è sempre un buon punto di partenza. Questo file contiene informazioni cruciali sulla configurazione del pacchetto, le dipendenze e gli script. Gli attaccanti spesso sfruttano questo file inserendo comandi dannosi nei vari hook di installazione. In questo caso, il package.json del pacchetto glup-debugger-log mostrava script insoliti e l’uso di javascript-obfuscator per offuscare i file ./lib/play.js e ./lib/play-share.js.

Analisi del Codice

File index.js

Il file index.js richiama diverse librerie, tra cui gulplog e glogg, legittime e correlate a Gulp, ma anche un file locale ./lib/play. Il file play.js è offuscato, il che rende difficile analizzarlo direttamente.

Funzione bind()

La funzione bind() nel file play.js viene utilizzata per eseguire le funzioni start() e share(). La funzione start() scarica ed esegue comandi o file da URL specificati, mentre la funzione share() esegue un server HTTP per ricevere ed eseguire comandi da remoto.

La Dropper

La funzione start() verifica l’ambiente della macchina target e decide se eseguire comandi localmente o scaricare ed eseguire file da un URL. Utilizza child_process per eseguire comandi sulla macchina compromessa.

Annunci

Server HTTP per RCE Arbitrario

La funzione share() imposta un server HTTP che ascolta le richieste sulla porta 3004 e esegue i comandi forniti come query cmd. Questo consente all’attaccante di eseguire comandi arbitrari sulla macchina compromessa in modo remoto.

Conclusioni di Phylum

Secondo la ricerca, questo RAT (Remote Access Trojan) è sia grezzo che sofisticato. È minimalista e focalizzato sulle funzionalità principali del RAT, implementato completamente in JavaScript senza bisogno di binari esterni. È sofisticato nella sua strategia di offuscamento, nei controlli ambientali e nella sua modularità. Questa combinazione lo rende particolarmente interessante dal punto di vista dell’analisi del malware, evidenziando l’evoluzione continua del panorama delle minacce nel mondo open source.

Si può anche come

MatriceDigitale.it – Copyright © 2024, Livio Varriale – Registrazione Tribunale di Napoli n° 60 del 18/11/2021. – P.IVA IT10498911212 Privacy Policy e Cookies

Developed with love by Giuseppe Ferrara