JS#SMUGGLER: come la catena segreta porta NetSupport RAT nei sistemi aziendali

di Redazione
0 commenti

L’operazione JS#SMUGGLER rappresenta una delle più avanzate campagne malware basate sul web degli ultimi anni. La catena infettiva porta l’attaccante dal semplice caricamento di un JavaScript su un sito compromesso fino al controllo totale del sistema con NetSupport RAT, un remote access tool legittimo trasformato in piattaforma di sorveglianza e movimento laterale. La campagna costruisce un ecosistema modulare che unisce obfuscation estrema, branching dinamico mobile-desktop, esecuzione fileless, HTA nascosti e payload finali persistenti.

image 307
JS#SMUGGLER: come la catena segreta porta NetSupport RAT nei sistemi aziendali 11

La ristrutturazione del codice osservata nel loader iniziale è un indicatore di un framework attivamente mantenuto, progettato per adattarsi a contesti diversi ed evolvere secondo la risposta difensiva delle aziende. La scelta di NetSupport RAT come ultimo stage conferma che gli operatori cercano accesso completo, non semplice distribuzione automatizzata. L’intero impianto dimostra un’attenzione maniacale alla furtività, con una filiera composta da tre livelli ben separati, ognuno dei quali contribuisce a mascherare il successivo.

Offuscamento JavaScript e logica first-visit

La prima fase sfrutta un JavaScript loader pesantemente offuscato, recuperato da domini controllati dagli attaccanti e inserito dentro siti compromessi tramite redirect silenziosi. Il file phone.js appare a prima vista innocuo: migliaia di righe di commenti casuali lo trasformano in un documento che non attira l’attenzione dei motori di scansione. La logica malevola è sepolta all’interno di funzioni che ruotano array, applicano lookup numerici e ricostruiscono le stringhe soltanto a runtime. L’uso di IIFE annidate, rotazioni continue e checksum dinamici impedisce qualunque analisi statica lineare.

image 308
JS#SMUGGLER: come la catena segreta porta NetSupport RAT nei sistemi aziendali 12

Il loader comprende anche una serie di funzioni chiave che definiscono il comportamento dell’intero attacco. Attraverso un controllo del dispositivo basato su user-agent, la campagna differenzia la vittima mobile, indirizzata via iframe a schermo intero, dalla vittima desktop, per la quale scarica un secondo script remoto. Questa distinzione riduce drasticamente il rischio di errori in ambienti che impediscono l’uso di contenuti embedded. Un altro elemento cruciale è l’uso di una first-visit logic implementata tramite localStorage: il codice registra se è la prima visita del browser al sito compromesso e attiva la catena solo una volta, riducendo visibilità e ridondanza.

image 309
JS#SMUGGLER: come la catena segreta porta NetSupport RAT nei sistemi aziendali 13

La generazione dell’URL avviene con un sistema di stringhe randomizzate, ricostruite a ogni esecuzione. Ogni dinamica del loader diventa visibile solo nel momento in cui il DOM viene caricato: la logica attende il segnale DOMContentLoaded e da lì costruisce un percorso che conduce a un file PHP che eroga il secondo stage. Questa combinazione di tempi, controlli e logiche condizionali rende il primo livello di JS#SMUGGLER una delle fasi più sofisticate osservate nelle campagne web-based moderne.

HTA nascosti e esecuzione fileless via mshta.exe

La seconda fase introduce un livello radicalmente diverso. La campagna consegna un HTA eseguito tramite mshta.exe, binario firmato e storicamente abusato come strumento LOLBAS. L’HTA si comporta come un loader stealth: disattiva ogni componente visivo, si minimizza, rimuove l’icona dalla barra delle applicazioni e opera in un ambiente completamente invisibile all’utente. All’interno esegue una delle fasi più critiche della catena, ossia la scrittura di un file PowerShell cifrato che fungerà da stager per il passaggio successivo.

image 310
JS#SMUGGLER: come la catena segreta porta NetSupport RAT nei sistemi aziendali 14

Il cuore tecnico di questa fase è un workflow di decodifica multilivello, composto da cifratura AES-256-ECB, codifica Base64 e compressione GZIP. Gli attaccanti incorporano un blob cifrato direttamente dentro l’HTA e lo decodificano soltanto al momento opportuno. La concatenazione di tre livelli di protezione impedisce alle soluzioni statiche di individuare il payload finale e rende il reverse engineering estremamente difficoltoso. Il file generato nella directory TEMP è soltanto un contenitore intermedio: la vera esecuzione avviene interamente in memoria, con PowerShell che interpreta il codice senza mai scrivere la versione finale su disco.

image 311
JS#SMUGGLER: come la catena segreta porta NetSupport RAT nei sistemi aziendali 15

L’uso di ExecutionPolicy Bypass è una caratteristica distintiva delle campagne fileless moderne. L’HTA lancia PowerShell con parametri progettati per ignorare ogni restrizione e consentire l’esecuzione di script normalmente bloccati dalle policy aziendali. Una volta completata l’operazione, l’HTA rimuove il file temporaneo e si chiude automaticamente. Il risultato è una fase completamente invisibile ai sistemi di detection endpoint che si basano su file creation events o controlli a livello disco.

NetSupport RAT: controllo totale e persistenza

La terza fase trasforma una catena sofisticata in un controllo totale e persistente. Il payload decriptato con PowerShell scarica uno ZIP contenente i componenti di NetSupport RAT, li estrae silenziosamente in una cartella mimetica dentro ProgramData e attiva l’esecuzione tramite un wrapper JScript. Gli attaccanti evitano di invocare il binario direttamente: usano run.js, eseguito da wscript.exe, per offuscare il rapporto parent-child tra i processi e aggirare i controlli EDR basati sulla telemetria.

La persistenza viene garantita tramite un collegamento LNK collocato nella cartella di avvio automatico. La denominazione WindowsUpdate.lnk mimetizza la backdoor all’interno di un elemento che appare legato ai meccanismi ufficiali di aggiornamento del sistema operativo. Una volta in esecuzione, NetSupport RAT offre desktop remoto, gestione dei file, esecuzione di comandi, tunneling proxy e raccolta di dati, trasformandosi in una piattaforma completa di sorveglianza e movimento laterale. È uno strumento legittimo sfruttato come backdoor persistente, elemento che amplifica notevolmente la difficoltà di identificazione da parte delle difese aziendali.

L’intera catena dimostra una coerenza interna rara nelle campagne web-based. L’uso del browser come punto d’ingresso, degli HTA come vettore intermedio e di PowerShell come orchestratore finale costruisce un modello di infezione potente e furtivo. La campagna evita l’esposizione diretta del payload finale, frammentando l’operazione in tre livelli complementari che si attivano soltanto in condizioni controllate.

Un framework adattivo che sfida le difese

JS#SMUGGLER non è un semplice esempio di drive-by compromise, ma un framework multi-stage che integra evasione, adattamento, modularità e persistenza. La sua architettura mostra un livello di manutenzione attivo, con infrastrutture distribuite su domini registrati di recente, rotazione degli endpoint e una separazione netta tra gli stadi esecutivi. Gli attaccanti dimostrano una piena consapevolezza dei limiti delle difese tradizionali e costruiscono ogni singolo passaggio per aggirarle.

Il risultato finale è un attacco che unisce stealth, modularità e controllo totale, con un’impronta minima e un potenziale massimo. La persistenza basata su un RAT legittimo rende la compromissione ancora più insidiosa: il sistema infetto non mostra comportamenti macroscopici sospetti e il malware opera con la fluidità di un software di assistenza remota reale. Questa sovrapposizione tra legittimità e abuso rappresenta una delle sfide più complesse della sicurezza moderna.