Visualizzazione post con etichetta Cryptolocker. Mostra tutti i post
Visualizzazione post con etichetta Cryptolocker. Mostra tutti i post

venerdì 15 gennaio 2016

Ransomware Ransom32

Il ransomware è un tipo di malware che una volta eseguito sul sistema della vittima ne prende il controllo (impedendone l'accesso o cifrando i dati) e chiede un riscatto per rimuovere la limitazione. Uno dei primi ransomware ad avere grande diffusione è stato Cryptolocker che provvedeva a cifrare i dati dell'utente e a richiedere un riscatto. Nel corso del tempo si sono viste varianti sempre più sofisticate alcune delle quali utilizzano chiavi di crittografia asimmetriche RSA a 2.048 o 4.096 bit generate dinamicamente e memorizzano le chiavi di decodifica su server remoti.

In questi primi giorni del 2016 si sta diffondendo un nuovo ransomware chiamato Ransom32. Il malware è stato analizzato approfonditamente da Fabian Wosar, esperto di sicurezza di Emsisoft.
Ransom32 può essere creato/scaricato attraverso un sito raggiungibile tramite TOR. Ransom32, infatti, non è solo un malware ma rappresenta un vero è proprio servizio (RaaS - Ransomware as a Service) che consente di generare il proprio malware. Il servizio fornito è semplice ed efficace: chiunque può creare la propria copia personalizzata del ransomware purché disponga di un indirizzo bitcoin (indirizzo che dovrebbe essere utilizzato dalla vittima per pagare il riscatto). Gli sviluppatori di Ransom32 guadagnano prelevando, da ogni riscatto pagato, il 25%.

La peculiarità di questo ransomware sta nel fatto che è stato interamente sviluppato utilizzando la piattaforma NW.js (conosciuta anche come Node.js) che consente agli sviluppatori di creare applicazioni native per Linux, Mac e Windows utilizzando HTML5, CSS3, Javascript a WebGL. L'utilizzo di tale piattaforma consente di creare un eseguibile Chromium che viene eseguito dal browser. Proprio questa caratteristica rende Ransom32 allo stesso tempo interessante e temuto: il ransomware può essere potenzialmente eseguito su diverse piattaforme (Linux, Mac e Windows).

Creazione e Download

Una volta raggiunto l'indirizzo del servizio RaaS tramite TOR (non fornisco l'indirizzo per ovvi motivi) è necessario affiliarsi fornendo il proprio indirizzo bitcoin e cliccare su Join.


Ransom32 - Join
FIG 1 - Ransom32 - Join
Eseguita la join ci si trova davanti alla propria console. Nella parte superiore della console (Ransom32 - Stats) vengono indicate le statistiche come il numero di installazioni del proprio client Ransom32, il numero di persone che visualizzano la schermata di blocco al termine della cifratura dei dati, il numero di transazioni bitcoin verso il proprio indirizzo (numero di pagamenti) e l'ammontare dei pagamenti. Nella parte inferiore della console (Client download)è possibile creare la propria versione di Ransom32 con impostazioni personalizzate.


Ransom32 - Stats
FIG 2 - Ransom32 - Stats
Le opzioni messe a disposizione dalla console per la creazione del proprio ransomware sono le seguenti:

BTC amount to ask:  Ammontare del riscatto espresso in bitcoin (BTC).

Fully lock the computer: Per default la schermata di blocco del ransomware viene visualizzata, se minimizzata, dopo un tot numero di secondi. Tale opzione permette di configurare la schermata di blocco in modo che la vittima non riesca a minimizzarla. Impedendo alla vittima di minimizzare la finestra gli si impedisce di poter verificare che i suoi dati siano stati effettivamente cifrati e inoltre la si costringe a cercare un'altro modo di pagare il riscatto dato che sulla postazione sarà impossibile utilizzare il browser.

Low CPU usage: I dati dell'utente verranno criptati utilizzando la CPU in modo moderato (al di sotto del 25%). Durante la cifratura dei dati la finestra di blocco non verrà visualizzata. Tale opzione allunga i tempi di completamento dell'operazione ma permette di non far insospettire la vittima con un rallentamento eccessivo del sistema.

Show the lockscreen before encrypting: Per default la schermata di blocco viene visualizzata dopo che una parte dei file è stata cifrata (file con dimensione inferiore ai 50MB) e continua a cifrare il resto dei dati in background. É possibile impostare che la schermata di blocco venga visualizzata prima che inizi il processo di cifratura.

Show a message Box: Questa opzione permette di impostare un messaggio che viene visualizzato prima dell'installazione e prima di qualsiasi timeout impostato (Latent Timeout).

Latent Timeout: Con questa opzione è possibile specificare un tempo di timeout che il client attende dopo la sua installazione prima di procedere alla cifratura dei dati e alla connessione al server. Il client non tenta di connettersi al server prima della scadenza del timeout impostato ma resta "dormiente" nel sistema (in questo caso l'installazione non sarà visibile da console fino a che il client non contatterà il server).

Una volta settate le impostazioni desiderate basta cliccare sul pulsante di download per scaricare la propria copia personalizzata di Ransom32. Il file consiste in un RAR autoestraibile (con estensione .SCR) di circa 22MB (scompattato occupa circa 67MB). 


Installazione e cifratura dati
Ransom32 tenta di mascherarsi come Chrome utilizzando il nome e l'icona del browser Google (ovviamente il file non è firmato digitalmente e mancano le informazioni relative alla versione).

Quando si esegue il file autoestraente, numerosi file vengono estratti in %userprofile%\AppData\Roaming\Chrome Browser e viene creato un collegamento (chiamato ChromeService) all'interno della cartella di Esecuzione automatica. Il collegamento viene utilizzato per eseguire il ransomware all'avvio del sistema e richiama il file chrome.exe: un package NW.js contenente codice Javascript che provvede a cifrare i dati dell'utente e a visualizzare i messaggi del ricatto.

I file estratti sono:
  • chrome - Licenza Chromium
  • chrome.exe - Eseguibile principale 
  • ffmpegsumo.dll - HTML5 video decoder DLL che viene fornito con Chromium.
  • g - File contenente le impostazioni del malware settate all'interno della console: indirizzo bitcoin, messaggio di errore, ecc 
  • icudtl.dat - File usato da Chromium
  • locales - Cartella contenente vari language packs usati da Chrome.
  • msgbox.vbs - Si tratta del messaggio che viene visualizzato nel caso il malintenzionato abbia settato "Show a message Box" nella console.
  • nw.pak - file richiesto dalla piattaforma NW.JS
  • rundll32.exe - Si tratta di un eseguibile TOR rinominato in modo da confondere gli utenti Windows. Attraverso tale file il malware comunica con il server utilizzando TOR.
  • s.exe - si tratta delle eseguibile Shortcut.exe di OptimumX rinominato. Si tratta di un eseguibile legittimo che viene utilizzato dal malware per creare il collegamento ChromeService all'interno della cartella Esecuzione Automatica
  • u.vbs - Si tratta di uno script VBS che provvede a cancellare una specifica cartella e il suo contenuto

Apertura del file .SCR in Winrar
FIG 3 - Apertura del file .SCR in Winrar
Lo script di WinRAR contenuto all'interno del file .SCR provvede ad estrarre i file in determinate cartelle e ad eseguire l'autorun del ransomware. All'interno dello scripto (si veda FIG 3) ci sono alcuni parametri:
Setup=chrome i  – Indica il file eseguibile da avviare al termine dell'estrazione (chrome.exe)
TempMode indica che i file vengono spostati in %TEMP% 
Silent=1 indica che l'installazione/estrazione dei file viene eseguita in modalità silente, senza la visualizzazione di messaggi


In dettaglio i file vengono estratti nelle seguenti cartelle
%Temp%\nw3932_17475
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\ChromeService.lnk
%AppData%\Chrome Browser\
%AppData%\Chrome Browser\.chrome\
%AppData%\Chrome Browser\.chrome\cached-certs
%AppData%\Chrome Browser\.chrome\cached-microdesc-consensus
%AppData%\Chrome Browser\.chrome\cached-microdescs
%AppData%\Chrome Browser\.chrome\cached-microdescs.new
%AppData%\Chrome Browser\.chrome\lock
%AppData%\Chrome Browser\.chrome\state
%AppData%\Chrome Browser\chrome
%AppData%\Chrome Browser\chrome.exe
%AppData%\Chrome Browser\ffmpegsumo.dll
%AppData%\Chrome Browser\g
%AppData%\Chrome Browser\icudtl.dat
%AppData%\Chrome Browser\locales\
%AppData%\Chrome Browser\msgbox.vbs
%AppData%\Chrome Browser\n.l
%AppData%\Chrome Browser\n.q
%AppData%\Chrome Browser\nw.pak
%AppData%\Chrome Browser\rundll32.exe
%AppData%\Chrome Browser\s.exe
%AppData%\Chrome Browser\u.vbs

I file che vengono cifrati da Ransom32 sono quelli con le seguenti estensioni:

*.jpg, *.jpeg, *.raw, *.tif, *.gif, *.png, *.bmp, *.3dm, *.max, *.accdb, *.db, *.dbf, *. mdb, *.pdb, *.sql, *.*SAV*, *.*SPV*, *.*grle*, *.*MLX*, *.*SV5*, *.*game*, *.*Slot*, *.dwg, *.dxf, *.c, *.cpp, *.cs, *.h, *.php, *.asp, *.rb, *.java, *.jar, *.class, *.aaf, *.aep, *.aepx, *.PLB, *.prel, *.prproj, *.aet, *.ppj, *.psd, *.indd, *.indl, *.indt, *.indb, *.inx, *.idml, *.pmd, *.xqx, *.xqx, *.ai, *.eps, *.ps, *.svg, *.swf, *.fla, *.as3, *.as, *.txt, *.doc, *.dot, *.docx, *.docm, *.dotx, *.dotm, *.docb, *.rtf, *.wpd, *.wps, *.msg, *.pdf, *.xls, *.xlt, *.xlm, *.xlsx, *.xlsm, *.xltx, *.xltm, *.xlsb, *.xla, *.xlam, *.xll, *.xlw, *.ppt, *.pot, *.pps, *.pptx, *.pptm, *.potx, *.potm, *.ppam, *.ppsx, *.ppsm, *.sldx, *.sldm, *.wav, *.mp3, *.aif, *.iff, *.m3u, *.m4u, *.mid, *.mpa, *.wma, *.ra, *.avi, *.mov, *.mp4, *.3gp, *.mpeg, *.3g2, *.asf, *.asx, *.flv, *.mpg, *.wmv, *.vob, *.m3u8, *.csv, *. EFX, *.sdf, *.vcf, *.xml, *.ses, *.dat

I file cifrati non vengono rinominati e quelli presenti all'interno delle seguenti cartelle non vengono intaccati dal malware
\Windows\
\winnt\
\ProgramData\
boot\
temp\
tmp\
$RECYCLE.BIN\ 

Quando il malware ha terminato di cifrare i dati visualizza il seguente messaggio.
Ransom32 Lock Screen
FIG 4 - Ransom32 Lock Screen
All'interno del messaggio viene indicato alla vittima ciò che è accaduto ai suoi file, l'ammontare del riscatto, istruzioni su come pagarlo e l'indirizzo bitcoin a cui effettuare il pagamento. Generalmente il messaggio viene visualizzato in inglese. La schermata di blocco consente alla vittima di decriptare un singolo file, per provare alla vittima che l'operazione può essere effettuata.

La crittografia utilizzata è AES (Advanced Encryption Standard) a 128-bit con CTR mode.Per ogni file viene creata una nuova chiave. La chiave per decriptare i dati viene reperita dal client contattando il server.

Rimuovere Ransom32 e tentare il recupero dei dati
Per rimuover Ransom32 avviare il sistema in modalità provvisoria (con supporto di rete se possibile), e installare ed eseguire una scansione con SpyHunter o con Malwarebytes
Se si intende procedere manualmente è possibile terminare tutti i processi chrome.exe e cancellare la cartella %AppData%\Chrome Browser\. Cancellare anche il file %AppData%\Microsoft\Windows\Start Menu\Programs\Startup\ChromeService.lnk e verificare il contenuto della chiave Run (sia in HKLM che in HKCU) all'interno del registro di sistema.
Il recupero dei dati potrebbe essere un'operazione non fattibile. Se si dispone di backup è possibile effettuare un ripristino, in caso contrario è possibile fare dei tentativi per recuperare i propri dati ma il successo non è garantito.
E' possibile utilizzare i seguenti programmi per cercare di recuperare i propri dati:
Shadow Explorer: Consente di visualizzare/ripristinare le copie shadow dei file. Generalmente i malware rimuovono tali copie ma tentare non nuoce.

ShadowExplorer
FIG 5 - ShadowExplorer

Panda Ransomware Decrypt: Con questa applicazione si può tentare decriptare i file. Nel caso si disponga della copia originale di un file che è stato cifrato sul sistema possiamo indicarli entrambi al programma che tenterà di estrarre la chiave di cifratura.

Panda Ransomware Decrypt
FIG 6 - Panda Ransomware Decrypt

Kaspersky Utility: Un insieme di utility fornite da Kaspersky per eliminare virus e per decriptare file di dati resi inaccessibili dai diversi ransomware.

Kaspersky RannohDecryptor
FIG 7 - Kaspersky RannohDecryptor
Altri tentativi che è possibile effettuare è quello di utilizzare software per il recupero dei dati come:
Recuva
Photorec
EaseUS Data Recovery
R-Studio