Megjelent egy új titkosító szoftver, a Nemty, amely feltehetően a GrandCrab vagy a Buran utódja. A kártevő főként egy hamis PayPal oldalon keresztül terjed, és számos érdekes tulajdonsággal rendelkezik. Részletek a ransomware működéséről a továbbiakban.

A Nemty új titkosítót felfedezte a felhasználó. 2019. szeptember 7. A kártevő egy weboldalon keresztül terjed, , lehetőség van a ransomware számítógépre jutására a RIG exploit kit-en keresztül is. A bűnözők szociális manipulációs módszereket használtak, hogy rávegyék a felhasználót a cashback.exe fájl futtatására, amelyet állítólag a PayPal weboldalról kap. Érdekes, hogy a Nemty hibás portot használ a helyi Tor proxy szolgáltatáshoz, ami megakadályozza, hogy a kártevő adatokat küldjön a szerverre. Így a felhasználónak magának kell feltöltenie a titkosított fájlokat a Tor hálózatba, ha váltságdíjat akar fizetni, és várni a bűnözők dekódolására.
Néhány érdekes tény a Nemty-ről arra utal, hogy azt ugyanazok az emberek vagy a Burannal és GrandCrab-bal kapcsolatban álló kiberbűnözők fejlesztették.
- A GandCrab-hoz hasonlóan a Nemty-nek is van egy easter egg — egy link egy fényképhez, amelyen az orosz elnök, Vlagyimir Putyin látható, vulgarizmussal kapcsolatos viccel. Az elavult GandCrab titkosító szoftverben ugyanazzal a szöveggel készült képet találunk.
- Mindkét program nyelvi artefaktumai ugyanazokra a orosz anyanyelvű szerzőkre utalnak.
- Ez az első titkosító, amely 8092 bites RSA kulcsot használ. Bár ennek nincs értelme: 1024 bites kulcs elegendő a feltörés megakadályozásához.
- A Buranhoz hasonlóan a titkosító Object Pascal nyelven készült és Borland Delphi alatt lett lefordítva.
Statikus elemzés
A kártevő kódjának végrehajtása négy lépésben történik. Az első lépés a cashback.exe, egy MS Windows alatt futó PE32 végrehajtható fájl indítása, amely 1198936 byte méretű. A kód Visual C++ nyelven íródott és 2013. október 14-én lett lefordítva. Tartalmaz egy archívumot, amely automatikusan kibővül a cashback.exe indításakor. A szoftver a Cabinet.dll könyvtárat és annak FDICreate(), FDIDestroy() és más funkcióit használja, hogy fájlokat nyerjen ki a .cab archívumból.


SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
Az archívum kibővítése után három fájl jelenik meg.

Ezt követően a temp.exe futtatása történik, amely egy MS Windows alatt futó PE32 végrehajtható fájl, 307200 byte méretű. A kód Visual C++ nyelven íródott és MPRESS packer-rel van tömörítve, ami hasonló az UPX-hez.

SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
A következő lépés az ironman.exe. A temp.exe elindítása után a beágyazott adatokat a temp fájlban dekódolja, és átnevezi ironman.exe-re, amely egy 544768 bájtos PE32 végrehajtható fájl. A kód Borland Delphi-ben van lefordítva.
![]()
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
Az utolsó lépés az ironman.exe fájl újraindítása. Futtatás közben átkonvertálja a kódját, és a memóriából indítja újra önmagát. Ez a verzió az ironman.exe rosszindulatú, és a titkosításért felelős.
Támadási vektor
Jelenleg a Nemty zsarolóprogram a pp-back.info weboldalon terjed.

A fertőzési lánc teljes folyamatát megtekintheti itt: sandbox.
Telepítés
A Cashback.exe a támadás kezdete. Ahogyan már említettem, a cashback.exe kicsomagolja a benne található .cab fájlt. Ezután létrehoz egy TMP4351$.TMP nevű mappát a %TEMP%IXxxx.TMP formátumban, ahol xxx egy 001 és 999 közötti szám.


Ezután egy regisztrációs kulcs kerül létrehozásra, amely így néz ki:
[HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRunOncewextract_cleanup0]
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 «C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP»”
Ez a kicsomagolt fájlok eltávolítására szolgál. Végül a cashback.exe elindítja a temp.exe folyamatot.

A Temp.exe a második lépés a fertőzési láncban.
Ez egy olyan folyamat, amelyet a cashback.exe indít el, a vírus végrehajtásának második lépése. Megpróbál letölteni egy AutoHotKey-t – egy Windows alatti szkriptek futtatására szolgáló eszközt – és elindítani a WindowSpy.ahk nevű szkriptet, amely a PE fájl erőforrásaiban található.

A WindowSpy.ahk szkript a temp fájlt ironman.exe-re dekódolja, RC4 algoritmus és IwantAcake jelszó segítségével. A jelszóból generált kulcs az MD5 hash-algoritmus segítségével készül.
Ezután a temp.exe elindítja az ironman.exe folyamatot.
![]()
Az Ironman.exe a harmadik lépés.
Az ironman.exe beolvassa az iron.bmp fájl tartalmát, és létrehoz egy iron.txt fájlt, amely a következő lépésben elindítja a zsarolóprogramot.


Ezután a vírus az iron.txt fájlt a memóriába tölti, és újraindítja, mint ironman.exe. Ezután az iron.txt fájl törlésre kerül.
Az ironman.exe a NEMTY zsarolóprogram fő része, amely a fájlokat titkosítja a megfertőzött számítógépen. A rosszindulatú kód mútékust hoz létre 'hate' néven.

Első lépésként meghatározza a számítógép földrajzi helyét. A Nemty megnyit egy böngészőt, és megtudja az IP-t a következő címen: . Az oldalon [IP]/countryName a kapott IP alapján meghatározza az országot, és ha a számítógép az alábbi régiók egyikében található, a rosszindulatú kód végrehajtása leáll:
- Oroszország
- Fehéroroszország
- Ukrajna
- Kazahsztán
- Tádzsikisztán
Valószínű, hogy a fejlesztők nem szeretnék felkelteni a hatóságok figyelmét a lakóhelyük országában, ezért nem titkosítják a fájlokat a „helyi” joghatóságokban.
Ha az áldozat IP-címe nem szerepel a fenti listán, akkor a vírus titkosítja a felhasználói információkat.

A fájlok helyreállításának megakadályozása érdekében törlik a rejtett másolatokat:

Ezután létrehoznak egy fájlok és mappák listáját, amelyeket nem titkosítanak, valamint egy fájlkiterjesztések listáját.
- 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 Obfuszkálás
Az URL-címek és beágyazott konfigurációs adatok eltakarása érdekében a Nemty base64 és RC4 kódolási algoritmust használ a fuckav kulcsszóval.

A dekódolás folyamata a CryptStringToBinary segítségével a következőképpen néz ki

Titkosítás
A Nemty háromrétegű titkosítást használ:
- AES-128-CBC a fájlokhoz. A 128 bites AES-kulcs véletlenszerűen generálódik, és ugyanaz minden fájlhoz. A felhasználó számítógépén lévő konfigurációs fájlban tárolódik. Az IV véletlenszerűen generálódik minden fájlhoz és titkosított fájlban tárolódik.
- RSA-2048 a fájlok IV titkosítására. Az üléshez kulcspár generálódik. Az ülés titkos kulcsa a felhasználó számítógépén lévő konfigurációs fájlban tárolódik.
- RSA-8192. A fő nyilvános kulcs be van építve a programba, és a konfigurációs fájl titkosításához használják, amelyben az AES-kulcs és az RSA-2048 ülés titkos kulcsa tárolódik.
- Először a Nemty 32 byte véletlenszerű adatot generál. Az első 16 byte az AES-128-CBC kulcsaként szolgál.

A második titkosítási algoritmus az RSA-2048. A kulcspár a CryptGenKey() függvénnyel generálódik, és a CryptImportKey() függvénnyel importálódik.

Miután a kulcspár az üléshez generálva lett, a nyilvános kulcsot importálják a MS Cryptographic Service Providerbe.

Példa a generált nyilvános kulcsra az üléshez:

Ezt követően a titkos kulcsot importálják a CSP-be.

Példa a generált titkos kulcsra az üléshez:
Utolsóként az RSA-8192. A fő nyilvános kulcs titkosítva (Base64 + RC4) van tárolva a PE-fájl .data szegmensében.

Az RSA-8192 kulcs a base64 dekódolása és az RC4 dekódolása után, a fuckav jelszóval így néz ki.

Ennek eredményeként az egész titkosítási folyamat a következőképpen néz ki:
- 128-bites AES kulcs generálása, amelyet az összes fájl titkosításához fognak használni.
- IV létrehozása minden fájlhoz.
- RSA-2048 kulcspár létrehozása a munkamenethez.
- A meglévő RSA-8192 kulcs dekódolása base64 és RC4 segítségével.
- Az első lépésben generált AES-128-CBC algoritmus segítségével a fájlok tartalmának titkosítása.
- Az IV titkosítása RSA-2048 nyilvános kulccsal és base64 kódolás.
- A titkosított IV hozzáadása minden titkosított fájl végéhez.
- AES kulcs és az RSA-2048 munkamenet titkos kulcsának hozzáadása a konfigurációhoz.
- A konfigurációs adatok, amelyeket az alábbi rész tartalmaz a fertőzött számítógép, az alapértelmezett RSA-8192 nyilvános kulcs segítségével titkosítva.
- A titkosított fájl így néz ki:
Példa titkosított fájlokra:
Információgyűjtés a fertőzött számítógépről
A zsarolóprogram gyűjti a titkosító kulcsokat a fertőzött fájlok visszafejtéséhez, hogy a támadó létre tudja hozni a dekódolót. Ezenkívül a Nemty felhasználói adatokat gyűjt, például a felhasználó nevét, a számítógép nevét és a hardver profilt.

Összegyűjti a fertőzött számítógép lemezeinek információját a GetLogicalDrives(), GetFreeSpace(), GetDriveType() függvények hívásával.
A gyűjtött információ egy konfigurációs fájlban kerül tárolásra. A dekódolt sorral a konfigurációs fájl paramétereinek listáját kapjuk:

A fertőzött számítógép konfigurációs példája:

A konfigurációs sablon így néz ki:
{«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]
A gyűjtött adatokat a Nemty JSON formátumban tárolja a %USER%/_NEMTY_.nemty fájlban. A FileID véletlenszerűen generálódik, 7 karakter hosszú. Például: _NEMTY_tgdLYrd_.nemty. A FileID a titkosított fájl végére is hozzáadódik.
Váltságdíj üzenet
A fájlok titkosítása után az asztalon megjelenik a _NEMTY_[FileID]-DECRYPT.txt fájl a következő tartalommal:

A fájl végén a fertőzött számítógép titkosított információja található.

Hálózati kommunikáció
Az ironman.exe folyamat letölti a Tor böngésző disztribúcióját erről a címről és megpróbálja telepíteni.
Ezután a Nemty megpróbálja elküldeni a konfigurációs adatokat a 127.0.0.1:9050 címre, ahol várhatóan találnia kellene egy működő Tor böngésző proxy szervert. Azonban alapértelmezés szerint a Tor proxy szerver a 9150-es porton hallgat, míg a 9050-es portot a Tor démon használja Linuxon vagy az Expert Bundle-on Windows alatt. Így az adatok nem kerülnek a támadó szerverére. Ehelyett a felhasználó manuálisan töltheti le a konfigurációs fájlt, ha meglátogatja a Tor dekripciós szolgáltatását a váltságdíj üzenetében megadott linken.
Csatlakozás a Tor proxy-hoz:

![]()
HTTP GET kérés készítése a 127.0.0.1:9050/public/gate?data=

Itt láthatók azok a nyitott TCP portok, amelyeket a TORlocal proxy használ:

A Nemty dekripciós szolgáltatás a Tor hálózaton:

Titkosított fényképfájl (jpg, png, bmp) feltöltése a dekripciós szolgáltatás teszteléséhez.

Ezt követően a támadó váltságdíjat kér. A nemfizetés esetén az ár megduplázódik.

Zárás
Jelenleg nem lehet dekripálni a Nemty által titkosított fájlokat váltságdíj kifizetése nélkül. Ennek a ransomware verziónak közös vonásai vannak a Buran és a régi GandCrab titkosítókra: Borland Delphi-ben készült és azonos szöveggel rendelkező képek. Továbbá ez az első titkosító, amely 8092 bites RSA kulcsot használ, ami, ismételten említve, értelmetlen, mivel egy 1024 bites kulcs elegendő a védelemhez. Végül, ami érdekes, hogy téves portot próbál használni a helyi Tor proxy szolgáltatás számára.
Mindazonáltal a megoldások és nem engedik, hogy a Nemty titkosító elérje a felhasználói PC-ket és adatokat, és a szolgáltatók védhetik ügyfeleiket . Teljes nemcsak adatmentést biztosít, hanem védelmet nyújt is , egy speciális technológia, amely mesterséges intelligencián és viselkedési heurisztikán alapul, lehetővé téve akár még ismeretlen rosszindulatú programok semlegesítését.
Forrás: habr.com
