banner
Centro notizie
Consegna immediata

Pacchetti npm dall'aspetto legittimo trovati che ospitano l'infostealer TurkoRat

Oct 11, 2023

Di Lucian Constantin

Scrittore senior CSO, CSO |

Nonostante gli sforzi compiuti negli ultimi anni per monitorare in modo proattivo gli archivi software pubblici alla ricerca di codice dannoso, i pacchetti che raggruppano malware continuano a comparire regolarmente in tali luoghi. I ricercatori hanno recentemente identificato due pacchetti dall'aspetto legittimo che non sono stati rilevati per oltre due mesi e hanno implementato un trojan open source per il furto di informazioni chiamato TurkoRat.

Gli aggressori tentano di indurre gli utenti a scaricare pacchetti dannosi in diversi modi e il typosquatting è uno dei più popolari perché non richiede molto sforzo. Questa tecnica prevede la copia di un pacchetto legittimo, l'aggiunta di codice dannoso e la pubblicazione con un nome diverso che sia una variazione dell'originale nella speranza che gli utenti lo trovino durante la ricerca del pacchetto reale.

Questo è stato il caso di un pacchetto chiamato nodejs-encrypt-agent che recentemente ha attirato l'attenzione dei ricercatori della società di sicurezza della catena di fornitura di software ReversingLabs perché mostrava una combinazione di caratteristiche e comportamenti sospetti. Innanzitutto, il nome del pacchetto nel registro npm era diverso da quello dichiarato nel file readme.md: agent-base. In secondo luogo, la prima versione del pacchetto caricata nel registro era la 6.0.2, il che è insolito perché i nuovi pacchetti in genere iniziano con una versione bassa come 1.0 o anche inferiore.

Quando i ricercatori hanno cercato la base dell'agente, tutto aveva senso. Si tratta di un pacchetto legittimo la cui versione più popolare nel registro è la 6.0.2 con oltre 20 milioni di download. Un confronto del codice ha rivelato che nodejs-encrypt-agent era solo una copia del codice base di agent-base con alcune modifiche. In effetti, il pacchetto canaglia conteneva anche un collegamento alla pagina GitHub di agent-base, forse per apparire più legittimo.

"Nel corso dell'analisi di milioni di pacchetti sospetti, il team di ReversingLabs ha identificato una serie di combinazioni di comportamenti che, se visti insieme, sono altamente indicativi di attività dannose", hanno affermato i ricercatori in un rapporto. "Ad esempio, i pacchetti open source che contengono indirizzi IP codificati nel loro codice, ma allo stesso tempo eseguono comandi e scrivono dati su file, secondo la nostra esperienza, di solito si rivelano dannosi. È vero: nessuna di queste funzionalità, singolarmente , sono dannosi. Se visti in combinazione, tuttavia, di solito supportano funzionalità dannose."

La modifica apportata dagli aggressori al codice base dell'agente consisteva nell'eseguire un file eseguibile portatile (PE) fornito con i nuovi pacchetti immediatamente dopo che il pacchetto era stato scaricato e installato su un sistema. Un'analisi automatizzata di questo file ha identificato la capacità di scrivere ed eliminare file dalle directory di sistema di Windows, eseguire comandi di sistema, modificare le impostazioni DNS (Domain Name System) del sistema, tutti aspetti sospetti.

Un’analisi manuale ha inoltre rivelato che il malware era progettato per rubare credenziali di accesso e portafogli crittografici dai sistemi infetti. Comprendeva anche funzionalità anti-sandbox e di debug per rendere più difficile l'analisi. Non c'è voluto molto perché i ricercatori si rendessero conto che si trattava di una copia di TurkoRat, un infostealer open source scritto in JavaScript e progettato per funzionare sul framework Node.js.

"A quanto pare, questa particolare versione del malware TurkoRat utilizza il pacchetto npm pkg per raggruppare tutti i file necessari in un unico pacchetto eseguibile", hanno affermato i ricercatori. "Tutti i file risiedono all'interno di un file system virtuale, o snapshot, a cui l'applicazione confezionata ha accesso durante il runtime."

Secondo il progetto TurkoRat su Discord, il malware è in grado di rubare token di autenticazione e sessione per Discord e Telegram; password, cookie, compilazione automatica e cronologia da tutti i principali browser; e un gran numero di portafogli crittografici. È anche in grado di acquisire screenshot. Tutte le informazioni raccolte possono essere rimandate a un URL webhook configurato dall'aggressore.