În rețea a apărut un nou ransomware Nemty, care, se pare, este succesorul GrandCrab sau Buran. Malware-ul este răspândit în principal printr-un site fals PayPal și are o serie de caracteristici interesante. Detalii despre modul de funcționare al acestui ransomware – mai jos.

Noua ransomware Nemty a fost descoperită de utilizator 7 septembrie 2019. Malware-ul a fost răspândit printr-un site, , de asemenea, există posibilitatea de infiltrare a ransomware-ului pe computer prin exploit kit-ul RIG. Criminalii cibernetici au ales metode de inginerie socială pentru a convinge utilizatorul să ruleze fișierul cashback.exe, pe care acesta îl primește aparent de la site-ul PayPal. Este de asemenea curios că în Nemty este specificat un port greșit pentru serviciul proxy local Tor, ceea ce împiedică malware-ul să trimită date către server. Prin urmare, utilizatorul va trebui să încarce singur fișierele criptate în rețeaua Tor, dacă intenționează să plătească răscumpărarea și să aștepte de la infractori decriptarea.
Câteva fapte interesante despre Nemty sugerează că a fost dezvoltat de aceleași persoane sau de criminalii cibernetici asociați cu Buran și GrandCrab.
- La fel ca în GandCrab, în Nemty există un easter egg – un link către o fotografie cu președintele Rusiei Vladimir Putin care conține o glumă vulgară. În vechiul ransomware GandCrab era o imagine cu același text.
- Artefactele lingvistice ale ambelor programe indică aceiași autori vorbitori de limbă rusă.
- Acesta este primul ransomware care folosește o cheie RSA de 8092 de biți. Deși nu are sens: o cheie de 1024 de biți este suficientă pentru a proteja împotriva atacurilor.
- La fel ca Buran, ransomware-ul este scris în Object Pascal și compilat folosind Borland Delphi.
Analiza statică
Executarea codului malițios se desfășoară în patru etape. Primul pas este rularea cashback.exe, un fișier executabil PE32 pentru MS Windows cu dimensiunea de 1198936 bytes. Codul său este scris în Visual C++ și compilat pe 14 octombrie 2013. Acesta conține un arhivă, care se dezarhivează automat la rularea cashback.exe. Programul folosește biblioteca Cabinet.dll și funcțiile sale FDICreate(), FDIDestroy() și altele pentru a obține fișiere din arhiva .cab.


SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
După dezarhivarea arhivei, vor apărea trei fișiere.

Apoi se rulează temp.exe, un fișier executabil PE32 pentru MS Windows cu dimensiunea de 307200 bytes. Codul este scris în Visual C++ și este comprimat cu packer-ul MPRESS, similar cu UPX.

SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
Următorul pas este ironman.exe. După ce temp.exe este lansat, acesta decriptează datele încorporate în temp și le redenumește în ironman.exe, un fișier executabil PE32 cu dimensiunea de 544768 de biți. Codul este compilat în Borland Delphi.
![]()
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
Ultimul pas este repornirea fișierului ironman.exe. În timpul execuției, acesta își transformă codul și se lansează din memorie. Această versiune ironman.exe este rău intenționată și este responsabilă pentru criptare.
Vectorul de atac
În prezent, criptovirusul Nemty se răspândește prin site-ul pp-back.info.

Întreaga succesiune a infectării poate fi vizualizată pe sandbox.
Instalare
Cashback.exe este începutul atacului. Așa cum s-a menționat, cashback.exe desfășoară arhiva .cab conținută în el. Apoi, creează un folder TMP4351$.TMP în stilul %TEMP%IXxxx.TMP, unde xxx este un număr de la 001 la 999.


Următorul pas implică instalarea unei chei de registru, care arată astfel:
[HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRunOncewextract_cleanup0]
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 «C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP»”
Aceasta este folosită pentru a șterge fișierele defalcate. În cele din urmă, cashback.exe lansează procesul temp.exe.

Temp.exe este a doua etapă în succesiunea infectării
Este un proces lansat de fișierul cashback.exe, fiind al doilea pas în execuția virusului. Acesta încearcă să descarce AutoHotKey — un instrument pentru rularea scripturilor în Windows — și să execute scriptul WindowSpy.ahk, care se află în secțiunea de resurse a fișierului PE.

Scriptul WindowSpy.ahk decriptează fișierul temp în ironman.exe, folosind algoritmul RC4 și parola IwantAcake. Cheia din parolă este obținută printr-un algoritm de hashing MD5.
Apoi, temp.exe apelează procesul ironman.exe.
![]()
Ironman.exe este al treilea pas
Ironman.exe citește conținutul fișierului iron.bmp și creează un fișier iron.txt cu criptovirusul, care va fi lansat ulterior.


După aceasta, virusul încarcă iron.txt în memorie și îl repornește ca ironman.exe. Ulterior, iron.txt este șters.
ironman.exe este componenta principală a ransomware-ului NEMTY, care criptează fișierele de pe computerul infectat. Malware-ul creează un mutex numit hate.

În primul rând, acesta își determină localizarea geografică. Nemty deschide un browser și află IP-ul pe . Pe site-ul [IP]/countryName în funcție de IP-ul obținut, se determină țara, iar dacă computerul se află în una dintre regiunile enumerate mai jos, execuția codului malware-ului se oprește:
- Rusia
- Belarus
- Ucraina
- Kazahstan
- Tadjikistan
De cele mai multe ori, dezvoltatorii nu doresc să atragă atenția autorităților în țările lor de reședință, așa că nu criptează fișierele în jurisdicțiile "native".
Dacă adresa IP a victimei nu se află în lista de mai sus, virusul criptează informațiile utilizatorului.

Pentru a preveni recuperarea fișierelor, copiile lor shadow sunt șterse:

Apoi se creează o listă de fișiere și foldere care nu vor fi criptate, precum și o listă de extensii de fișiere.
- 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 Obfuscarea
Pentru a ascunde URL-urile și datele de configurare încorporate, Nemty folosește un algoritm de codificare base64 și RC4 cu fraza cheie fuckav.

Procesul de decriptare folosind CryptStringToBinary arată astfel

Criptare
Nemty utilizează criptarea în trei straturi:
- AES-128-CBC pentru fișiere. Cheia AES de 128 de biți este generată aleatoriu și este folosită aceeași pentru toate fișierele. Aceasta este stocată în fișierul de configurare pe computerul utilizatorului. IV este generat aleatoriu pentru fiecare fișier și stocat în fișierul criptat.
- RSA-2048 pentru criptarea fișierelor IV. Se generează o pereche de chei pentru sesiune. Cheia privată a sesiunii este stocată în fișierul de configurare pe computerul utilizatorului.
- RSA-8192. Cheia publică principală este încorporată în program și este utilizată pentru criptarea fișierului de configurare, în care se stochează cheia AES și cheia secretă pentru sesiunea RSA-2048.
- Mai întâi, Nemty generează 32 de bytes de date aleatorii. Primele 16 bytes sunt utilizate ca cheie AES-128-CBC.

Al doilea algoritm de criptare este RSA-2048. Perechea de chei este generată de funcția CryptGenKey() și importată de funcția CryptImportKey().

După ce perechea de chei pentru sesiune este generată, cheia publică este importată în MS Cryptographic Service Provider.

Exemplu de cheie publică generată pentru sesiune:

Apoi, cheia privată este importată în CSP.

Exemplu de cheie privată generată pentru sesiune:
Și ultimul este RSA-8192. Cheia publică principală este stocată criptat (Base64 + RC4) în secțiunea .data a fișierului PE.

Cheia RSA-8192 după decodificarea base64 și decriptarea RC4 cu parola fuckav arată astfel.

În consecință, întregul proces de criptare arată astfel:
- Generarea unei chei AES de 128 de biți, care va fi utilizată pentru criptarea tuturor fișierelor.
- Crearea IV pentru fiecare fișier.
- Crearea unei perechi de chei pentru sesiunea RSA-2048.
- Decriptarea cheii existente RSA-8192 cu ajutorul base64 și RC4.
- Criptarea conținutului fișierelor folosind algoritmul AES-128-CBC din primul pas.
- Criptarea IV cu ajutorul cheii publice RSA-2048 și codificarea în base64.
- Adăugarea IV criptat la sfârșitul fiecărui fișier criptat.
- Adăugarea cheii AES și a cheii private a sesiunii RSA-2048 în configurație.
- Datele de configurare, descrise în secțiunea despre computerul infectat este criptată cu ajutorul cheii publice principale RSA-8192.
- Fișierul criptat arată astfel:
Exemplu de fișiere criptate:
Colectarea informațiilor despre computerul infectat
Ransomware-ul colectează cheile pentru decriptarea fișierelor infectate, astfel încât atacatorul să poată crea cu adevărat un decriptor. În plus, Nemty colectează datele utilizatorului, cum ar fi numele utilizatorului, numele computerului, profilul hardware.

Acesta apelează funcțiile GetLogicalDrives(), GetFreeSpace(), GetDriveType() pentru a colecta informații despre discurile computerului infectat.
Informațiile colectate sunt stocate într-un fișier de configurare. Decodificând șirul, obținem o listă de parametri în fișierul de configurare:

Exemplu de configurare a computerului infectat:

Modelul de configurare poate fi reprezentat astfel:
{„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]
Datele colectate de Nemty sunt stocate în format JSON în fișierul %USER%/_NEMTY_.nemty. FileID-ul, compus din 7 caractere, este generat aleator. De exemplu: _NEMTY_tgdLYrd_.nemty. FileID-ul este, de asemenea, adăugat la sfârșitul fișierului criptat.
Mesaj de răscumpărare
După criptarea fișierelor, pe desktop apare fișierul _NEMTY_[FileID]-DECRYPT.txt cu următorul conținut:

La sfârșitul fișierului se află informațiile criptate despre computerul infectat.

Comunicația în rețea
Procesul ironman.exe descarcă distribuția browser-ului Tor de la adresa și încearcă să o instaleze.
Apoi, Nemty încearcă să trimită datele de configurare la adresa 127.0.0.1:9050, unde se așteaptă să găsească un server proxy funcțional pentru browserul Tor. Totuși, de obicei, serverul proxy Tor ascultă pe portul 9150, iar portul 9050 este folosit de demonul Tor în Linux sau de Expert Bundle pe Windows. Astfel, datele nu sunt trimise la serverul atacatorului. În schimb, utilizatorul poate descărca manual fișierul de configurare, vizitând serviciul de decriptare Tor la linkul din mesajul de răscumpărare.
Conectare la proxy Tor:

![]()
HTTP GET creează o cerere la 127.0.0.1:9050/public/gate?data=

Aici vedeți porturile TCP deschise utilizate de proxy TORlocal:

Serviciul de decriptare Nemty în rețeaua Tor:

Puteți încărca o fotografie criptată (jpg, png, bmp) pentru a testa serviciul de decriptare.

După aceasta, atacatorul cere răscumpărarea. În cazul neplății, prețul se dublează.

Concluzie
În prezent, nu se pot decripta fișierele criptate de Nemty fără a plăti răscumpărarea. Această versiune de ransomware are trăsături comune cu ransomware-urile Buran și vechiul GandCrab: compilată în Borland Delphi și imaginile cu același text. În plus, este primul ransomware care utilizează o cheie RSA de 8092 biți, ceea ce, repet, nu are nicio logică, deoarece o cheie de 1024 biți este suficientă pentru protecție. În cele din urmă, este interesant că încearcă să folosească un port greșit pentru serviciul proxy local Tor.
Cu toate acestea, soluțiile și nu permit ransomware-ului Nemty să ajungă pe PC-urile și datele utilizatorilor, iar furnizorii pot proteja clienții lor cu ajutorul . Protecția completă oferă nu doar backup, ci și protecție utilizând , o tehnologie specială bazată pe inteligență artificială și heuristici comportamentale care poate neutraliza chiar și malware-ul încă necunoscut.
Sursa: habr.com
