ProHoster > Blog > Ma'muriyat > RATKing: troyanlarga masofaviy kirish imkoniyatiga ega yangi kampaniya
RATKing: troyanlarga masofaviy kirish imkoniyatiga ega yangi kampaniya
May oyining oxirida biz tajovuzkorlarga zararlangan tizimni masofadan boshqarish imkonini beruvchi Remote Access Trojan (RAT) zararli dasturlarini tarqatish kampaniyasini topdik.
Biz tekshirgan guruh infektsiya uchun hech qanday maxsus RAT oilasini tanlamaganligi bilan ajralib turardi. Kampaniya doirasidagi hujumlarda bir nechta troyanlar aniqlandi (ularning barchasi keng tarqalgan edi). Bu xususiyat bilan guruh bizga kalamush qirolini eslatdi - dumlari bir-biriga bog'langan kemiruvchilardan iborat afsonaviy hayvon.
Asl nusxasi K. N. Rossikovning "Iqtisodiy jihatdan eng muhimi sichqon va sichqonsimon kemiruvchilar" (1908) monografiyasidan olingan.
Ushbu jonzot sharafiga biz ko'rib chiqilayotgan guruhni RATKing deb nomladik. Ushbu postda biz hujumchilar hujumni qanday amalga oshirganliklari, ular qanday vositalardan foydalanganlari haqida batafsil ma'lumot beramiz, shuningdek, ushbu kampaniyaning atributi haqida o'z fikrlarimiz bilan o'rtoqlashamiz.
Hujumning borishi
Ushbu kampaniyadagi barcha hujumlar quyidagi algoritmga muvofiq amalga oshirildi:
Foydalanuvchi Google Drive havolasi bilan fishing xatini oldi.
Havolani ishlatib, jabrlanuvchi Windows reestriga oxirgi foydali yukni yuklash uchun DLL kutubxonasini ko'rsatgan zararli VBS skriptini yuklab oldi va uni bajarish uchun PowerShell dasturini ishga tushirdi.
DLL kutubxonasi oxirgi foydali yukni - aslida tajovuzkorlar tomonidan ishlatiladigan RAT-lardan birini tizim jarayoniga kiritdi va virus yuqtirgan mashinada mustahkam o'rin olish uchun VBS skriptini autorun-da ro'yxatdan o'tkazdi.
Yakuniy foydali yuk tizim jarayonida bajarildi va tajovuzkorga zararlangan kompyuterni boshqarish imkoniyatini berdi.
Sxematik ravishda uni quyidagicha ifodalash mumkin:
Keyinchalik, biz birinchi uch bosqichga e'tibor qaratamiz, chunki biz zararli dasturlarni etkazib berish mexanizmiga qiziqamiz. Biz zararli dasturning ishlash mexanizmini batafsil tasvirlab bermaymiz. Ular keng tarqalgan - ixtisoslashtirilgan forumlarda sotiladi yoki hatto ochiq manba loyihalari sifatida tarqatiladi - va shuning uchun RATKing guruhiga xos emas.
Hujum bosqichlarini tahlil qilish
1-bosqich. Fishing elektron pochtasi
Hujum qurbonning zararli maktub olishi bilan boshlandi (hujumchilar matnli turli shablonlardan foydalangan; quyidagi skrinshotda bitta misol ko'rsatilgan). Xabarda qonuniy omborga havola mavjud edi drive.google.com, bu PDF hujjatni yuklab olish sahifasiga olib keldi.
Fishing elektron pochta misoli
Biroq, aslida, bu umuman yuklangan PDF hujjati emas, balki VBS skripti edi.
Yuqoridagi skrinshotdagi e-pochtadagi havolani bosganingizda fayl nomlanadi Cargo Flight Details.vbs. Bu holatda hujumchilar faylni qonuniy hujjat sifatida yashirishga ham urinmagan.
Shu bilan birga, ushbu kampaniya doirasida biz nomli skriptni topdik Cargo Trip Detail.pdf.vbs. U allaqachon qonuniy PDF-ga o'tishi mumkin, chunki Windows sukut bo'yicha fayl kengaytmalarini yashiradi. To'g'ri, bu holda, VBS skriptiga to'g'ri keladigan uning belgisi hali ham shubha uyg'otishi mumkin edi.
Ushbu bosqichda jabrlanuvchi yolg'onni tan olishi mumkin edi: bir soniya davomida yuklab olingan fayllarni diqqat bilan ko'rib chiqing. Biroq, bunday fishing kampaniyalarida tajovuzkorlar ko'pincha beparvo yoki shoshilinch foydalanuvchiga tayanadilar.
2-bosqich. VBS skripti bilan ishlash
Foydalanuvchi beixtiyor ochishi mumkin bo'lgan VBS skripti Windows registrida DLL kutubxonasini ro'yxatdan o'tkazdi. Skript noaniq edi: undagi satrlar ixtiyoriy belgi bilan ajratilgan baytlar sifatida yozilgan.
Xiralashgan skriptga misol
Deobfuscation algoritmi juda oddiy: har uchinchi belgi xiralashgan satrdan chiqarib tashlandi, shundan so'ng natija base16 dan asl satrga dekodlandi. Masalan, qiymatdan 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (yuqoridagi skrinshotda ta'kidlangan) natijada chiziq bo'ldi WScript.Shell.
Satrlarni o'chirish uchun biz Python funktsiyasidan foydalandik:
def decode_str(data_enc):
return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))
Quyida, 9-10-qatorlarda biz deobfuscation DLL fayliga olib kelgan qiymatni ajratib ko'rsatamiz. Aynan u PowerShell yordamida keyingi bosqichda ishga tushirildi.
Noma'lum DLL bilan string
VBS skriptidagi har bir funktsiya satrlar noaniqlanganligi sababli bajarildi.
Skriptni ishga tushirgandan so'ng, funktsiya chaqirildi wscript.sleep — u kechiktirilgan ijroni bajarish uchun ishlatilgan.
Keyinchalik, skript Windows ro'yxatga olish kitobi bilan ishladi. Buning uchun u WMI texnologiyasidan foydalangan. Uning yordami bilan noyob kalit yaratildi va bajariladigan faylning tanasi uning parametriga yozildi. Ro'yxatga olish kitobiga WMI orqali quyidagi buyruq yordamida kirish mumkin edi:
Uchinchi bosqichda zararli DLL yakuniy foydali yukni yukladi, uni tizim jarayoniga kiritdi va foydalanuvchi tizimga kirganida VBS skriptining avtomatik ishga tushishini ta'minladi.
PowerShell orqali ishga tushirish
DLL PowerShell-da quyidagi buyruq yordamida bajarildi:
nomi bilan ro'yxatga olish kitobi qiymati ma'lumotlarini oldi rnd_value_name — bu maʼlumotlar .Net platformasida yozilgan DLL fayl edi;
hosil bo'lgan .Net modulini jarayon xotirasiga yukladi powershell.exe funksiyasidan foydalanish [System.Threading.Thread]::GetDomain().Load()(Load() funksiyasining batafsil tavsifi Microsoft veb-saytida mavjud);
funksiyasini bajardi GUyyvmzVhebFCw]::EhwwK() - DLL kutubxonasining bajarilishi u bilan - parametrlar bilan boshlandi vbsScriptPath, xorKey, vbsScriptName. Parametr xorKey yakuniy foydali yukni parolini ochish uchun kalitni va parametrlarni saqladi vbsScriptPath и vbsScriptName VBS skriptini autorunda ro'yxatdan o'tkazish uchun o'tkazildi.
DLL kutubxonasining tavsifi
Dekompilyatsiya qilingan shaklda bootloader quyidagicha ko'rinadi:
Dekompilyatsiya qilingan shakldagi yuklovchi (DLL kutubxonasi bajarilishi boshlangan funktsiya qizil rang bilan chizilgan)
Yuklash moslamasi .Net Reactor himoyachisi bilan himoyalangan. De4dot yordam dasturi ushbu himoyachini olib tashlashda juda yaxshi ish qiladi.
Bu yuklovchi:
foydali yukni tizim jarayoniga kiritdi (ushbu misolda u svchost.exe);
Avtomatik ishga tushirish uchun VBS skriptini qo'shdim.
Funktsiya PowerShell skripti tomonidan chaqiriladi
Bu funksiya quyidagi amallarni bajardi:
ikkita ma'lumotlar to'plami shifrlangan (array и array2 skrinshotda). Ular dastlab gzip yordamida siqilgan va kalit bilan XOR algoritmi bilan shifrlangan xorKey;
ajratilgan xotira maydonlariga ma'lumotlarni nusxalash. dan ma'lumotlar array - ko'rsatilgan xotira maydoniga intPtr (payload pointer skrinshotda); dan ma'lumotlar array2 - ko'rsatilgan xotira maydoniga intPtr2 (shellcode pointer skrinshotda);
funksiya deb ataladi CallWindowProcA(Opisanie Bu funksiya Microsoft veb-saytida mavjud) quyidagi parametrlar bilan (parametrlarning nomlari quyida keltirilgan, skrinshotda ular bir xil tartibda, lekin ish qiymatlari bilan):
lpPrevWndFunc - dan ma'lumotlarga ko'rsatgich array2;
hWnd — bajariladigan faylga yo‘lni o‘z ichiga olgan qatorga ko‘rsatgich svchost.exe;
Msg - dan ma'lumotlarga ko'rsatgich array;
wParam, lParam — xabar parametrlari (bu holda bu parametrlar ishlatilmagan va 0 qiymatga ega edi);
fayl yaratdi %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urlqayerda <name> - bu parametrning dastlabki 4 ta belgisi vbsScriptName (skrinshotda ushbu harakatga ega bo'lgan kod qismi buyruq bilan boshlanadi File.Copy). Shu tarzda, zararli dastur foydalanuvchi tizimga kirganida avtomatik ishga tushirish fayllari ro'yxatiga URL faylini qo'shdi va shu bilan zararlangan kompyuterga biriktirildi. URL faylida skriptga havola mavjud edi:
Inyeksiya qanday amalga oshirilganligini tushunish uchun biz ma'lumotlar massivlarining shifrini hal qildik array и array2. Buning uchun biz quyidagi Python funksiyasidan foydalandik:
def decrypt(data, key):
return gzip.decompress(
bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
Natijada biz quyidagilarni bilib oldik:
array PE fayli edi - bu oxirgi foydali yuk;
array2 in'ektsiyani amalga oshirish uchun zarur bo'lgan qobiq kodi edi.
Massivdan qobiq kodi array2 funksiya qiymati sifatida qabul qilinadi lpPrevWndFunc funksiyaga aylanadi CallWindowProcA. lpPrevWndFunc — qayta qo‘ng‘iroq qilish funksiyasi, uning prototipi quyidagicha ko‘rinadi:
Shunday qilib, funktsiyani ishga tushirganingizda CallWindowProcA parametrlari bilan hWnd, Msg, wParam, lParam massivdan qobiq kodi bajariladi array2 argumentlar bilan hWnd и Msg. hWnd bajariladigan faylga yo'lni o'z ichiga olgan qatorga ko'rsatgichdir svchost.exeva Msg — oxirgi foydali yukni ko'rsatuvchi.
Shellcode funksiya manzillarini qabul qildi kernel32.dll и ntdll32.dll nomlaridagi xesh qiymatlariga asoslanib, yakuniy foydali yukni jarayon xotirasiga kiritdilar svchost.exeProcess Hollowing texnikasidan foydalangan holda (bu haqda ko'proq ma'lumotni bu erda o'qishingiz mumkin maqola). Shellkodni kiritishda:
jarayonni yaratdi svchost.exe funksiyadan foydalangan holda to'xtatilgan holatda CreateProcessW;
keyin jarayonning manzil maydoniga bo'lim ekranini yashiring svchost.exe funksiyasidan foydalanish NtUnmapViewOfSection. Shunday qilib, dastur asl jarayonning xotirasini bo'shatdi svchost.exekeyin ushbu manzilda foydali yuk uchun xotira ajratish;
jarayon manzil maydonida foydali yuk uchun ajratilgan xotira svchost.exe funksiyasidan foydalanish VirtualAllocEx;
Inyeksiya jarayonining boshlanishi
foydali yukning mazmunini jarayonning manzil maydoniga yozdi svchost.exe funksiyasidan foydalanish WriteProcessMemory (quyidagi skrinshotda bo'lgani kabi);
jarayonni davom ettirdi svchost.exe funksiyasidan foydalanish ResumeThread.
Inyeksiya jarayonini yakunlash
Yuklab olinadigan zararli dastur
Ta'riflangan harakatlar natijasida virusli tizimga RAT sinfidagi bir nechta zararli dasturlardan biri o'rnatildi. Quyidagi jadvalda hujumda foydalanilgan zararli dasturlar ro‘yxati keltirilgan, biz ularni ishonch bilan tajovuzkorlar guruhiga kiritishimiz mumkin, chunki namunalar bir xil buyruq va boshqaruv serveriga kirgan.
Bir xil boshqaruv serveri bilan tarqatilgan zararli dasturlarga misollar
Bu erda ikkita narsa e'tiborga loyiqdir.
Birinchidan, tajovuzkorlar bir vaqtning o'zida bir nechta RAT oilalaridan foydalanganliklari. Bunday xatti-harakatlar taniqli kiberguruhlar uchun xos emas, ular ko'pincha o'zlariga tanish bo'lgan bir xil vositalar to'plamidan foydalanadilar.
Ikkinchidan, RATKing ixtisoslashgan forumlarda arzon narxda sotiladigan yoki hatto ochiq kodli loyiha bo'lgan zararli dasturlardan foydalangan.
Kampaniyada ishlatiladigan zararli dasturlarning to'liq ro'yxati - bitta muhim ogohlantirish bilan - maqolaning oxirida berilgan.
Guruh haqida
Biz ta'riflangan zararli kampaniyani hech qanday ma'lum bo'lgan hujumchilar bilan bog'lay olmaymiz. Hozircha biz bu hujumlarni mutlaqo yangi guruh amalga oshirgan deb hisoblaymiz. Biz boshida yozganimizdek, biz uni RATKing deb nomladik.
VBS skriptini yaratish uchun guruh, ehtimol, yordam dasturiga o'xshash vositadan foydalangan VBS-Crypter ishlab chiquvchidan NYAN-x-CAT. Bu ushbu dastur tajovuzkorlar skripti bilan yaratgan skriptning o'xshashligidan dalolat beradi. Xususan, ikkalasi ham:
funksiyasi yordamida kechiktirilgan ijroni bajarish Sleep;
WMI-dan foydalanish;
bajariladigan faylning tanasini ro'yxatga olish kitobi kaliti parametri sifatida ro'yxatdan o'tkazish;
ushbu faylni PowerShell yordamida o'z manzil maydonida bajaring.
Aniqlik uchun, VBS-Crypter yordamida yaratilgan skript tomonidan ishlatiladigan ro'yxatga olish kitobidan faylni ishga tushirish uchun PowerShell buyrug'ini solishtiring:
E'tibor bering, tajovuzkorlar foydali yuklardan biri sifatida NYAN-x-CAT-dan boshqa yordam dasturidan foydalanganlar - LimeRAT.
C&C serverlarining manzillari RATKingning yana bir o'ziga xos xususiyatini ko'rsatadi: guruh dinamik DNS xizmatlarini afzal ko'radi (IoC jadvalidagi C&Clar ro'yxatiga qarang).
IoC
Quyidagi jadval VBS skriptlarining to'liq ro'yxatini taqdim etadi, ular katta ehtimol bilan tavsiflangan kampaniyaga tegishli bo'lishi mumkin. Ushbu skriptlarning barchasi o'xshash va taxminan bir xil harakatlar ketma-ketligini bajaradi. Ularning barchasi RAT sinfidagi zararli dasturlarni ishonchli Windows jarayoniga kiritadi. Ularning barchasida Dynamic DNS xizmatlaridan foydalangan holda ro'yxatdan o'tgan C&C manzillari mavjud.
Biroq, biz ushbu skriptlarning barchasi bir xil hujumchilar tomonidan tarqatilgan deb da'vo qila olmaymiz, bir xil C&C manzillari bo'lgan namunalar bundan mustasno (masalan, kimjoy007.dyndns.org).