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.
FIG 1 - Ransom32 - Join |
FIG 2 - Ransom32 - Stats |
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
FIG 3 - Apertura del file .SCR in Winrar |
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.
FIG 4 - Ransom32 Lock Screen |
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.
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.
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.
FIG 7 - Kaspersky RannohDecryptor |
Recuva
Photorec
EaseUS Data Recovery
R-Studio