Passa ai contenuti principali

Stealit sfrutta la nuova feature “Single Executable Application” di Node.js per veicolare malware

Negli ultimi giorni è emersa una nuova campagna malware che adotta un approccio sofisticato per distribuire un stealer denominato Stealit, sfruttando la modalità Single Executable Application (SEA) di Node.js per eludere rilevamenti e semplificare la diffusione. Secondo il report di Fortinet FortiGuard Labs, l’attacco in corso introduce una variazione rispetto alle versioni precedenti, che impiegavano Electron o altri bundle Node.js più tradizionali.

La campagna Stealit si diffonde principalmente tramite file installer fasulli mascherati da giochi o applicazioni VPN, resi disponibili su piattaforme di file sharing come Mediafire o Discord. Il metodo utilizzato consiste nel confezionare script Node.js e risorse correlate all’interno di un unico eseguibile, in modo che l’esecuzione non richieda un runtime Node.js già presente sul sistema bersaglio. Questo approccio permette all’attaccante di ridurre le dipendenze visibili e aggirare controlli che si focalizzano su scenari “classici” di malware basati su script.

L’eseguibile malevolo incorpora al suo interno una risorsa denominata NODE_SEA_BLOB, contenente il contenuto del vero script offuscato, insieme al percorso originale del file prima del bundling (che in alcuni casi include directory come “StealIt” o “angablue” – quest’ultimo riconducibile a un progetto open source che facilita la creazione di eseguibili SEA). All’avvio, il loader interno estrae e decodifica il payload secondario (spesso contenuto in un blob cifrato) e lo esegue direttamente in memoria usando require() di Node.js, riducendo la traccia su disco.

La scelta di SEA appare strategica: trattandosi di una feature sperimentale, il suo utilizzo da parte di malware può cogliere impreparati molte soluzioni antivirus e sistemi di analisi automatica. Tuttavia, Fortinet ha notato che in alcuni sample successivi la campagna è tornata ad usare Electron, ma con script cifrati tramite AES-256-GCM. Il comportamento essenziale del malware rimane comunque invariato: instaurare persistenza, raccogliere dati sensibili, e mantenerne il controllo remoto.

Il sito ufficiale di Stealit (che funge anche da pannello di controllo C2) è stato migrato più volte: inizialmente hostato su domini come stealituptaded[.]lol, è stato poi spostato su iloveanimals[.]shop. Il sito offre piani commerciali per la versione Windows e Android del malware: tra i servizi promossi vi sono la capacità di estrazione file, controllo webcam, monitoraggio dello schermo in tempo reale e anche la distribuzione di ransomware. Il pricing varia da soluzioni a termine fino a licenze “lifetime” da diversi centinaia di dollari.

Per contestualizzare questa minaccia, vale la pena osservare che l’uso di Node.js per malware non è una novità assoluta. Microsoft ha recentemente pubblicato un report che evidenzia campagne che distribuiscono eseguibili Node.js tramite malvertising, sfruttando inserzioni ingannevoli per veicolare installer compromessi che avviano script dai server C2. Analogamente, nel mondo della ricerca su malware basati su JavaScript si segnalano casi come NodeLoader, che trasporta miner criptovalute e stealer attraverso eseguibili Node.js compilati con il modulo pkg. Un altro esempio di stealer JavaScript “classico” era un malware per Facebook scritto in Node.js, impacchettato in eseguibile e capace di trasmettere dati tramite bot Telegram o server C2. Nel panorama dei malware “commodity”, Celestial Stealer adottava già la pratica di fornire personalizzazioni agli acquirenti tramite Telegram e offriva le varianti sia in formato Electron sia in formato Node.js single-file.

Alla luce di questo scenario emergente, chi opera nella difesa deve aggiornare la consapevolezza riguardo ai segni di compromissione e rafforzare i controlli su eseguibili Node.js insoliti. Pur non esistendo ancora signature consolidate per SEA (data la novità), si possono adottare contromisure come la scansione comportamentale, il monitoraggio delle risorse contenute nel blob interno e l’analisi delle richieste di rete effettuate dal processo. Per gli ambienti in cui è presente Node.js come piattaforma applicativa, l’introduzione di soluzioni come il runtime enforcement basato su SBOM (come il recente concept NodeShield) può cominciare a fare la differenza nel contenere attività malevole stealth. In definitiva, questa campagna Stealit ci ricorda che anche tecnologie emergenti — in fase sperimentale — possono diventare strumenti d’offesa nelle mani di attori minacciosi, e che l’evoluzione delle minacce richiede sempre vigilanza sulle “frontiere” del software moderno.

Commenti

Popolari

BatShadow, l’esca ai disoccupati, il malware “Vampire Bot” scritto in Go

Un gruppo di minaccia con nome BatShadow, probabilmente attivo in Vietnam, è recentemente al centro dell’attenzione per una campagna che punta a reclutare vittime fra chi cerca lavoro o svolge attività nel digital marketing inviando offerte false mascherate da opportunità professionali. L’obiettivo: infiltrare sistemi con un malware fino ad oggi poco documentato chiamato Vampire Bot. La catena di attacco comincia con un’email con allegato ZIP in cui si trova un documento PDF decoy e file pericolosi come shortcut (LNK) o eseguibili mascherati da PDF. Se l’utente apre il file “PDF” — che in realtà è un eseguibile — si attiva uno script PowerShell incluso nel LNK che contatta un server remoto per scaricare ulteriori payload. Fra questi payload c’è una versione “truccata” di XtraViewer (software di accesso remoto) usata probabilmente per mantenere la persistenza su macchine compromesse. Un inganno ulteriore entra in gioco quando la vittima clicca in un PDF su un link per visualizzare il co...

Zimbra, lo zero-day nelle .ICS che ha preso di mira il mondo reale

Nei primi mesi del 2025 è stato scoperto e sfruttato in attacchi mirati un difetto di sicurezza nel client web “Classic” di Zimbra Collaboration: la vulnerabilità è stata tracciata come CVE-2025-27915 e consiste in una forma di Stored Cross-Site Scripting (XSS) legata al modo in cui Zimbra gestisce e renderizza il contenuto HTML presente in file iCalendar (.ICS). Il bug è stato impiegato in campagne che, secondo i primi report, hanno preso di mira organizzazioni sensibili (tra cui forze armate in Brasile) utilizzando calendari iCalendar appositamente costruiti per far eseguire codice nel contesto della sessione dell’utente. Tecnicamente l’exploit sfrutta la scarsa sanitizzazione del contenuto HTML contenuto in un file .ICS: quando il web client Classic importa o visualizza l’evento del calendario, porzioni di HTML malevolo inserite nell’ICS non vengono filtrate correttamente e finiscono per essere eseguite nel browser della vittima come se fossero parte dell’interfaccia di Zimbra. Ques...

Violazione su Discord, rubati dati e documenti d’identità dal sistema di supporto clienti. Compromesso un partner esterno

Discord ha confermato di aver subito una violazione dei dati, ma a differenza di quanto molti temevano, l’attacco non ha colpito direttamente i suoi server o infrastrutture principali. L’origine dell’incidente è stata individuata in un fornitore esterno di supporto clienti, probabilmente il sistema di ticketing gestito da Zendesk, che avrebbe rappresentato il punto d’ingresso per gli attaccanti. Attraverso la compromissione di questo servizio, i criminali informatici sono riusciti ad accedere a informazioni relative agli utenti che avevano contattato l’assistenza Discord. I dati esposti comprendono nomi, username, indirizzi email, indirizzi IP, conversazioni con il supporto e alcune informazioni di pagamento, come il tipo di carta e le ultime quattro cifre. Discord ha anche confermato che una parte delle immagini di documenti d’identità utilizzate per la verifica dell’età, come passaporti o patenti, è stata inclusa nella violazione. Secondo l’azienda, circa 70.000 utenti potrebbero ave...