Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Il background

Ci siamo imbattuti, recentemente, in una nuova famiglia di programmi backdoor di tipo cross-platform, ovvero multipiattaforma, destinati agli ambienti desktop. Abbiamo avuto a disposizione, innanzitutto, la variante Linux, e con le informazioni ricavate dall’analisi del relativo binario, siamo stati poi in grado di individuare anche la variante appositamente sviluppata dai virus writer per colpire i computer desktop dotati di sistema operativo Windows. Non solo: la versione Windows è risultata provvista di firma digitale valida. Esamineremo adesso, in dettaglio, entrambe le versioni.

DropboxCache, alias Backdoor.Linux.Mokes.a

Questa backdoor, destinata ai sistemi operativi basati su Linux, viene distribuita in forma compressa, ottenuta mediante l’utilizzo del packer UPX. Si tratta di un malware ricco di funzionalità malevole, preposte essenzialmente a monitorare le attività svolte dalla vittima; il codice di cui tale backdoor è provvista consente, ad esempio, di poter catturare l’audio e realizzare appositi screenshot.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Dopo la prima esecuzione, il file binario controlla il proprio percorso e, se necessario, provvede a copiare se stesso in una delle seguenti posizioni:

  • $HOME/$QT-GenericDataLocation/.mozilla/firefox/profiled
  • $HOME/$QT-GenericDataLocation/.dropbox/DropboxCache

Potrebbe ad esempio trattarsi della seguente location: $HOME/.local/share/.dropbox/DropboxCache. Per acquisire la necessaria persistenza, esso utilizza il metodo qui di seguito descritto, a dir la verità non particolarmente furtivo: la backdoor, in effetti, crea semplicemente un file .desktop in $HOME/.config/autostart/$filename.desktop. Ecco il relativo template:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

In seguito, il malware qui analizzato si connette al proprio Server C&C hardcoded. Da questo punto in poi, esso effettua una richiesta HTTP ogni minuto:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

La richiesta “heartbeat” risponde con un’immagine one-byte. Per eseguire l’upload e la ricezione di dati e comandi, la backdoor si connette alla porta TCP 433, utilizzando un protocollo personalizzato e la crittografia AES. Il file binario presenta, in effetti, le seguenti chiavi pubbliche hardcoded:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Il malware, successivamente, raccoglie in /tmp/ le informazioni acquisite grazie a keylogger, catture audio e screenshot realizzati. I dati così raccolti saranno poi caricati sul server C&C.

  • /tmp/ss0-DDMMyy-HHmmss-nnn.sst (Screenshot, JPEG, ogni 30 sec.)
  • /tmp/aa0-DDMMyy-HHmmss-nnn.aat (Audiocapture, WAV)
  • /tmp/kk0-DDMMyy-HHmmss-nnn.kkt (Keylog)
  • /tmp/dd0-DDMMyy-HHmmss-nnn.ddt (Dati Arbitrari)

DDMMyy = data: 280116 = 2016-01-28
HHmmss = orario: 154411 = 15:44:11
nnn = millisecondi.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Questa parte del codice è in grado di catturare l’audio dal computer-vittima.

La cattura audio, tuttavia, non risulta attivata nel timer degli eventi del file binario in questione, esattamente come la funzionalità di keylogging. Poiché gli autori hanno collegato staticamente libqt, xkbcommon (la libreria per la gestione delle “descrizioni” tastiera) ed OpenSSL (1.0.2c) al binario, la dimensione del file binario stesso supera i 13 MB. Inoltre, i cybercriminali non hanno compiuto alcuno sforzo per cercare di offuscare, in un modo o nell’altro, il file binario. In effetti, quest’ultimo contiene quasi tutti i simboli; ovviamente, nel condurre l’analisi, tale aspetto si è rivelato di particolare importanza.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Vi sono, allo stesso modo, specifici riferimenti ai file sorgente dell’autore:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

A quanto pare, il malware in causa è scritto in C++ e Qt, un framework per applicazioni multipiattaforma. Secondo i metadati contenuti nel file binario, la backdoor è stata compilata utilizzando “GCC 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)” su Ubuntu 14.04 LTS “Trusty Tahr”. Infine, in base al timestamp qt_instdate, risulta che le sorgenti Qt siano state configurate per l’ultima volta il 26-09-2015 (qt/qtbase.git:
deprecated
); questo significa, in pratica, che il malware è stato compilato non prima della fine del mese di settembre 2015.

Da parte nostra, rileviamo questo tipo di programma malevolo come Backdoor.Linux.Mokes.a.

OLMyJuxM.exe, alias Backdoor.Win32.Mokes.imv

Soltanto pochi giorni fa, ci siamo trovati di fronte ad un sample di malware dall’aspetto piuttosto “familiare”, nonostante lo stesso fosse compilato per macchine provviste di sistema operativo Microsoft Windows. Tale software dannoso si è ben presto rivelato essere una variante Windows a 32 bit del programma Backdoor.Linux.Mokes.a.

Una volta eseguito, il malware sceglie, casualmente, una delle nove diverse location in %AppData%, allo scopo di installarsi in maniera persistente all’interno del computer-vittima. Nella circostanza, il binario crea ugualmente, nella medesima cartella, un apposito file “version”. Come suggerisce il nome stesso, esso fa in modo che vengano memorizzate solo le informazioni relative alla propria versione, unitamente al percorso completo utilizzato per l’installazione del malware:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Successivamente, vengono create le chiavi di registro corrispondenti in HKCU\Software\Microsoft\Windows\CurrentVersion\Run, allo scopo di assicurare la persistenza nel sistema.

Dopo che il malware ha eseguito la propria copia nella nuova posizione, viene utilizzata l’API SetWindowsHook per stabilire la funzionalità keylogger e monitorare gli input del mouse, al pari dei messaggi interni inviati alla coda dei messaggi.

La fase successiva, nell’ambito delle attività condotte dal programma backdoor, consiste poi nel contattare il server C&C hardcoded. A parte la chiave di crittografia e gli indirizzi IP diversi, possiamo rilevare un comportamento quasi identico.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Questa particolare variante, tuttavia, si avvale di un tipo di implementazione leggermente diverso, e cerca di ottenere la stringa identificativa User-Agent di default, relativa a Windows.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Se l’operazione non ha buon esito, il sample utilizza, allora, la propria versione hardcoded:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Esso si connette al proprio server C&C con le stesse modalità adottate dalla variante Linux: quindi, una volta al minuto, provvede ad inviare un segnale heartbeat tramite HTTP (GET /v1). Per recuperare i comandi, oppure per effettuare l’upload o il download di risorse aggiuntive, il malware utilizza la porta TCP 433.

Per salvare gli screenshot realizzati, così come le catture audio, i keylog e gli altri dati arbitrari ottenuti, la backdoor Windows fa uso quasi degli stessi modelli di filename. Tuttavia, a differenza di quanto avviene con la variante destinata all’OS Linux, in questo sample il keylogger risulta attivo. Abbiamo riportato, qui sotto, il contenuto di un file di log relativo alle sequenze dei tasti premuti, situato in %TEMP% e creato dal sample di malware qui analizzato:

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

È stato da noi individuato, inoltre, del codice inatteso. Lo screenshot qui di seguito inserito mostra evidenti riferimenti ad un codice malevolo in grado di catturare immagini da una telecamera collegata, quale, ad esempio, una webcam incorporata.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Così come nella versione per Linux, anche nel caso della variante del programma backdoor appositamente creata per l’OS Windows, l’autore ha lasciato un certo numero di stringhe “sospette”, all’interno del file binario. La stringa qui sotto riportata, ad esempio, è sorprendentemente “onesta”.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Dal punto di vista del cybercriminale, è indubbiamente di particolare importanza cercare di far apparire legittimo il software utilizzato, e far sì che Windows non richieda all’utente alcuna conferma prima di eseguire un programma sconosciuto. Sui computer Windows questo può essere ottenuto utilizzando appositi Certificati Digitali, mediante i quali si attesta l’attendibilità del codice. In questo caso particolare, il criminale è riuscito a firmare il binario per mezzo di un certificato trusted emesso da “COMODO RSA Code Signing CA”.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

Questo tipo di malware viene da noi rilevato come Backdoor.Win32.Mokes.imv.

Cosa possiamo attenderci

Visto che il software qui esaminato è stato intenzionalmente progettato per risultare indipendente a livello di piattaforma di esecuzione, potremmo assistere, in futuro, alla comparsa di sample di malware analoghi destinati a Mac OS X.

Update

(01-02-2016 10:45 UTC): Abbiamo appena ottenuto la variante Backdoor.Win32.Mokes.imw. È la prima volta che vediamo una variante di Mokes, peraltro provvista di modulo “cattura audio” già attivato. Il malware crea un nuovo file audio ogni 5 minuti.

Da Linux a Windows – Scoperta una Nuova Famiglia di Backdoor di tipo Cross-Platform per Ambienti Desktop

IOC

Backdoor.Linux.Mokes.a

c9e0e5e2aeaecb232120e8573e97a6b8

$HOME/$QT-GenericDataLocation/.mozilla/firefox/profiled
$HOME/$QT-GenericDataLocation/.dropbox/DropboxCache
$HOME/.config/autostart/profiled.desktop
$HOME/.config/autostart/DropboxCache.desktop

/tmp/ss0-$date-$time-$ms.sst

Backdoor.Win32.Mokes.imv & .imw

f2407fd12ec0d4f3e82484c027c7d149 (imw)
91099aa413722d22aa50f85794ee386e (imv)

%AppData%\Skype\SkypeHelper.exe
%AppData%\Skype\version
%AppData%\Dropbox\bin\DropboxHelper.exe
%AppData%\Dropbox\bin\version
%AppData%\Google\Chrome\nacl32.exe
%AppData%\Google\Chrome\version
%AppData%\Google\Chrome\nacl64.exe
%AppData%\Google\Chrome\version
%AppData%\Mozilla\Firefox\mozillacache.exe
%AppData%\Mozilla\Firefox\version
%AppData%\Hewlett-Packard\hpqcore.exe
%AppData%\Hewlett-Packard\version
%AppData%\Hewlett-Packard\hpprint.exe
%AppData%\Hewlett-Packard\version
%AppData%\Hewlett-Packard\hpscan.exe
%AppData%\Hewlett-Packard\version
%AppData%\Adobe\Acrobat\AcroBroker.exe
%AppData%\Adobe\Acrobat\version

%TEMP%\aa$n-$date-$time-$ms.aat (imw)
dove $n è un valore di hash decimale calcolato in base al nome della scheda audio

%TEMP%\ss0-$date-$time-$ms.sst
%TEMP%\dd0-$date-$time-$ms.ddt
%TEMP%\kk$date.kkt

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run “%PERSISTENT-FILENAME%”, “%PERSISTENT-FILEPATH%”

dove %PERSISTENT-FILENAME% è uno dei nomi di file sopra indicati e %PERSISTENT-FILEPATH% è il percorso corrispondente

Post correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *