È emerso un nuovo ransomware chiamato Nemty, che presumibilmente è il successore di GrandCrab o Buran. Questo malware si diffonde principalmente attraverso un sito web falso di PayPal e presenta diverse caratteristiche interessanti. Maggiori dettagli sul funzionamento di questo ransomware sono disponibili qui di seguito.

Nuovo ransomware Nemty scoperto dall'utente 7 settembre 2019. Il malware si diffondeva tramite un sito , vi è anche la possibilità che il ransomware penetri nel computer attraverso l'exploit kit RIG. I criminali informatici hanno adottato tecniche di ingegneria sociale per indurre l'utente a eseguire il file cashback.exe, che sembra provenire dal sito di PayPal. È interessante notare che in Nemty è indicato un porto errato per il servizio proxy locale Tor, il che impedisce al malware di inviare dati al server. Pertanto, l'utente dovrà caricare manualmente i file criptati nella rete Tor, se intende pagare il riscatto e aspettare la decrittazione dai criminali.
Alcuni fatti curiosi su Nemty suggeriscono che sia stato sviluppato dalle stesse persone o da criminali informatici legati a Buran e GrandCrab.
- Come in GandCrab, anche in Nemty è presente un easter egg: un link a una foto del presidente russo Vladimir Putin con una battuta oscena. Nello storico ransomware GandCrab c'era un'immagine con lo stesso testo.
- Gli artefatti linguistici di entrambi i programmi indicano gli stessi autori di lingua russa.
- Questo è il primo ransomware che utilizza una chiave RSA a 8092 bit. Anche se non ha molto senso: una chiave a 1024 bit è più che sufficiente per proteggere da attacchi.
- Come Buran, il ransomware è scritto in Object Pascal e compilato con Borland Delphi.
Analisi statica
L'esecuzione del codice maligno avviene in quattro fasi. Il primo passo è l'avvio di cashback.exe, un file eseguibile PE32 sotto MS Windows con una dimensione di 1198936 byte. Il suo codice è stato scritto in Visual C++ e compilato il 14 ottobre 2013. Contiene un archivio che si decomprime automaticamente all'avvio di cashback.exe. Il software utilizza la libreria Cabinet.dll e le sue funzioni FDICreate(), FDIDestroy() e altre per estrarre file dall'archivio .cab.


SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
Dopo la decompressione dell'archivio appariranno tre file.

Successivamente viene avviato temp.exe, un file eseguibile PE32 sotto MS Windows di 307200 byte. Il codice è scritto in Visual C++ e compresso con il packer MPRESS, simile a UPX.

SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
Il passaggio successivo è ironman.exe. Dopo l'avvio, temp.exe decripta i dati incorporati in temp e li rinomina in ironman.exe, un file eseguibile PE32 di 544768 byte. Il codice è stato compilato in Borland Delphi.
![]()
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
L'ultimo passaggio consiste nel riavviare il file ironman.exe. Durante l'esecuzione, converte il proprio codice e si avvia dalla memoria. Questa versione di ironman.exe è malevola e responsabile della crittografia.
Vettore di attacco
Attualmente, il ransomware Nemty si sta diffondendo tramite il sito pp-back.info.

La catena di infezione completa può essere vista su sandbox.
Installazione
Cashback.exe è l'inizio dell'attacco. Come già detto, cashback.exe estrae il file .cab in esso contenuto. Quindi crea una cartella TMP4351$.TMP di tipo %TEMP%IXxxx.TMP, dove xxx è un numero da 001 a 999.


Successivamente, viene impostata una chiave di registro che appare così:
[HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRunOncewextract_cleanup0]
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 «C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP»”
Viene utilizzato per rimuovere i file estratti. Infine, cashback.exe avvia il processo temp.exe.

Temp.exe è il secondo stadio nella catena di infezione.
Questo è un processo avviato dal file cashback.exe, il secondo passaggio dell'esecuzione del virus. Cerca di scaricare AutoHotKey, uno strumento per eseguire script su Windows, e di avviare lo script WindowSpy.ahk, situato nella sezione risorse del file PE.

Lo script WindowSpy.ahk decodifica il file temp in ironman.exe, utilizzando l'algoritmo RC4 e la password IwantAcake. La chiave derivante dalla password è ottenuta tramite l'algoritmo di hashing MD5.
Successivamente, temp.exe avvia il processo ironman.exe.
![]()
Ironman.exe è il terzo passaggio.
Ironman.exe legge il contenuto del file iron.bmp e crea un file iron.txt con un ransomware che verrà eseguito successivamente.


Dopo di ciò, il virus carica iron.txt in memoria e lo riavvia come ironman.exe. Successivamente, iron.txt viene eliminato.
Ironman.exe è la parte principale del ransomware NEMTY, che cripta i file sul computer compromesso. Il malware crea un mutex denominato hate.

Per prima cosa determina la posizione geografica del computer. Nemty apre un browser e ottiene l'IP su . Sul sito [IP]/countryName in base all'IP ottenuto determina il paese e, se il computer si trova in una delle regioni elencate di seguito, l'esecuzione del codice malware viene interrotta:
- Russia
- Bielorussia
- Ucraina
- Kazakhstan
- Tagikistan
Probabilmente gli sviluppatori non vogliono attrarre l'attenzione delle autorità nei paesi in cui risiedono, e per questo non cifrano i file nelle loro giurisdizioni di origine.
Se l'indirizzo IP della vittima non rientra nell'elenco sopra, il virus cripta le informazioni dell'utente.

Per prevenire il recupero dei file, vengono eliminate le loro copie shadow:

Successivamente, viene creato un elenco di file e cartelle che non verranno criptati, così come un elenco di estensioni dei file.
- windows
- $RECYCLE.BIN
- rsa
- NTDETECT.COM
- ntldr
- MSDOS.SYS
- IO.SYS
- boot.ini AUTOEXEC.BAT ntuser.dat
- desktop.ini
- CONFIG.SYS
- BOOTSECT.BAK
- bootmgr
- programdata
- appdata
- osoft
- Common Files
log LOG CAB cab CMD cmd COM com cpl
CPL exe EXE ini INI dll DDL lnk LNK url
URL ttf TTF DECRYPT.txt NEMTY Offuscamento
Per nascondere gli URL e i dati di configurazione incorporati, Nemty utilizza un algoritmo di codifica base64 e RC4 con la frase chiave fuckav.

Il processo di decrittazione utilizzando CryptStringToBinary appare come segue

Crittografia
Nemty utilizza la crittografia a tre strati:
- AES-128-CBC per i file. La chiave AES a 128 bit viene generata casualmente e la stessa viene utilizzata per tutti i file. Viene memorizzata in un file di configurazione sul computer dell'utente. L'IV viene generato casualmente per ogni file e memorizzato nel file crittografato.
- RSA-2048 per la crittografia dei file IV. Viene generata una coppia di chiavi per la sessione. La chiave privata della sessione è memorizzata nel file di configurazione sul computer dell'utente.
- RSA-8192. La chiave pubblica principale è incorporata nel programma ed è utilizzata per crittografare il file di configurazione, nel quale è memorizzata la chiave AES e la chiave segreta per la sessione RSA-2048.
- Innanzitutto, Nemty genera 32 byte di dati casuali. I primi 16 byte vengono utilizzati come chiave AES-128-CBC.

Il secondo algoritmo di crittografia è RSA-2048. La coppia di chiavi è generata dalla funzione CryptGenKey() e importata dalla funzione CryptImportKey().

Dopo che la coppia di chiavi per la sessione è stata generata, la chiave pubblica viene importata nel MS Cryptographic Service Provider.

Esempio di chiave pubblica generata per la sessione:

Successivamente, la chiave privata viene importata nel CSP.

Esempio di chiave privata generata per la sessione:
Infine, c'è RSA-8192. La chiave pubblica principale è memorizzata in forma crittografata (Base64 + RC4) nella sezione .data del file PE.

La chiave RSA-8192, dopo la decodifica base64 e la decrittazione RC4 con la password fuckav, appare così.

Di conseguenza, l'intero processo di crittografia appare come segue:
- Generazione di una chiave AES a 128 bit, che sarà utilizzata per crittografare tutti i file.
- Creazione di un IV per ogni file.
- Creazione di una coppia di chiavi per la sessione RSA-2048.
- Decifratura della chiave RSA-8192 esistente utilizzando base64 e RC4.
- Crittografia del contenuto dei file utilizzando l'algoritmo AES-128-CBC del primo passaggio.
- Crittografia dell'IV con la chiave pubblica RSA-2048 e codifica in base64.
- Aggiunta dell'IV crittografato alla fine di ogni file crittografato.
- Aggiunta della chiave AES e della chiave privata della sessione RSA-2048 al configurazione.
- Dati di configurazione, descritti nella sezione sul computer infetto, viene crittografata utilizzando la chiave pubblica principale RSA-8192.
- Il file crittografato appare come segue:
Esempi di file crittografati:
Raccolta di informazioni sul computer infetto
Il ransomware raccoglie le chiavi per decifrare i file infetti, in modo che l'attaccante possa realmente creare un decrittatore. Inoltre, Nemty raccoglie dati utente, come il nome utente, il nome del computer e il profilo hardware.

Utilizza le funzioni GetLogicalDrives(), GetFreeSpace(), GetDriveType() per raccogliere informazioni sui dischi del computer infetto.
Le informazioni raccolte sono memorizzate in un file di configurazione. Decodificando la stringa, otteniamo un elenco dei parametri nel file di configurazione:

Esempio di configurazione di un computer infetto:

Il modello di configurazione può essere rappresentato come segue:
{"General": {"IP":"[IP]","Country":"[Country]","ComputerName":"[ComputerName]","Username":"[Username]","OS":"[OS]","isRU":false,"version":"1.4","CompID":"{[CompID]}","FileID":"_NEMTY_[FileID]_","UserID":"[UserID]","key":"[key]","pr_key":"[pr_key]
I dati raccolti da Nemty sono memorizzati in formato JSON nel file %USER%/_NEMTY_.nemty. Il FileID, lungo 7 caratteri, viene generato casualmente. Ad esempio: _NEMTY_tgdLYrd_.nemty. Il FileID viene inoltre aggiunto alla fine del file crittografato.
Messaggio di riscatto
Dopo la crittografia dei file, sul desktop appare un file _NEMTY_[FileID]-DECRYPT.txt con il seguente contenuto:

Alla fine del file si trova l'informazione crittografata sul computer infetto.

Comunicazione di rete
Il processo ironman.exe scarica il pacchetto del browser Tor dall'indirizzo e tenta di installarlo.
Successivamente, Nemty tenta di inviare i dati di configurazione all'indirizzo 127.0.0.1:9050, dove si aspetta di trovare un proxy del browser Tor funzionante. Tuttavia, per impostazione predefinita, il proxy Tor ascolta sulla porta 9150, mentre la porta 9050 è utilizzata dal demone Tor su Linux o dall'Expert Bundle su Windows. Così, i dati non vengono inviati al server dell'attaccante. Invece, l'utente può caricare manualmente il file di configurazione visitando il servizio di decrittazione Tor al link fornito nel messaggio di riscatto.
Connessione al proxy Tor:

![]()
HTTP GET crea una richiesta su 127.0.0.1:9050/public/gate?data=

Qui puoi vedere le porte TCP aperte utilizzate dal proxy TORlocal:

Servizio di decrittazione Nemty nella rete Tor:

È possibile caricare un'immagine crittografata (jpg, png, bmp) per testare il servizio di decrittazione.

Dopo di che, l'attaccante richiede il pagamento del riscatto. In caso di mancato pagamento, il prezzo raddoppia.

Conclusione
Attualmente non è possibile decrittografare i file criptati da Nemty senza pagare il riscatto. Questa versione del ransomware presenta caratteristiche comuni con i crittografi Buran e il vetusto GandCrab: compilazione in Borland Delphi e immagini con lo stesso testo. Inoltre, è il primo crittografo a utilizzare una chiave RSA a 8092 bit, il che, ripetiamo, è irrazionale poiché una chiave a 1024 bit è più che sufficiente per la protezione. Infine, curioso, tenta di utilizzare una porta errata per il servizio proxy locale di Tor.
Tuttavia, le soluzioni e non consentono al ransomware Nemty di accedere ai PC e ai dati degli utenti, e i fornitori possono proteggere i propri clienti tramite . Una completa fornisce non solo backup, ma anche protezione utilizzando , una tecnologia speciale basata sull'intelligenza artificiale e sull'analisi comportamentale, che consente di neutralizzare anche i malware ancora sconosciuti.
Fonte: habr.com
