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

giovedì 19 maggio 2016

Ransomware TeslaCrypt: Decriptare tutte le versioni

Gli sviluppatori di TeslaCrypt hanno provveduto alla chiusura dei server e, dietro richiesta dei ricercatori ESET, hanno messo a disposizione la master key per recuperare i dati cifrati da tutte le versioni del ransomware (incluse la 3.0 e 4.x).

Gli sviluppatori del ransomware hanno rilasciato la master key di TeslaCrypt su rete Tor all'indirizzo wbozgklno6x2vfrk.onion

La master key è la seguente
440A241DD80FCC5664E861989DB716E08CE627D8D40C7EA360AE855C727A49EE

A chi ha conservato i dati cifrati dal ransomware non resta che scaricare la versione aggiornata di TeslaDecoder  (sviluppato da BloodDolly di BleepingComputer) e procedere come segue.


  • Scaricata l'ultima versione di TeslaDecoder, scompattarla e avviare il file TeslaDecoder.exe
  • FIG 1 - TeslaDecoder
  • Cliccare sul pulsante Set Key. Nella casella Key (hex): incolliamo la master key e in Extension selezioniamo l'estensione dei nostri file cifrati (per i file cifrati con TeslaCrypt 4.x a cui non è stata modificata l'estensione selezionare <as original>), quindi cliccare Set Key


  • Si ritorna alla schermata vista in FIG 1. Non resta che cliccare su Decrypt Folder e selezionare la cartella (o l'intero disco) contenente i nostri file cifrati

mercoledì 27 gennaio 2016

Ransomware TeslaCrypt

Aggiornamento del 19.05.2016


I server di TeslaCrypt chiudono e gli sviluppatori hanno rilasciato la master key utile per decriptare i dati da tutte le versioni di TeslaCrypt. Per maggiori informazioni potete cliccare QUI



Nell'articolo Ransomware Ransom32  ho già parlato di ransomware: un tipo di malware che prende il controllo del sistema (bloccandone l'accesso e/o cifrandone i dati) e richiede un riscatto per lo sblocco.
In quest'articolo tratterò un altro tipo di ransomware piuttosto diffuso, TeslaCrypt , soffermandomi sul recupero dei dati cifrati
Le prime segnalazioni di questo ransomware risalgono a febbraio 2015. Il punto debole delle prime versioni di TeslaCrypt era la gestione della chiave di cifratura. La  chiave, infatti, veniva memorizzata sul disco del sistema infetto rendendo relativamente semplice il recupero dei dati. Le successive versioni del ransomware, oltre all'utilizzo di una cifratura più sofisticata (le chiavi vengono generate tramite l’algoritmo a curve ellittiche ECDH Elliptic curve Diffie–Hellman), presentano alcun accorgimenti che prevengono l’identificazione dei server a cui il malware si connette (server di comando e controllo). I server si trovano sulla rete TOR e il ransomware comunica con essi attraverso tor2web.
In linea generale il modo di operare di TeslaCrypt è analogo a quello della maggior parte degli altri ransomware in circolazione: una volta installato segretamente sul sistema della vittima procede a cifrare i dati con il sistema AES. Il ransomware viene diffuso attraverso allegati alle email oppure tramite apposite pagine web. Dopo aver cifrato un file il ransomware aggiunge una nuova estensione che varia in base alla versione del malware (.xxx, .ttt, .abcor, .micro, .ecc, .ezz, .exx, .xyz, .zzz, .aaa, .abc, .ccc, .vvv) inoltre provvede a cancellare le copie Shadow Volume e i punti di ripristino.  Una volta terminata la cifratura dei documenti della vittima viene mostrato il messaggio di riscatto e vengono creati i seguenti file sul desktop e in altre cartelle: Howto_Restore_FILES.BMP, Howto_Restore_FILES.HTM, Howto_Restore_FILES.TXT. Questi 3 file contengono informazioni su come pagare il riscatto per poter recuperare i dati.

Sono state individuate e analizzate diverse varianti in circolazione di TeslaCrypt, la maggior parte di esse creano un file eseguibile all'interno di %AppData% (ad es. c:\Utenti\<nomeutente>\Appdata\Roaming\<nome file.exe>) mentre le chiavi di registro che vengono modificate sono
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ Qui dovrebbe esserci un richiamo al file .exe in %AppData%
HKCU\Software\
HKCU\Software\xxxsys


Le estensioni dei file interessate da TeslaCrypt sono:
.sql, .mp4, .7z, .rar, .m4a, .wma, .avi, .wmv, .csv, .d3dbsp, .zip, .sie, .sum, .ibank, .t13, .t12, .qdf, .gdb, .tax, .pkpass, .bc6, .bc7, .bkp, .qic, .bkf, .sidn, .sidd, .mddata, .itl, .itdb, .icxs, .hvpl, .hplg, .hkdb, .mdbackup, .syncdb, .gho, .cas, .svg, .map, .wmo, .itm, .sb, .fos, .mov, .vdf, .ztmp, .sis, .sid, .ncf, .menu, .layout, .dmp, .blob, .esm, .vcf, .vtf, .dazip, .fpk, .mlx, .kf, .iwd, .vpk, .tor, .psk, .rim, .w3x, .fsh, .ntl, .arch00, .lvl, .snx, .cfr, .ff, .vpp_pc, .lrf, .m2, .mcmeta, .vfs0, .mpqge, .kdb, .db0, .dba, .rofl, .hkx, .bar, .upk, .das, .iwi, .litemod, .asset, .forge, .ltx, .bsa, .apk, .re4, .sav, .lbf, .slm, .bik, .epk, .rgss3a, .pak, .big, wallet, .wotreplay, .xxx, .desc, .py, .m3u, .flv, .js, .css, .rb, .png, .jpeg, .txt, .p7c, .p7b, .p12, .pfx, .pem, .crt, .cer, .der, .x3f, .srw, .pef, .ptx, .r3d, .rw2, .rwl, .raw, .raf, .orf, .nrw, .mrwref, .mef, .erf, .kdc, .dcr, .cr2, .crw, .bay, .sr2, .srf, .arw, .3fr, .dng, .jpe, .jpg, .cdr, .indd, .ai, .eps, .pdf, .pdd, .psd, .dbf, .mdf, .wb2, .rtf, .wpd, .dxg, .xf, .dwg, .pst, .accdb, .mdb, .pptm, .pptx, .ppt, .xlk, .xlsb, .xlsm, .xlsx, .xls, .wps, .docm, .docx, .doc, .odb, .odc, .odm, .odp, .ods, .odt

Come rimuovere il ransomware
TeslaCrypt potrebbe infiltrare e installare altri virus all'interno del sistema. Prima di tentare il recupero dei dati è necessario rimuovere il ransomware. Per rimuoverlo è possibile eseguire la scansione del sistema con un antivirus aggiornato. Un buon alleato in questi casi è un antivirus con cui eseguire il boot del sistema come Kaspersky Rescue Disk che è possibile scaricare da QUESTA PAGINA. Scaricata l'immagine è possibile masterizzarla su CD\DVD oppure creare una pendrive bootable tramite il tool rescue2USB. Eseguendo il boot con Kaspersky Rescue Disk è possibile fare in modo che l'antivirus scarichi automaticamente da internet gli aggiornamenti prima di procedere alla scansione dell'intero sistema.
Terminata la scansione ed eliminati eventuali virus trovati, avviare il sistema in modalità provvisoria quindi installare ed eseguire una scansione con una versione di Malwarebytes e/o SpyHunter aggiornata.

Recupero Dati
Per decifrare i dati è necessario recuperare la PrivateKeyBC (Chiave privata usata da TeslaCrypt come master key). Prima di poter risalire alla PrivateKeyBC è necessario ricavare SharedSecretBC (chiave calcolata tramite PrivateKeyBC, PublicKeyBC e TeslaPublicKey) e PublicKeyBC (chiave pubblica relativa all'indirizzo bitcoin). Riporto di seguito i passaggi necessari al recupero della PrivateKeyBC.

Passo 1: Procurarsi i tool TeslaDecoder e Yafu
La prima operazione da fare è quella di procurarsi i tools necessari: TeslaDecoder e Yafu. I tool possono essere scaricati dai seguenti link:
TeslaDecoder 
Yafu 

I file sono compressi (.zip) quindi è necessario procedere alla loro estrazione. Se si dispone già di questi tool è consigliabile riscaricarli in modo da essere sicuri di utilizzare l'ultima versione disponibile.
I seguenti passaggi vengono indicati anche, in inglese, all'interno del file Instructions.html fornito insieme a TeslaDecoder (sviluppato da BloodDolly di BleepingComputer).

Passo 2: Eseguire TeslaViewer per estrarre PublicKeyBC e SharedSecret1*PrivateKeyBC
All'interno di TeslaDecoder troviamo 3 file eseguibili: TeslaDecoder.exe, TeslaRefactor.exe e TeslaViewer.exeEseguire TeslaViewer.exe, cliccare sul pulsante Browse e selezionare un file cifrato da TeslaCrypt.
TeslaViewer estrae dal file una serie di informazioni. I campi che ci interessano sono PublicKeyBC e SharedSecret1*PrivateKeyBC.

TeslaViewer
FIG 1 - TeslaViewer
Cliccare sul pulsante Create work.txt per salvare tutte le informazioni all'interno del file di testo work.txt (il file di testo verrà creato all'interno della stessa cartella contenente TeslaViewer.exe).

Passo 3: Fattorizzazione di SharedSecret1*PrivateKeyBC tramite factordb.com
Ora bisogna procedere alla fattorizzazione in numeri primi del valore decimale di SharedSecret1*PrivateKeyBC. L'operazione potrebbe richiedere molto tempo ma il sito Factordb.com ci viene incontro fornendoci numerosi valori pre-calcolati.
Apriamo il file Work.txt creato con TeslaViewer e copiamo il valore decimale di  SharedSecret1*PrivateKeyBC

Work.txt e SharedSecret1*PrivateKeyBC
FIG 2 - Work.txt e SharedSecret1*PrivateKeyBC
Quindi posizioniamoci sul sito Factordb.com, incolliamo nell'apposita casella il valore copiato e clicchiamo su Factorize!
Se nella colonna Status troviamo il valore FF allora siamo fortunati e non ci resta che creare un file di testo e copiare i fattori all'interno del file (un fattore per riga). Può capitare che qualche fattore venga visualizzato come 5933269477...11<154> in questi casi dobbiamo cliccare sul fattore per visualizzare l'intero valore. Il numero tra parentesi angolari (154) indica il numero di cifre che compongono il valore. A questo punto possiamo passare al Passo 5.
Se, invece, nella colonna status, viene visualizzato il valore CF allora dobbiamo procedere in proprio alla fattorizzazione e proseguire con il Passo 4.
factordb.com
FIG 3 - factordb.com
Passo 4: Fattorizzazione di SharedSecret1*PrivateKeyBC tramite Yafu
Se non siamo stati fortunati con il sito factordb.com dobbiamo procedere autonomamente alla fattorizzazione. L'operazione potrebbe richiedere molto tempo anche su PC potenti. Per la fattorizzazione utilizzeremo il tool Yafu che abbiamo scaricato nel Passo 1. Come prima cosa procediamo alla ottimizzazione del tool in base al nostro sistema. Eseguire tuneX86.bat (per sistemi a 32 bit) o tuneX64.bat (per sistemi a 64 bit) e attendere il termine dell'operazione. La procedura di ottimizzazione potrebbe richiedere un po' di tempo e al termine verrà visualizzato il messaggio Tune Finished.

Ottimizzazione di Yafu: tuneX86 e tuneX64
FIG 4 - Ottimizzazione di Yafu: tuneX86 e tuneX64
Terminata l'ottimizzazione, aprire il file works.txt e copiare il valore decimale di  SharedSecret1*PrivateKeyBC come indicato nel Passo 3.
Lanciare factorX86.bat (per sistemi a 32 bit) o factorX64.bat (per sistemi a 64 bit). Quando richiesto incollare il valore SharedSecret1*PrivateKeyBC copiato precedentemente e premere invio.
FactorX86 e FactorX64: SharedSecret1*PrivateKeyBC
FIG 5 - FactorX86 e FactorX64: SharedSecret1*PrivateKeyBC
A questo punto viene richiesto quanti thread si intende impiegare per il calcolo della fattorizzazione. Il numero di Thread del proprio sistema può essere visualizzato da Task Manager. Si consiglia di specificare il numero di processori logici -1 (ad es. se si dispone di una CPU dual core con 4 processori logici si consiglia di indicare 3) in modo tale da non bloccare la postazione. La fattorizzazione può richiedere molto tempo (anche giorni) a seconda della potenza del sistema e del numero da fattorizzare.
FactorX86 e FactorX64: Threads
FIG 6 - FactorX86 e FactorX64: Threads
Al termine vengono visualizzati i risultati come indicato in figura FIG 7. 
FactorX86 e FactorX64: Risultati
FIG 7 - FactorX86 e FactorX64: Risultati
Copiare tutti i fattori e incollarli all'interno di un file di testo.
Risultato Fattorizzazione
FIG 8 - Risultato Fattorizzazione
PASSO 5: TeslaRefactor
Siamo quasi giunti al termine. Nella cartella TeslaDecoder avviamo il tool TeslaRefactor. Nella casella dove è indicato il messaggio <Put decimal factors here> incollare i valori forniti dalla fattorizzazione in numeri primi (quelli forniti da FactorDB.com oppure quelli calcolati tramite Yafu). Nel campo Public Key (hex) copiare il valore PublicKeyBC presente all'interno del file works.txt. Cliccare su Find Private Key per calcolare la chiave privata.
TeslaRefactor
FIG 9 - TeslaRefactor
Al termine dell'operazione prendiamo nota della chiave privata, Private key (hex), che ci servirà per decriptare i dati.
TeslaRefactor Private Key
FIG 10 - TeslaRefactor Private Key
Nel caso in cui sorgessero problemi nel calcolo della chiave privata, confrontare i valori dei campi Product (dec) e Product (Hex) con i rispettivi valori di SharedSecret1*PrivateKeyBC all'interno del file work.txt. Se i valori corrispondono allora togliere il flag alla voce Optimization e cliccare nuovamente sul pulsante Find Private Key.


Passo 6: Decriptare i dati tramite TeslaDecoder
Ora che si dispone della chiave privata è possibile procedere a decriptare i propri file utilizzando TeslaDecoder. Avviare TeslaDecoder come amministratore (cliccare con il tasto destro del mouse su TeslaDecoder.exe e selezionare Esegui come amministratore).
TeslaDecoder
FIG 11 - TeslaDecoder
Cliccare sul pulsante Set key. Verrà aperta la finestra Set custom key for decryption (vedi FIG 12). Nel campo Key (hex) specificare la chiave privata recuperata precedentemente e in Extension selezionare l'estensione dei file cifrati che si intende recuperare quindi cliccare su Set key per ritornare alla schermata precedente.
TeslaDecoder Set key
FIG 12 - TeslaDecoder Set key
Ritornando alla schermata precedente noteremo che i pulsanti Decrypt Folder e Decrypt All sono abilitati. Il primo ci consente di agire su una specifica cartella e relative sottocartelle, il secondo, invece, esegue una verifica sull'intero sistema recuperando i file cifrati. Prima di procedere ci viene richiesto se eliminare o mantenere la copia cifrata del file (se abbiamo dati importanti conviene tenere anche la versione cifrata del nostro file nel caso in cui l'operazione non sia riuscita a recuperare correttamente il suo contenuto).
TeslaDecoder cancellare i file criptati
FIG 13 - TeslaDecoder cancellare i file criptati

Conclusioni
Le raccomandazioni per evitare la perdita dei dati sono le solite: disporre di un buon antivirus e tenerlo sempre aggiornato, diffidare di siti ed email sospette, effettuare frequenti backup dei dati su più dispositivi esterni e non perennemente connessi al sistema. Per chi effettua il backup su cloud in genere i provider consentono di mantenere più "versioni" del file. In questi casi, se i file vengono crittografati da qualche ransomware, dovrebbe essere possibile recuperare una versione antecedente. 

Se questo articolo vi è stato d'aiuto a recuperare i vostri dati e volete offrirmi un caffè, potete utilizzare l'apposito link delle donazioni (le transazioni vengono gestite da paypal).


Aggiornamento del 05.02.2016
Al momento per i file cifrati da TeslaCrypt 3 aventi estensione .ttt, .xxx, .micro e .mp3 non esiste un metodo per estrarre la chiave dato che viene utilizzato un algoritmo diverso. Chi è stato colpito da tale variante di TeslaCrypt può effettuare un backup dei file cifrati in attesa che venga trovata una soluzione. Il tool TeslaDecoder è in continuo aggiornamento. Il ransomware può comunque essere rimosso seguendo i passaggi indicati nell'articolo. Provvederò ad aggiornare il presente articolo nel caso venga trovato il metodo per recuperare i dati cifrati da questa variante del ransomware.


Aggiornameno del 15.02.2016
Una nuova variante di TeslaCrypt 3.0 rinomina il file con estensione .mp3.


Aggiornamento del 18.03.2016
Ancora una brutta notizia. Non è stata trovato ancora alcun modo per decriptare i file con estensione .micro e .mp3 e, dal giorno 14.03.2016, si sta diffondendo una nuova versione di TeslaCrypt: TeslaCrypt 4.0. In quest'ultima versione i file vengono cifrati ma l'estensione non viene modificata. Tale comportamento renderà difficile riconoscere a colpo d'occhio i file cifrati sul disco. In questa nuova versione del ransomware, inoltre,  è stato corretto un BUG che corrompeva i file con grandezza superiore ai 4GB. Il file eseguibile del ransomware viene creato in 
%UserProfile%\Documenti\[caratteri_alfanumerici_random].exe
Le chiavi di registro coinvolte sono
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\_[caratteri_alfanumerici_random]
HKEY_CURRENT_USER\Software\
HKEY_CURRENT_USER\Software\Data


Aggiornamento del 26.04.2016
Da circa una settimana è in circolazione una nuova variante di TeslaCrypt: TeslaCrypt 4.1b.
Anche questa a nuova variante del ransomware è stata analizzata da BloodDolly di BleepingComputer e presenta alcune piccole modifiche rispetto alle versioni precedenti:
Il file di dati ora risulta  %MyDocuments%\desctop._ini 
Il file contentente le istruzioni ha una dimensione leggermente superiore rispetto alle versioni precedenti del ransomware.
%UserProfile%\Desktop\-!RecOveR!-[caratteri casuali]++.Txt
%UserProfile%\Desktop\-!RecOveR!-[caratteri casuali]++.Htm
%UserProfile%\Desktop\-!RecOveR!-[caratteri casuali]++.Png
%UserProfile%\Documents\-!recover!-!file!-.txt
L'eseguibile del ransomware viene creato con un nome random in Documenti:
%UserProfile%\Documents\[caratteri casuali].exe

Una volta che TeslaCrypt ha terminato la cifratura dei dati, contatta il server di comando e controllo inviando un messaggio di POST criptato:


Sub=Ping&dh=[PublicKeyRandom1_octet|AES_PrivateKeyMaster]&addr=[bitcoin_address]&size=0&version=4.1b&OS=[build_id]&ID=[?]&inst_id=[victim_id]

Anche in questa ultima versione ai file cifrati non viene aggiunta alcuna estensione.

Aggiornamento 04.05.2016
L'utente BloodDolly di BleepingComputer ha individuato e analizzato una nuova versione di TeslaCrypt: siamo alla versione 4.2. La nuova versione apporta alcuna piccole modifiche. Il messaggio che compare all'utente è stato modificato e vengono visualizzate solo le informazioni essenziali per procedere al pagamento del riscatto. Il codice è stato ottimizzato e compilato utilizzando un compilatore diverso da quello utilizzato nelle versioni precedenti del ransomware. La nuova versione di TeslaCrypt esegue l'injection code in svchost.exe per poter eliminare le copie shadow (operazione che viene eseguita sia prima che dopo aver cifrato i dati).
I file creati da TeslaCrypt 4.2 sono 
%UserProfile%\Desktop\!RecoveR!-[5 caratteri random]++.HTML
%UserProfile%\Desktop\!RecoveR!-[5 caratteri random]++.PNG
%UserProfile%\Desktop\!RecoveR!-[5 caratteri random]++.TXT
%UserProfile%\Documents\-!recover!-!file!-.txt
%UserProfile%\Documents\[random].exe

Il ransomware provvede a modificare la seguente chiave di registro per avviarsi ad ogni logon

[HKCU\Software\Microsoft\Windows\CurrentVersion\Run] serv[5 caratteri random] C:\Windows\SYSTEM32\CMD.EXE /C START "" "[malware].exe"



Aggiornamento del 19.05.2016

I server di TeslaCrypt chiudono e gli sviluppatori hanno rilasciato la master key utile per decriptare i dati da tutte le versioni di TeslaCrypt. Per maggiori informazioni potete cliccare QUI