Falso sito del Servizio Sanitario Nazionale distribuisce StreamRat su Android e XWorm su Windows
Sanità StreamRAT Xworm
Il CERT-AGID ha analizzato una campagna malevola che sfrutta il nome e l’identità visiva del Servizio Sanitario Nazionale per distribuire malware sia su dispositivi Android sia su sistemi Windows.
Il tema sanitario rappresenta il punto centrale della campagna e viene utilizzato come elemento di fiducia per convincere l’utente ad avviare il file ricevuto.

L’aspetto interessante della campagna è il meccanismo utilizzato per distribuire il malware. La falsa pagina controlla il dispositivo con cui viene visitata e consegna un file differente in base allo User-Agent del browser.
Da un dispositivo Android viene proposto il download di SSN.apk, che porta all’installazione del malware StreamRat. Visitando la stessa infrastruttura da Windows viene invece scaricato SSN Windows.bat, un loader offuscato che avvia una catena PowerShell e porta infine all’esecuzione di XWorm, un Remote Access Trojan per Windows.

In pratica, la stessa esca legata alla sanità viene utilizzata per colpire sia smartphone sia computer.
Android: la falsa app SSN nasconde StreamRat
Il file APK analizzato recupera il file assets/qtczukcozo.db e lo decodifica utilizzando una chiave XOR, di 40 byte, ottenuta dalla libreria nativa libzbaynkpw.so. Il risultato è un secondo APK, installato attraverso le normali API Android.
Questa applicazione utilizza si presenta all’utente con il nome SSN, accompagnato da un’immagine riconducibile al Servizio Sanitario Nazionale. Dietro l’app si trova StreamRat, un malware Android con capacità di controllo remoto del dispositivo che viene estratto a seguito della richiesta di aggiornamento dell’app.

Uno dei passaggi più importanti dell’infezione, ormai diventata un classico tra le app malevole, consiste nel convincere l’utente ad abilitare i servizi di Accessibilità di Android. Si tratta di funzionalità legittime del sistema operativo che, se concesse a un’app malevola, permettono però di osservare ciò che viene mostrato sullo schermo e di interagire con l’interfaccia.

Nel campione analizzato StreamRat può leggere il contenuto delle schermate e la struttura delle interfacce, simulare tap e swipe, utilizzare i comandi back, home e applicazioni recenti e interagire con le applicazioni aperte dall’utente. Il malware dispone inoltre di funzioni per acquisire lo schermo, eseguire comandi sul dispositivo, raccogliere informazioni sulle applicazioni installate, gestire notifiche false e intervenire sui meccanismi di blocco e sblocco del telefono.
Sono inoltre presenti anche funzionalità per mostrare pagine HTML sovrapposte alle applicazioni utilizzate dalla vittima. Queste pagine possono essere ricevute direttamente dal server degli attaccanti e utilizzate per raccogliere le informazioni inserite dall’utente.
I bersagli possono cambiare da remoto
Un elemento importante emerso dall’analisi è l’assenza, all’interno dell’APK, di un elenco predefinito di applicazioni bancarie, sanitarie o di altri servizi da colpire. StreamRat comunica al server quale applicazione si trova in primo piano e può ricevere dinamicamente la pagina da visualizzare per quello specifico package.
Questo significa che gli attaccanti possono cambiare i bersagli senza modificare o ridistribuire il malware. Per questo motivo l’utilizzo del nome SSN deve essere interpretato come l’esca utilizzata per portare il malware sul dispositivo. Non costituisce, da solo, la prova che le successive attività malevole siano rivolte esclusivamente a servizi sanitari.
Il server utilizzato da StreamRat
Nel payload Android è presente l’endpoint utilizzato per le comunicazioni tramite WebSocket su TLS. Il protocollo consente al server di inviare al dispositivo compromesso comandi relativi, tra le altre cose, all’esecuzione di shell, al controllo dell’interfaccia, all’acquisizione dello schermo, alle notifiche e agli overlay HTML.
Windows: il file SSN Windows.bat è solo il primo passaggio
Il comportamento cambia completamente quando la falsa pagina viene visitata da un sistema Windows. In questo caso viene scaricato SSN Windows.bat.
Trattasi di un file leggermente offuscato che contiene diverse porzioni di codice apparentemente dedicate a controlli hardware e test delle prestazioni. Queste sezioni, però, non vengono realmente eseguite.

Il flusso del programma le salta e passa direttamente alla parte malevola.
Il BAT ricostruisce ed esegue una seconda istanza di PowerShell con finestra nascosta provando a recuperare un file denominato 2.jpg da uno dei differenti URL il cui ordine viene randomizzato, in modo da utilizzare il primo server disponibile.
Il file 2.jpg non è un’immagine
Nonostante l’estensione, 2.jpg non viene utilizzato come una normale immagine.

Il contenuto viene interpretato come testo e il loader cerca due marcatori: <<START>> e <<END>> tra cui è presente una lunga stringa Base64 che una volta decodificata, la stringa produce un eseguibile .NET.

Il codice viene caricato direttamente nella memoria di PowerShell attraverso System.Reflection.Assembly::Load(). Da questo assembly viene recuperata la classe myprogram.Homees e viene quindi invocato il metodo runss.
A questo punto lo script BAT ha terminato il proprio compito. Ha scaricato e avviato in memoria il loader incaricato di recuperare il malware successivo. La catena porta infine all’esecuzione di XWorm.
XWorm appartiene alla categoria dei Remote Access Trojan, malware progettati per fornire all’attaccante il controllo remoto di un computer compromesso.
La presenza di XWorm rende quindi il ramo Windows della campagna concettualmente simile a quello Android: in entrambi i casi l’obiettivo finale è ottenere un accesso remoto esteso al dispositivo della vittima, anche se vengono utilizzati malware e tecniche differenti.
Indicatori di Compromissione
Al fine di rendere pubblici i dettagli della campagna odierna si riportano di seguito gli IoC rilevati:
Link: Download IoC