V omrežju se je pojavil nov šifrirnik Nemty, za katerega se domneva, da je naslednik GrandCrab ali Buran. Malicious software se predvsem širi prek lažnega spletnega mesta PayPal in vsebuje vrsto zanimivih značilnosti. Podrobnosti o delovanju tega ransomware programa najdete spodaj.

Nov šifrirnik Nemty je odkril uporabnik 7. septembra 2019. Malicious software se je širilo prek spletne strani, , prav tako obstaja možnost prodiranja ransomware programa na računalnik prek eksploitske kompletne RIG. Napadalci so izbrali metode socialne inženirije, da bi uporabnika prisilili, da zažene datoteko cashback.exe, ki naj bi jo prejel z spletne strani PayPal. Zanimivo je tudi, da je v Nemty navedena napačna vrata za lokalno proxy storitev Tor, kar ne omogoča malware-u pošiljanje podatkov na strežnik. Zato bo moral uporabnik sam naložiti šifrirane datoteke v omrežje Tor, če namerava plačati odkupnino in čakati na dešifriranje s strani napadalcev.
Nekaj zanimivih dejstev o Nemty nakazuje, da so ga razvijali isti ljudje ali s Buranom in GrandCrabom povezani kibernetski kriminalci.
- Kot pri GandCrabu, Nemty vsebuje velikonočno jajce — povezava do slike predsednika RF Vladimirja Putina z neprimerno šalo. V zastarelem šifrirniku GandCrab je bila slika z enakim besedilom.
- Jezikovni artefakti obeh programov kažejo na iste rusko govoreče avtorje.
- To je prvi šifrirnik, ki uporablja 8092-bitni ključ RSA. Čeprav zanj ni pravega smisla: 1024-bitni ključ za zaščito pred vdori je povsem dovolj.
- Kot Buran, je šifrirnik napisan v Object Pascalu in skompliran v Borland Delphi.
Statička analiza
Izvajanje škodljive kode poteka v štirih korakih. Prvi korak je zagon cashback.exe, PE32 izvršljiva datoteka za MS Windows velikosti 1198936 bajtov. Njegova koda je napisana v Visual C++ in je bila skompilirana 14. oktobra 2013. Vsebuje arhiv, ki se samodejno razpakira ob zagonu cashback.exe. Programska oprema uporablja knjižnico Cabinet.dll in njene funkcije FDICreate(), FDIDestroy() in druge za pridobivanje datotek iz arhiva .cab.


SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
Po razpakiranju arhiva se bodo pojavile tri datoteke.

Nato se zažene temp.exe, PE32 izvršljiva datoteka za MS Windows velikosti 307200 bajtov. Koda je napisana v Visual C++ in je zapakirana z MPRESS pakirnikom, pakirnikom, podobnim UPX-u.

SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
N naslednjem koraku je ironman.exe. Po zagonu temp.exe dešifrira vnesene podatke v temp in jih preimenuje v ironman.exe, PE32 izvršna datoteka velikosti 544768 bajtov. Koda je bila kompajlirana v Borland Delphi.
![]()
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
Zadnji korak je ponovno zagon datoteke ironman.exe. Med izvajanjem pretvarja svojo kodo in se zažene iz pomnilnika. Ta različica ironman.exe je zlonamerna in je odgovorna za šifriranje.
Vektor napada
Trenutno se šifrirnik Nemty širi preko spletne strani pp-back.info.

Celotno verigo okužbe si lahko ogledate na sandbox.
Namestitev
Cashback.exe je začetek napada. Kot že omenjeno, cashback.exe razpakira .cab datoteko, ki jo vsebuje. Nato ustvari mapo TMP4351$.TMP v obliki %TEMP%IXxxx.TMP, kjer je xxx številka od 001 do 999.


Nato se nastavi ključ registra, ki izgleda takole:
[HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRunOncewextract_cleanup0]
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 «C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP»”
Uporablja se za odstranjevanje razpakiranih datotek. Na koncu cashback.exe zažene proces temp.exe.

Temp.exe je drugi korak v verigi okužbe
To je proces, ki ga zažene datoteka cashback.exe, drugi korak izvrševanja virusa. Poskuša prenesti AutoHotKey — orodje za izvajanje skriptov v okolju Windows — in zažene skript WindowSpy.ahk, ki se nahaja v razdelku virov PE datoteke.

Skript WindowSpy.ahk dešifrira datoteko temp v ironman.exe, z uporabo algoritma RC4 in gesla IwantAcake. Ključ iz gesla se pridobi s pomočjo algoritma za hasiranje MD5.
Nato temp.exe pokliče proces ironman.exe.
![]()
Ironman.exe je tretji korak
Ironman.exe prebere vsebino datoteke iron.bmp in ustvari datoteko iron.txt z kriptozaložnikom, ki se bo zagnal naslednji.


Po tem virus naloži iron.txt v pomnilnik in ga ponovno zažene kot ironman.exe. Po tem se iron.txt izbriše.
ironman.exe je glavni del izsiljevalca NEMTY, ki šifrira datoteke na okuženem računalniku. Zlonamerna programska oprema ustvari muteks z imenom hate.

Najprej določi geografsko lokacijo računalnika. Nemty odpre brskalnik in ugotovi IP na . Na spletni strani [IP]/countryName po prejetem IP določa državo, in če se računalnik nahaja v enem od spodaj navedenih regij, se izvajanje zlonamerne programske opreme prekine:
- Rusija
- Belorusija
- Ukrajina
- Kazahstan
- Tadžikistan
Verjetno je, da razvijalci nočejo pritegniti pozornosti organov pregona v državah svojega prebivališča, zato ne šifrirajo datotek v "domačih" jurisdikcijah.
Če IP naslov žrtve ne spada na zgornji seznam, virus šifrira uporabniške podatke.

Za preprečevanje obnove datotek se odstranijo njihove sence:

Nato se ustvari seznam datotek in map, ki ne bodo šifrirane, ter seznam razširitev datotek.
- 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 Obfuskacija
Za skrivanje URL-jev in vgrajenih konfiguracijskih podatkov Nemty uporablja algoritem kodiranja base64 in RC4 s geslom fuckav.

Postopek dešifriranja z uporabo CryptStringToBinary je videti takole

Šifriranje
Nemty uporablja trojno šifriranje:
- AES-128-CBC za datoteke. 128-bitni AES ključ se generira naključno in se uporablja enak za vse datoteke. Shranjen je v konfiguracijski datoteki na uporabnikovem računalniku. IV se generira naključno za vsako datoteko in se shrani v šifrirani datoteki.
- RSA-2048 za šifriranje datotek IV. Ustvari se ključni par za sejo. Zasebni ključ seje se shrani v konfiguracijski datoteki na uporabnikovem računalniku.
- RSA-8192. Glavni javni ključ je vgrajen v program in se uporablja za šifriranje konfiguracijske datoteke, v kateri sta shranjena ključ AES in tajni ključ za sejo RSA-2048.
- Najprej Nemty generira 32 bajtov naključnih podatkov. Prvih 16 bajtov se uporablja kot ključ AES-128-CBC.

Drugi algoritem šifriranja je RSA-2048. Ključni par se generira s funkcijo CryptGenKey() in se uvozi s funkcijo CryptImportKey().

Ko je ključni par za sejo generiran, se javni ključ uvozi v MS Cryptographic Service Provider.

Primer generiranega javnega ključa za sejo:

Nato se zasebni ključ uvozi v CSP.

Primer generiranega zasebnega ključa za sejo:
In nazadnje je tukaj RSA-8192. Glavni javni ključ se shrani v šifrirani obliki (Base64 + RC4) v razdelku .data PE-datoteke.

Ključ RSA-8192 po dekodiranju base64 in dešifriranju RC4 z geslom fuckav izgleda takole.

Konec koncev celoten proces šifriranja izgleda takole:
- Generiranje 128-bitnega AES ključa, ki se bo uporabljal za šifriranje vseh datotek.
- Ustvarjanje IV za vsako datoteko.
- Ustvarjanje ključnega para za sejo RSA-2048.
- Dešifriranje obstoječega ključa RSA-8192 s pomočjo base64 in RC4.
- Šifriranje vsebine datotek z algoritmom AES-128-CBC iz prvega koraka.
- Šifriranje IV s pomočjo odprtega ključa RSA-2048 in kodiranje v base64.
- Dodajanje šifriranega IV na konec vsake šifrirane datoteke.
- Dodajanje AES ključa in zasebnega ključa seje RSA-2048 v konfiguracijo.
- Podatki konfiguracije, opisani v razdelku o okuženem računalniku se šifrirajo s pomočjo glavnega odprtega ključa RSA-8192.
- Šifrirana datoteka izgleda takole:
Primer šifriranih datotek:
Zbiranje informacij o okuženem računalniku
Ransomware zbira ključe za dešifriranje okuženih datotek, tako da lahko zlonamernež dejansko ustvari dešifrirnik. Poleg tega Nemty zbira uporabniške podatke, kot so uporabniško ime, ime računalnika in strojni profil.

Klice funkcij GetLogicalDrives(), GetFreeSpace(), GetDriveType() izvaja za zbiranje informacij o diskih okuženega računalnika.
Zbrane informacije se shranijo v konfiguracijsko datoteko. Z dekodiranjem niza dobimo seznam parametrov v konfiguracijski datoteki:

Primer konfiguracije okuženega računalnika:

Šablon konfiguracije lahko predstavimo na naslednji način:
{«General»: {«IP»:»[IP]»,«Država»:»[Country]»,«ImeRačunalnika»:»[ComputerName]»,«UporabniškoIme»:»[Username]»,«OS»:»[OS]»,«isRU»:false,«verzija»:«1.4»,«CompID»:»{[CompID]}»,«FileID»:»_NEMTY_[FileID]_»,«UserID»:»[UserID]»,«ključ»:»[key]»,«pr_key»:»[pr_key]
Zbrane podatke Nemty shranjuje v formatu JSON v datoteki %USER%/_NEMTY_.nemty. FileID dolžine 7 znakov se generira naključno. Na primer: _NEMTY_tgdLYrd_.nemty. FileID se prav tako doda na konec šifrirane datoteke.
Poruka o otkupu
Po šifriranju datotek se na namizju pojavi datoteka _NEMTY_[FileID]-DECRYPT.txt naslednjega vsebine:

Na koncu datoteke se nahajajo šifrirane informacije o okuženem računalniku.

Omrežna komunikacija
Postopek ironman.exe prenese distribucijo brskalnika Tor s naslova in poskuša namestiti.
Potem se Nemty poskuša povezati na naslov 127.0.0.1:9050, kjer pričakuje, da bo našel delujoči Tor brskalni proxy strežnik. Vendar pa Tor proxy strežnik privzeto posluša na 9150, medtem ko port 9050 uporablja Tor demon v Linuxu ali Expert Bundle v Windowsu. Tako podatki ne pridejo do strežnika napadalca. Namesto tega lahko uporabnik ročno prenese konfiguracijsko datoteko, tako da obišče dekodirno storitev Tor prek povezave, navedene v sporočilu o odkupnini.
Povezava na Tor proxy:

![]()
HTTP GET ustvari zahtevo na 127.0.0.1:9050/public/gate?data=

Tukaj vidite odprte TCP porte, ki se uporabljajo za TORlocal proxy:

Dekodirna storitev Nemty v omrežju Tor:

Lahko naložite šifrirano fotografijo (jpg, png, bmp) za preizkušanje dekodirne storitve.

Nato zahteva napadalec plačilo odkupnine. V primeru neplačila se cena podvoji.

Zaključek
Trenutno ni mogoče dešifrirati datotek, šifriranih s Nemty, brez plačila odkupnine. Ta različica ransomwarea ima skupne značilnosti z Buran in zastarelim GandCrab: kompilacija na Borland Delphi in slike z enakim besedilom. Poleg tega je to prvi šifriralnik, ki uporablja 8092-bitni RSA ključ, kar, ponavljamo, nima smisla, saj je 1024-bitni ključ povsem dovolj za zaščito. Nenazadnje, kar je zanimivo, poskuša uporabiti napačen port za lokalno Tor proxy storitev.
Kljub temu rešitve in ne dovolijo ransomwareu Nemty dostopa do uporabniških računalnikov in podatkov, ponudniki pa lahko zaščitijo svoje stranke z . Polna nudi ne le varnostno kopiranje, temveč tudi zaščito z uporabo , posebne tehnologije na osnovi umetne inteligence in vedenjske heuristike, ki omogoča nevtralizacijo celo še neznanih zlonamernih programov.
Izvor: habr.com
