AZORult káros kód

Felfedezés dátuma

2016.02.01.

Súlyosság

Közepes

Érintett rendszerek

Microsoft

Összefoglaló

Az AZORult 2016-ban tűnt fel, eredetileg a Chthonic banki trójai fertőzés részeként azonosították, azóta e-mail kampányok során rendszeresen visszatér. Elsődlegesen banki adatok lopására fejlesztették, későbbi verziói minden elérhető adatot (böngésző adatok, sütik, chat előzmények, asztali file-ok stb.) begyűjtenek.

Leírás

Az AZORult egyik érdekes tulajdonsága, hogy a végrehajtás után a malware eltávolításra kerül a rendszerből. Eredeti verzióját Delphiben programozták, majd 2019-ben került átírásra C++ nyelvre (verzió megnevezése: AZORult++). Ez a verzió első lépésként meghívja a GetUserDefaultLangID () függvényt, azonban amennyiben az eredmény orosz, örmény, azerbajdzsáni, belorusz, grúz, kazah, tadzsik, türkmén vagy üzbég, akkor leállítja a futását.

Ugyanakkor az AZOrult++ funkcionálisan kevesebb tulajdonsággal bír, mint a 3.3-as verzió, hiányzik belőle az ún. loader funkció és a mentett jelszavak ellopására sincs lehetőség.

Megjelenése óta több frissítésen is átesett, újabban elsődlegesen ezt kísérlik meg telepíteni a támadók, majd az AZORult segítségével történik meg a további káros szoftverek (pl.: Hermes és Aurora zsarolóvírus) telepítése. Legutolsó ismert verziója a 3.3-as, amelyben fejlesztették a kripto-lopó funkciót és a C2 domain sztring titkosításának a módját is.

2019 novemberében hamisított ProtonVPN oldalon keresztül próbálták terjeszteni. A hamisított ProtonVPN-eket kínáló protonvpn.store oldalt Oroszországban jegyezték be. Az install file (ProtonVPN_win_v1.10.0.exe) letöltése és a telepítés után, az AZORult a szokott módon végzi az adatgyűjtést, a C2 szervert ezúttal a hamisított oldalon üzemeltették (accounts.protonvpn.store). Ez a típusú terjesztési megoldás nem számít úttörőnek, korábban a NordVPN, a Pirate Chick VPN és a Bleachbit oldalak másolatain keresztül is folyt a terjesztés.

Működés

A számítógép megfertőzése után az AZORult első lépésben egy egyedi azonosítót generál a fertőzött géphez, melyet XOR technológiával titkosít. Ezt az azonosítót használja fel a C2 szerver felé történő kommunikáció során. A C2 kiszolgáló konfigurációs adatokat küld, amelyek tartalmazzák az ellopni kívánt információk körét, pl.: megcélzott webböngésző, a webböngésző elérési útját, API neveket, sqlite3 lekérdezéseket és a legitim DLL fájlokat. Ezután kerül sor a tényleges adatgyűjtésre, titkosításra. Az AZORult letölthet és futtathat más káros kódokat is.

Az egyedi azonosító generálásához az alábbi adatok kerülnek felhasználásra

  • Számítógép GUID (HKLMSOFTWAREMicrosoftCryptographyMachineGuid)
  • OS neve (HKLMSOFTWAREMicrosoftWindows NTCurrentVersionProductName)
  • Felhasználónév (GetUserNameW)
  • Számítógépnév (GetComputerNameW)
  • Egy tömörített file a fenti információkkal (GUID, OS név, Felhasználónév, Számítógépnév)

 

A fenti értékek mindegyike WIN32 API hívásokon keresztül kerül beszerzésre és 4 byte-os formában kerül tárolásra. Egy további 4 byte-os XOR kulcs (0x6521458A) kerül hozzáadásra. Az AZORult 3.2 és 3.3 verziója is ezt a XOR kulcsot használja. A legenerált ID-nek két funkciója van:

  • Egyedi azonosító biztosítása a C2 kommunikáció során
  • Mutex létrehozása (megadott erőforráshoz való hozzáférés szabályozása)

 

A legenerált ID segítségével megtörténik a kapcsolatfelvétel a C2 szerverrel, illetve lekérésre kerülnek a konfigurációs adatok. Három különböző típusú konfigurációs adatot különböztet meg az AZORult:

  1. A megszerezni kívánt adatokhoz szükséges információk (pl.: browser név, email kliens szoftver)
  2. A C2 szerver parancsai:

-F egyéb file-ok feltöltése

-l Geolokációs és IP adatok elküldése a C2 szervernek

-L egyéb file-ok letöltése és futtatása

  1. Az adatlopáshoz szükséges DLL-ek listája:

 

  • api-ms-win-core-console-l1-1-0.dll
  • api-ms-win-core-datetime-l1-1-0.dll
  • api-ms-win-core-debug-l1-1-0.dll
  • api-ms-win-core-errorhandling-l1-1-0.dll
  • api-ms-win-core-file-l1-1-0.dll
  • api-ms-win-core-file-l1-2-0.dll
  • api-ms-win-core-file-l2-1-0.dll
  • api-ms-win-core-handle-l1-1-0.dll
  • api-ms-win-core-heap-l1-1-0.dll
  • api-ms-win-core-interlocked-l1-1-0.dll
  • api-ms-win-core-libraryloader-l1-1-0.dll
  • api-ms-win-core-localization-l1-2-0.dll
  • api-ms-win-core-memory-l1-1-0.dll
  • api-ms-win-core-namedpipe-l1-1-0.dll
  • api-ms-win-core-processenvironment-l1-1-0.dll
  • api-ms-win-core-processthreads-l1-1-0.dll
  • api-ms-win-core-processthreads-l1-1-1.dll
  • api-ms-win-core-profile-l1-1-0.dll
  • api-ms-win-core-rtlsupport-l1-1-0.dll
  • api-ms-win-core-string-l1-1-0.dll
  • api-ms-win-core-synch-l1-1-0.dll
  • api-ms-win-core-synch-l1-2-0.dll
  • api-ms-win-core-sysinfo-l1-1-0.dll
  • api-ms-win-core-timezone-l1-1-0.dll
  • api-ms-win-core-util-l1-1-0.dll
  • api-ms-win-crt-conio-l1-1-0.dll
  • api-ms-win-crt-convert-l1-1-0.dll
  • api-ms-win-crt-environment-l1-1-0.dll
  • api-ms-win-crt-filesystem-l1-1-0.dll
  • api-ms-win-crt-heap-l1-1-0.dll
  • api-ms-win-crt-locale-l1-1-0.dll
  • api-ms-win-crt-math-l1-1-0.dll
  • api-ms-win-crt-multibyte-l1-1-0.dll
  • api-ms-win-crt-private-l1-1-0.dll
  • api-ms-win-crt-process-l1-1-0.dll
  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-crt-stdio-l1-1-0.dll
  • api-ms-win-crt-string-l1-1-0.dll
  • api-ms-win-crt-time-l1-1-0.dll
  • api-ms-win-crt-utility-l1-1-0.dll
  • freebl3.dll
  • mozglue.dll
  • msvcp140.dll
  • nss3.dll
  • nssdbm3.dll
  • softokn3.dll
  • ucrtbase.dll
  • vcruntime140.dll

 

Információszerzés folyamata

Első lépés a célfile megkeresése. Pl.: A Google Chrome a %LOCALAPPDATA%GoogleChromeUser DataDefaultLogin Data-ban tárolja a jelszavakat. Következő lépésben a file másolásra kerül a TEMP könyvtárba. Az új file név a GetTickCount() és QueryPerformanceCounter() adatok alapján kerül meghatározásra:

A Login Data file SQLite 3.x alapú adatbázis file. Az adatok lekérdezéséhez az AZORult beolvassa a konfigurációs adatokat egy .dll betöltésekor (ebben az esetben “nss3.dll”), majd a futtatja a lekérdezést, az érzékeny információk kinyerésére. Utolsó lépésként törli a TEMP könyvtárból a Login Data file-t.

Az eddigi adatok alapján az AZORult az alábbi programokból kísérel meg információt kinyerni:

Web Browser:

  • Google Chrome
  • Comodo Dragon
  • Amigo
  • Orbitum
  • Bromium
  • Chromium
  • Nichrome
  • RockMelt
  • Vivaldi
  • Go Browser
  • Sputnik
  • Kometa
  • Uran
  • QIP Surf
  • Epic Privacy Browser
  • Brave
  • Cent Browser
  • CocCoc
  • 7 Star
  • Elements Browser
  • Safer Technologies
  • Mustang
  • Superbird
  • Chedot
  • Torch
  • Firefox
  • Waterfox
  • IceDragon
  • Cyberfox
  • PaleMoon
  • InternetExplorer
  • Microsoft Edge
  • Opera
  • Xpom
  • YandexBrowser
  • 360Browser
  • TorBro
  • Suhba

 

E-mail kliens:

  • Outlook
  • Thunderbird

 

Kriptovaluta:

  • Electrum
  • Electrum-LTC
  • ElectrumG
  • Electrum-btcp
  • Jaxx
  • MultiBitHD
  • Monero
  • Bitcoin
  • BitcoinGold
  • BitCore
  • Litecoin
  • BitcoinABC
  • Exodus
  • Exodus Eden
  • Ethereum

Egyéb alkalmazások:

  • Filezilla
  • PSI+
  • WinScp
  • Skype
  • Telegram
  • Steam

 

Adaküldés a C2 szerverre

Az AZORult az alábbi adatokat küldi el a C2 szervernek:

  • A fertőzött gép alapinformációi, pl.: OS adatok;
  • Böngészőben mentett jelszó információk;
  • Böngészési előzmények, sütik, automatikus kitöltési adatok;
  • A megfertőzött gép IP adatai;
  • Képernyőmentések;
  • Részletes rendszerinformáció:
    • Képernyőfelbontás;
    • Futtatott folyamatok listája;
    • Telepített programok listája.

 

Az egyes adatok közé automatikusan bekerül egy előre meghatározott elválasztó elem, amely az AZORult 3.2 és 3.3 verziója esetén eltérő. Az összegyűjtött adatok tömörítve (.zip állományként) kerülnek továbbításra.

Loader funkció

Az AZORult képes további káros programok ─ TEMP vagy ProgramFiles könyvtárba történő ─ letöltésére és futtatására. Ezt követően megvizsgálja a letöltött file-t, amennyiben *.exe állomány került letöltésre, úgy azt a CreateProcessW() funkción keresztül futtatja le, minden más esetbe a ShellExecuteW() funkciót hívja meg.

Adminisztrátor panel

A Blackberry Cylance kutatói felfedték az AZORult fejlesztői webhelyét, illetve megtalálták az admin applikációt is. Az admin oldal információkat ad a fertőzött gépekről. Az adminisztrátorok szabadon szerkeszthetik a konfigurációt, ide értve a megcélzott adatok körét és a másodlagos fertőzés lehetőségét is.

Megoldás

 

  • Az operációs rendszer, az alkalmazások, valamint a vírusvédelmi megoldás naprakészen tartása.
  • Legyen elővigyázatos a gyanús csatolmányt tartalmazó e-mailekkel szemben, azokat lehetőség szerint ne nyissa meg, az ismeretlen fájlokat és csatolmányokat a Virustotal weboldalra feltöltve ellenőrizheti.
  • Az ismert IoC-k blokkolásra a tűzfalon, az IDS-en, a gateway-en, a routeren.

Hivatkozások

https://www.proofpoint.com/us/threat-insight/post/new-version-azorult-stealer-improves-loading-features-spreads-alongside
https://malware.lu/articles/2018/05/04/azorult-stealer.html
https://securelist.com/azorult-analysis-history/89922/
https://malpedia.caad.fkie.fraunhofer.de/details/win.azorult
https://any.run/malware-trends/azorult

Indikátorok

Az AZORult-hoz köthető IoC-k listája itt érhető el.


Legfrissebb sérülékenységek
CVE-2019-11001 – Reolink Multiple IP Cameras OS Command Injection sebezhetősége
CVE-2021-40407 – Reolink RLC-410W IP Camera OS Command Injection sebezhetősége
CVE-2024-20767 – Adobe ColdFusion Improper Access Control sebezhetősége
CVE-2024-55956 – Cleo Multiple Products Unauthenticated File Upload sebezhetősége
CVE-2024-50623 – Cleo Multiple Products Unrestricted File Upload sebezhetősége
CVE-2024-49138 – Windows Common Log File System Driver Elevation of Privilege sebezhetősége
CVE-2024-11639 – Ivanti CSA sérülékenysége
CVE-2024-42449 – Veeam Service Provider Console sérülékenysége
CVE-2024-42448 – Veeam Service Provider Console sérülékenysége
CVE-2024-42327 – Zabbix SQLi sérülékenysége
Tovább a sérülékenységekhez »