28/06/2017
11:47

Petya or notPetya ? questo è il dilemma.... nuovo ransomware o vecchia conoscenza...


Massivo attacco in Ucraina, Russia e in altri paesi di una nuova variante di un ransomware simile a Petya.

Nella giornata di ieri 27 giugno 2017, vi è stato un massivo attacco di un nuovo ransomware con caratteristiche similari a Petya. L'attacco ha colpito diversi paesi nel mondo, in particolar modo Ucraina e Russia.

Questa nuova variante di ransomware sfrutta la vulnerabilità di EternalBlue e il vettore di infezione via WMI-PsExec per diffondersi.
Se il ransomware viene eseguito con i diritti di administrator è in grado di infettare il Master Boor Record (MBR) e successivamente cifrare la Master File Table (MFT), altrimenti si limita a cifrare i file di documenti.

Questa variante di ransomware assomiglia molto alla versione di Goldeneye 4.0 di Petya. Infatti il codice macchina a basso di livello di Petya Goldeneye 4.0 è lo stesso che troviamo in questa variante di ransomware.

INDICE

==> Come si diffonde Eternal Petya
 
==> Cifratura di Eternal Petya fase 1: MBR / File

==> Cifratura di Eternal Petya fase 2: Master File Table

==> Cifratura di Eternal Petya fase 3: richiesta riscatto

==> Differenze tra Eternal Petya e Goldeneye Petya

==> Conclusioni

Vi sono solo piccole differenze nella richiesta del riscatto, ma il codice assembly è il medesimo di Petya.
Il C.R.A.M. di TG Soft ha analizzato questa nuova variante di ransomware.


Come si diffonde Eternal Petya


Questa nuova variante di Petya si è diffusa inizialmente attraverso un aggiornamento di un software ucraino MEDoc per la gestione delle tasse.

L'utilizzo di vettore d'infezione attraverso software legittimi non è una cosa nuova, questa tecnica era gia stata utilizzata dal ransomware Cerber attraverso il software di amministrazione remota Ammyy nel 2016.

L'esecuzione del ransomware avveniva attraverso il software di aggiornamento MEDoc che eseguiva rundll32.exe passandogli come parametro il modulo del crypto-malware Petya.

Ora che il ransomware è attivo in memoria utilizza i seguenti vettori di infezione:
  • Vulnerabilità EternalBlue (MS17-010)
  • Utilizza le tecniche WMIC - PsExec
Il ransomware all'interno contiene anche l'utility della SysInternal PsExec che permette l'esecuzione di programmi su sistemi remoti.

L'esecuzioni di programmi su sistemi remoti necessita delle credenziali dell'utente (user e password). Il ransomware usa un tool similare a Mimikatz per rubare le credeziali dell'utente e accedere ai computer della rete locale per infettarli attraverso PsExec e WMIC tool (wmic.exe).

Il malware scansiona la rete alla ricerca delle risorse condivise admin$ e vi copia il file del ransomware, che verrà eseguito in remoto via PsExec.
Invece WMIC (Windows Management Instrumentation Command) è utilizzato per scovare le risorse condivise e propagarsi attraverso le api NetEnum e NetAdd.





Cifratura di Eternal Petya fase 1: MBR / File


Se il ransomware dispone di diritti di administrator allora è in grado di infettare il Master Boot Record e di cifrare la Master File Table.
Il malware utilizza lo stesso approccio di Petya GoldenEye, prima infetta il Master Boot Record e al successivo riavvio cifra la Master File Table.

Nella versione precedente di Petya GoldenEye il riavvio del computer avveniva attraverso una schermata blue della morte (BSOD) generata da chiamata api che innalzava un'eccezione. In questa release l'autore del ransomware ha pensato di aggiungere un task, che dopo circa 1 ora esegue lo shutdown:

C:\WINDOWS\system32\shutdown.exe /r /f
 
Il dropper di Petya infetta il Master Boor Record del disco fisso sovrascrivendo i primi 36 settori, come rappresentato nello schema ==>


 
 


Il settore 0 dell'MBR è infettato dal codice di loader di Petya, come si può vedere in figura la lunghezza di questo codice è di 147 byte.

Dal settore 1 al 0x20 troviamo il codice virale di Petya.

 


Interessante è il settore 0x20:
 
 

Questo settore è strutturato in questo modo:
  • Off. 0x00 (1 byte): stato del disco
    • 0: disco da cifrare
    • 1: disco cifrato
    • 2: disco de-cifrato
  • Off. 0x01 (32 byte): chiave utilizzata per la cifratura
  • Off. 0x21 (8 byte): vettore di inizializzazione per la cifratura
  • Off. 0x29 (128 byte): portafoglio in Bitcoin dove versare il riscatto
  • Off. 0xa9 (90 byte): ID della vittima
 
Il settore 0x21, nella prima fase, è riempito solo con il byte 0x07.

Questo settore, nella fase 2 verrà cifrato e  nella fase 3 sarà utilizzato per verificare la correttezza della chiave inserita.
Clicca per ingrandire l'immagine...
 
Il settore 0x22 contene il Master Boot Record cifrato con xor 0x07, come si può vedere nell'immagine a fianco.

Il settore 0x23, in questa fase contiene solo 0.
Clicca per ingrandire l'immagine...


Durante la fase 1, Eternal Petya non ha ancora iniziato a cifrare la Master File Table (MFT), ma ha solamente infettato il Master Boor Record.

Se il computer non è stato ancora riavviato è possibile spegnere il pc e riavviarlo da un CD\DVD bootabile di Windows per eseguire un "fixmbr" per rimuovere Petya dal Master Boot Record.
Se invece il computer viene riavviato o si è riavviato in automatico dovuto al task, allora verrà eseguito il boot loader dell'MBR infetto da Petya che darà inizio alla fase 2 della cifratura della Master File Table.

Cifratura file

Nel caso il ransomware venga eseguito senza i diritti di administrator, il malware non potrà infettare il Master Boot Record e procederà a cifrare i seguenti file di documenti:
3ds, 7z, accdb, ai, asp, aspx, avhd, back, bak, c, cfg, conf, cpp, cs, ctl, dbf, disk, djvu, doc, docx, dwg, eml, fdb, gz, h, hdd, kdbx, mail, mdb, msg, nrg, ora, ost, ova, ovf, pdf, php, pmf, ppt, pptx, pst, pvi, py, pyc, rar, rtf, sln, sql, tar, vbox, vbs, vcb, vdi, vfd, vmc, vmdk, vmsd, vmx, vsdx, vsv, work, xls, xlsx, xvd, zip


Ai file cifrati non viene aggiunta nessuna nuova estensione, quindi rimangono con il loro nome originale. Per la cifratura dei file il ransomware utilizza l'algoritmo AES.





Cifratura di Eternal Petya fase 2: Master File Table

La fase 2 di Eternal Petya è la stessa medesima di Petya Goldeneye 4.0. Se il primo byte del settore 0x20, cioè quello del campo "stato del disco", vale 0, allora inizierà la procedura di cifratura della Master File Table di ogni partizione del disco. L'algoritmo di cifratura utilizzato è ancora Salsa20.
 
In questa fase Petya visualizza un falso chkdsk che, in realtà, sta cifrando la Master File Table. La percentuale visualizzata indica la porzione di Master File Table cifrata.


In questa fase il settore 0x20 viene aggiornato:


Il primo byte del settore 0x20 viene aggiornato con il valore 1 (disco cifrato), e il 32 byte della chiave di cifratura vengono cancellati con zeri. Rimane intatto il valore del vettore di inizializzazione di 8 byte.

Invece il settore 0x21 risulterà anch'esso cifrato, come possiamo vedere in figura:

Nel settore 0x23 vi troviamo il numero di cluster cifrati, come possiamo vedere in figura:


Al termine della fase 2 della cifratura dell'MFT il computer verrà riavviato automaticamente da Petya.


 



Cifratura di Eternal Petya fase 3: richiesta riscatto

Al successivo boot, Eternal Petya va a leggere il settore 0x20, e se il primo byte ("stato del disco") contiene il valore 1, allora visualizzerà la richiesta riscatto



Eternal Petya ci indica:
  • la somma del riscatto di $300
  • il portafoglio in Bitcoin
  • l'indirizzo email dove inviare la ricevuta di pagamento
  • l'ID della vittima

A questa punto Petya rimane in attesa dell'inserimento della chiave per decifrare l'MFT.

La chiave da inserire manualmente è una stringa di 32 caratteri presi dal seguente insieme: 0123456789abcdef

Da questa chiave di 32 caratteri, Petya eseguirà ulteriori operazioni per ottenere una nuova chiave definitiva di 32 byte.
 
Petya per verificare la correttezza di ques'ultima chiave di 32 byte, ottenuta da quella inserita, proverà a decifrare il settore 0x21, se ogni byte del settore dopo la de-crifratura avrà il valore 0x07 allora la chiave che è stata inserita è corretta e procederà alla decifratura del'MFT.


Torna ad inizio pagina

Differenze tra Eternal Petya e Goldeneye Petya


La differenza pricipale tra Eternal Petya e Golden Petya è sicuramente il dropper e il codice ad alto livello per la cifratura dei file di documento. Invece la parte a basso livello del codice per la cifratura della Master  File Table è identica a Goldeneye Petya.

Differenze:
  • Vettore di infezione: EternalBlue + PsExec + WMIC tools
  • Codice alto livello per la cifratura dei documenti
Somiglianze:
  • Codice MBR Loader
  • Codice macchina cifratura MFT
  • Verifica chiave di cifratura

MBR Loader Eternal Petya MBR Loader Goldeneye Petya
 
In rosso sono evidenziate le differenze tra l'MBR loader di Eternal Petya  e GoldenEye Petya, come si può notare vi sono solamente 23 byte di differenza tra i 2 codici.

Il cuore del codice di Petya è memorizzato dal settore 1 al 15 (0xf). Mettendo a confronto queste 2 aree tra Eternal Petya e GoldenEye Petya differiscono solamente per 43 byte.

Possiamo vedere alcune differenze:
Eternal Petya GoldenEye Petya
   

Interessante notare che nella versione Eternal Petya, il codice inizializza la master tabella di Salsa20 con la stringa: -1nvalid s3ct-id


Le differenze iniziano dal settore 16 (0x10) dove sono memorizzate le istruzione del riscatto, ad esempio in Goldeneye veniva visualizzato il teschio della morte, schermata che è stata rimossa in Eternal Petya.





 
Torna ad inizio pagina
 

Conclusioni

Questa nuova variante di Petya, nota come NotPetya o con altri nomi, si basa fortemente sul progetto di Petya Goldeneye a basso livello. Come abbiamo potuto verificare i 2 codici a basso livello differiscono per solamente 43 byte.

Non siamo a conoscenza se l'autore @JanusSecretary di Petya Goldeneye abbia venduto i sorgenti ad un altro gruppo o sia una evoluzione realizzata dallo stesso autore. Dall'account twitter di @JanusSecretary non vi sono indicazioni di rilascio di nuove release.

Rimane il fatto che le macchine colpite da Eternal Petya, dove è stata cifrata la MFT non sono recuperabili se non ripristinando un'immagine del disco.

  
 

Autore: Gianfranco Tonello
C.R.A.M.
Centro Ricerche Anti-Malware di TG Soft

Torna ad inizio pagina




Any information published on our site may be used and published on other websites, blogs, forums, facebook and/or in any other form both in paper and electronic form as long as the source is always and in any case cited explicitly “Source: CRAM by TG Soft www.tgsoft.it” with a clickable link to the original information and / or web page from which textual content, ideas and / or images have been extrapolated.
It will be appreciated in case of use of the information of C.R.A.M. by TG Soft www.tgsoft.it in the report of summary articles the following acknowledgment/thanks “Thanks to Anti-Malware Research Center C.R.A.M. by TG Soft of which we point out the direct link to the original information: [direct clickable link]”

Vir.IT eXplorer PRO is certified by the biggest international organisation: