WastedLocker ransomware káros kód leírás

Felfedezés dátuma

2020.08.19.

Súlyosság

Közepes

Összefoglaló

Az angliai székhelyű kiberbiztonsági kutatásokkal foglalkozó NCC Group biztonsági kutatói 2020. május végén fedezték fel a WastedLocker zsarolóvírust, amelyet az EvilCorp néven ismert kiberbűnözői csoport fejlesztett ki. Az EvilCorp. már 2011 óta fenyegetést jelent, elsősorban cégekre (fő célpontok a fájlszerverek, a különböző adatbázis szolgáltatások,  virtuális gépek és felhő alapú munkakörnyezetek), legutóbbi áldozatuk a Garmin vállalat.

A zsarolóvírus elnevezése az általa létrehozott fájlnévből származik, a WastedLocker az általa kódolt fájlok végére az áldozat nevének rövidítéséből és a “wasted” szóból álló kiegészítést fűzi. Ez a fajta névképzés már a BitPaymer zsarolóvírusnál is megjelent, azonban itt egyes betűket számokkal helyettesítettek. A zsaroló üzenet, illetve a kapcsolattartásra felhasznált e-mail címek is mutatnak némi hasonlóságot, azonban technikai szempontból a két zsarolóvírusnak nincsenek közös vonásai. A legújabb zsarolóvírus trendekkel szemben a WastedLocker nem folytat adatlopást, hogy azok kiszivárogtatásával is fenyegesse áldozatát.

Leírás

A WastedLocker terjesztése a SocGholish nevű hamis frissítési keretrendszerrel történik, bár újabban csak egy egyedi CobaltStrike loader telepítését valósítják meg a általa. A SocGholish segítségével a támadók rendszerinformációk széles köréhez férhetnek hozzá, mivel a káros kód a böngésző felhasználói jogosultsága alatt fut. Az összegyűjtött adatokat elküldésre kerülnek a SocGholish szervernek, ahonnan a loader letölti a támadáshoz szükséges további futtatható állományokat.

A CobaltStrike payloadok két különböző típusú PowerShell szkriptbe van beágyazva. Az első típus kifejezetten 64 bites, Windows alapú rendszerekre készült. A letöltött payload base64 kódolással van ellátva, dekódolásához egy előre beállított karakterlánc és a letöltött állomány első 16 bájtja által meghatározott kulcs szükséges. A szkript feladata ezen futtatható állomány dekódolása, majd végrehajtása. A második szkript egyszerűbb felépítésű, csupán két base64 alapú állományt tartalmaz, amelyek a CobaltStrike loader letöltését és injektálását végzik. Ez utóbbi esetben a loader megkísérli felfedezni, hogy telepítve van-e a CrowdStrike védelmi megoldás. Amennyiben a C:Program FileCrowdStrike mappa létezik, akkor a Windows FreeConsole API funkció csak a payload betöltése után kerül meghívásra.

1. ábra A CrowdStrike észlelését végző kód

A WastedLocker egy egyedi kódolóval (CryptOne) van védve. Ez a kódoló viszonylag egyszerű és már korábban is alkalmazták más rosszindulatú programcsaládok ─ például a NetWalker, Zloader, Smokeloader ─ védelmére. A kódoló célja, hogy az aktuális káros kódot úgynevezett szemét kód (junk code) közé rejtse, ezzel is nehezítve a felderítést. A kódolónak több variánsa is létezik, ám ezek felépítésükben és működésükben alapvetően megegyeznek.

Első lépésben néhány registry kulcs meglétének ellenőrzése történik meg. Ezek a rendszerleíró kulcsok a UCOMIEnumConnections Interface-re és a IActiveScriptParseProcedure32-re vonatkoznak, ezeknek a kulcsoknak a hiányában a kódoló végtelen hurokba kerül, illetve megszakad a lefutása. A registry kulcsok meglétének sikeres ellenőrzése után meghívja a memóriába a VirtualAlloc API-t. Ezen a memóriaterületen kerülnek összekapcsolásra az egyes adattömbök, majd hajtódik végre azok dekódolása egy XOR logikai művelet alapján. Ez a dekódolt kód lesz a felelős a tényleges hasznos teher visszafejtéséért. Visszafejtés előtt az adattartalom egy másik pufferbe kerül, ahol a fent leírt módon egy XOR logikai művelet segítségével dekódolódik. Ezt követően futhat le a tényleges káros kód.

A titkosítási eljárás előtt a WastedLocker végrehajt néhány ─ a megfelelő működéshez szükséges ─ folyamatot. Először dekódolása a’.bss’-ben tárolt karakterláncokat, majd kiszámítja azok ’DWORD’ értékét. Ennek a későbbi titkosítási folyamatban van szerepe. Ezen felül létrehoz egy “lck-log” naplófájlt és egy kivételkezelő folyamatot is. Ha a végrehajtási folyamat nem rendszergazdai jogokkal történik, vagy a támadott gép legalább Windows Vistát használ, akkor magasabb jogosultságot kísérel szerezni a UAC bypass módszer segítségével.

A WastedLocker az alábbi parancssori paramétereket támogatja:

  • -r
    • Biztonsági másolatok (Shadow copy) törlése.
    • Futtatható ransomware állomány másolása a %windir%system32 könyvtárba, hozzáférési engedélyek alaphelyzetbe állítása.
    • Folyamatok létrehozása és futtatása.
  • -s
    • Folyamatokhoz kapcsolódó bejegyzések létrehozása.
  • -p
    • Fájlok titkosítása egy adott könyvtárban, majd a titkosítás folytatása az adott meghajtó többi állományával.
  • -f
    • Fájlok titkosítása egy adott könyvtárban.

Érdemes megjegyezni, hogy a ransomware az első két paraméter (-r; -s) hibája esetén is lefut, azonban ekkor további módosításokat hajt végre a rendszerleíró kulcsban (SoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMap):

NÉV Módosítás
ProxyBypass Kulcs törlése
IntranetName Kulcs törlése
UNCAsIntranet Kulcs érték átállítása 0-ra
AutoDetect Kulcs érték átállítása 1-re

A tényleges titkosítási folyamat során a ransomware nemcsak a helyi meghajtót támadja, hanem az elérhető hálózati, valamint az eltávolítható adathordozókat is. A WastedLocker rendelkezik egy olyan listával, amely a titkosítás alól mentesített könyvtárakat és kiterjesztéseket tartalmazza, továbbá a 10 bájtnál kisebb fájlok sem kerülnek kódolásra. A nagyméretű állományok 64 MB-os darabokban kerülnek kódolásra. Minden állomány egy kiindulási vektor és egy AES kulcs segítségével kerül titkosításra. Az AES kulcsot és a kiindulási vektort egy előre beágyazott 4096 bites RSA kulcs segítségével kerül kódolásra. Az RSA-val titkosított kimenet base64-be konvertálódik, majd bekerül a ransom note fájlba. Minden egyes titkosított fájlhoz létrehozásra kerül egy saját ransom note. Ez utóbbi viselkedés meglehetősen ritka, legutóbb a BitPaymer és a DoppePaymer alkalmazta ezt a megoldást.

2. ábra WastedLocker zsaroló üzenet

A titkosított fájlok új elnevezése az áldozat nevének rövidítése, összekapcsolva a “wasted” szóval. A titkosítási folyamat végén frissítésre kerül az “lck-log” fájl a támadott fájlok, sikeres titkosítások, valamint a hozzáférési problémák miatt nem titkosított fájlok számával.

A titkosításból kizárt kiterjesztések és könyvtárak listája:

*ntldr *.ani *.bin *.com *.dat *.dll *.hlp *icns
*.386 *.bak *.cab *.cpl *.diagcab *.dry *.hta *.ics
*.adv *.bat *.cmd *.cur *.diagcfg *.exe *.icl *.idx
*.ini *.key *.lnk *.mod *.msc *.msi *.msp *.msstyles
*.msu *.nls *.nomedia *.ocx *.ps1 *.rom *.rtp *.scr
*.sdi *.shs *.sys *.theme *.themepack *.wim *.wpx *bootmgr
*grldr *$recycle.bin* *appdata* *bin* *boot* *caches* *dev* *etc*
*initdr* *lib* *programdata* *run* *sbin* *sys* *system volume information* *usersall users*
*var* *vmlinuz* *webcache* *windowsapps* c:program files (x86)* c:program files* c:programdata* c:recovery*
c:users %USERNAME% appdata localtemp* c:users %USERNAME% appdataroaming* c:windows*
 

A WastedLocker magas fokú rejtőzési képességekkel rendelkezik, amely során a Windows belső működését használja ki a felfedezés elkerülésére. Általánosságban elmondható, hogy a vírusvédelmi eszközök folyamatosan figyelik az operációs rendszerhez kapcsolódó fájlok megszokottól eltérő viselkedését, például az ismeretlen folyamatok által végrehajtott fájlműveleteket. Ezt megkerülendő, a WastedLocker a Windows Cache-ben működik, nem pedig a merevlemezen lévő eredetiből. A WastedLocker a fájlokat a gyorsítótárba olvassa, illetve módosítja. Többszöri módosítás után pedig a Windows automatikusan felülírja az eredeti fájlt a módosított, gyorsítótárban lévő változattal. Mivel ezeket a módosításokat a Windows maga kezdeményezi, ezért a vírusvédelmi szoftver azokat automatikusan legitimnek tekinti és nem vizsgálja.

Megoldás

Védekezési javaslatok:

  • Megelőző megoldásként javasolt a jelszóházirend szigorítása.
  • Tartsa naprakészen az operációs rendszert, a telepített alkalmazásokat és az alkalmazott vírusvédelmi megoldásokat.
  • Legyen elővigyázatos a gyanús csatolmányt tartalmazó e-mailekkel szemben, azokat lehetőség szerint ne nyissa meg.
  • Blokkolja az összes URL- és IP-alapú IoC-t a tűzfalon, az IDS-en, a web-átjáróknál, az útválasztóknál.
  • Az ismeretlen fájlokat és gyanús e-mail csatolmányokat ellenőrizheti a Virustotal oldalra feltöltve. (Érzékeny vagy bizalmas információkat tartalmazó dokumentumok feltöltése nem javasolt!)
  • A zsarolóvírusokról hasznos információkat az NBSZ NKI weboldalán találhat.

Hivatkozások

Egyéb referencia: research.nccgroup.com
Egyéb referencia: labs.sentinelone.com
Egyéb referencia: securelist.com
Egyéb referencia: news.sophos.com
Egyéb referencia: www.ehackingnews.com
Egyéb referencia: nki.gov.hu

Indikátorok

CobaltStrike C&C domain:

  • adsmarketart.com
  • advancedanalysis.be
  • advertstv.com
  • amazingdonutco.com
  • cofeedback.com
  • consultane.com
  • dns.proactiveads.be
  • mwebsoft.com
  • rostraffic.com
  • traffichi.com
  • typiconsult.com
  • websitelistbuilder.com

CobaltStrike SHA256 hash:

  • 2f72550c99a297558235caa97d025054f70a276283998d9686c282612ebdbea0
  • 389f2000a22e839ddafb28d9cf522b0b71e303e0ae89e5fc2cd5b53ae9256848
  • 3dfb4e7ca12b7176a0cf12edce288b26a970339e6529a0b2dad7114bba0e16c3
  • 714e0ed61b0ae779af573dce32cbc4d70d23ca6cfe117b63f53ed3627d121feb
  • 810576224c148d673f47409a34bd8c7f743295d536f6d8e95f22ac278852a45f
  • 83710bbb9d8d1cf68b425f52f2fb29d5ebbbd05952b60fb3f09e609dfcf1976c
  • 91e18e5e048b39dfc8d250ae54471249d59c637e7a85981ab0c81cf5a4b8482d
  • adabf8c1798432b766260ac42ccdd78e0a4712384618a2fc2e3695ff975b0246
  • b0354649de6183d455a454956c008eb4dec093141af5866cc9ba7b314789844d
  • bc1c5fecadc752001826b736810713a86cfa64979b3420ab63fe97ba7407f068
  • c781c56d8c8daedbed9a15fb2ece165b96fdda1a85d3beeba6bb3bc23e917c90
  • c7cde31daa7f5d0923f9c7591378b4992765eac12efa75c1baaaefa5f6bdb2b6
  • f093b0006ef5ac52aa1d51fee705aa3b7b10a6af2acb4019b7bc16da4cabb5a1

WastedLocker SHA256 hash:

  • ed0632acb266a4ec3f51dd803c8025bccd654e53c64eb613e203c590897079b3
  • e3bf41de3a7edf556d43b6196652aa036e48a602bb3f7c98af9dae992222a8eb
  • bcdac1a2b67e2b47f8129814dca3bcf7d55404757eb09f1c3103f57da3153ec8
  • aa05e7a187ddec2e11fc1c9eafe61408d085b0ab6cd12caeaf531c9dca129772
  • 9056ec1ee8d1b0124110e9798700e473fb7c31bc0656d9fc83ed0ac241746064
  • 8897db876553f942b2eb4005f8475a232bafb82a50ca7761a621842e894a3d80
  • 887aac61771af200f7e58bf0d02cb96d9befa11deda4e448f0a700ccb186ce9d
  • 97a1e14988672f7381d54e70785994ed45c2efe3da37e07be251a627f25078a7
  • 85f391ecd480711401f6da2f371156f995dd5cff7580f37791e79e62b91fd9eb
  • 7a45a4ae68992e5be784b4a6da7acd98dc28281fe238f22c1f7c1d85a90d144a
  • 5cd04805f9753ca08b82e88c27bf5426d1d356bb26b281885573051048911367

WastedLocker SHA1 hash:

  • 9292fa66c917bfa47e8012d302a69bec48e9b98c
  • be59c867da75e2a66b8c2519e950254f817cd4ad
  • 70c0d6b0a8485df01ed893a7919009f099591083
  • 4fed7eae00bfa21938e49f33b7c6794fd7d0750c
  • 763d356d30e81d1cd15f6bc6a31f96181edb0b8f
  • e13f75f25f5830008a4830a75c8ccacb22cebe7b
  • b99090009cf758fa7551b197990494768cd58687
  • 809fbd450e1a484a5af4ec05c345b2a7072723e7
  • e62d3a4fe0da1b1b8e9bcff3148becd6d02bcb07
  • 91b2bf44b1f9282c09f07f16631deaa3ad9d956d
  • f25f0b369a355f30f5e11ac11a7f644bcfefd963

VHO:Trojan-Ransom.Win32.Wasted.d hash:

  • 2CC4534B0DD0E1C8D5B89644274A10C1 (MD5)
  • 735EE2C15C0B7172F65D39F0FD33B9186EE69653 (SHA-1)
  • 905EA119AD8D3E54CD228C458A1B5681ABC1F35DF782977A23812EC4EFA0288A (SHA-256)