Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism

Ushbu maqola zararli dasturlarni tahlil qilishga bag'ishlangan nashrlarimiz seriyasini yakunlaydi. birinchi qism Biz Yevropa kompaniyasi elektron pochta orqali olgan zararlangan faylni batafsil tahlil qildik va unda AgentTesla josuslik dasturini topdik. ikkinchi qism AgentTesla asosiy modulining bosqichma-bosqich tahlili natijalarini tasvirlab berdi.

Bugun CERT Group-IB zararli dasturlarni tahlil qilish bo'yicha mutaxassisi Ilya Pomerantsev zararli dasturlarni tahlil qilishning birinchi bosqichini - CERT Group-IB mutaxassislarining uchta mini-keys tadqiqotidan foydalangan holda AgentTesla namunalarini yarim avtomatik ravishda ochishni muhokama qiladi.

Odatda, zararli dasturlarni tahlil qilishda birinchi qadam qadoqlovchi, kriptor, himoyachi yoki yuklovchi kabi himoyani olib tashlashdir. Ko'pgina hollarda, bu muammo zararli dasturni ishga tushirish va dumpni amalga oshirish orqali hal qilinadi, ammo bu usul mos bo'lmagan holatlar mavjud. Misol uchun, agar zararli dastur shifrlovchi bo'lsa, u xotira hududlarini dampingdan himoya qilsa, kodda virtual mashinani aniqlash mexanizmlari mavjud bo'lsa yoki zararli dastur ishga tushirilgandan so'ng darhol qayta ishga tushsa. Bunday hollarda "yarim avtomatlashtirilgan" deb ataladigan o'ram qo'llaniladi, ya'ni tadqiqotchi jarayonni to'liq nazorat qiladi va istalgan vaqtda aralasha oladi. Keling, misol sifatida AgentTesla oilasidan uchta namunadan foydalanib, ushbu protsedurani ko'rib chiqaylik. Ushbu zararli dastur, agar tarmoqqa kirish o'chirilgan bo'lsa, nisbatan zararsizdir.

Namuna №1

Manba fayli CVE-2017-11882 zaifligidan foydalanadigan MS Word hujjatidir.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Natijada, foydali yuk yuklab olinadi va ishga tushiriladi.

Jarayon daraxti va xulq-atvor belgilarini tahlil qilish jarayonga in'ektsiyani ko'rsatadi RegAsm.exe.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
AgentTesla uchun xarakterli xulq-atvor belgilari mavjud.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Yuklab olingan namuna bajariladi .NET- himoyachi bilan himoyalangan fayl .NET reaktori.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Keling, uni yordamchi dasturda ochamiz dnSpy x86 va kirish nuqtasiga o'tamiz.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Funktsiyaga kirish DateTimeOffset, biz yangining ishga tushirish kodini topamiz .NET-modul. Keling, o'rnatamiz to'xtash nuqtasi bizni qiziqtirgan qatorda faylni ishga tushiring.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Qaytarilgan buferlardan birida siz MZ imzosini ko'rishingiz mumkin (0x4D 0x5A). Keling, saqlaylik.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
To'ldirilgan bajariladigan fayl dinamik kutubxona bo'lib, u yuklovchi rolini o'ynaydi, ya'ni manba bo'limidan foydali yukni chiqaradi va uni ishga tushiradi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Biroq, kerakli resurslarning o'zi chiqindixonada etishmayapti. Ular ota-ona namunasida joylashgan.

Qulaylik dnSpy ikkita juda foydali xususiyatga ega bo'lib, ular ikkita bog'liq fayldan "Frankenshteyn" ni juda tez yaratishga yordam beradi.

  1. Birinchisi, dinamik kutubxonani asosiy namunaga "joylashtirish" imkonini beradi.

    Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism

  2. Ikkinchisi, kiritilgan dinamik kutubxonaning kerakli usulini chaqirish uchun kirish nuqtasida funktsiya kodini qayta yozish.

    Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism

Biz "Frankenshteyn"imizni saqlaymiz va qo'yamiz to'xtash nuqtasi shifrlangan resurslar bilan buferni qaytaradigan satrda va biz oldingi bosqichga o'xshash borini ishlab chiqaramiz.

Ikkinchi axlatxonada yozilgan VB.NET Bizga tanish bo'lgan himoyachi tomonidan himoyalangan bajariladigan fayl ConfuserEx.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Himoyachini olib tashlaganimizdan so'ng, biz ilgari yozilgan YARA qoidalaridan foydalanamiz va paketdan chiqarilgan zararli dastur haqiqatan ham AgentTesla ekanligini tasdiqlaymiz.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism

Namuna №2

Manba fayl MS Excel hujjatidir. O'rnatilgan makros zararli kodning bajarilishiga olib keladi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Bu PowerShell skriptining ishga tushirilishiga olib keladi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Skript C# kodini shifrlaydi va unga boshqaruvni o'tkazadi. Sandbox hisobotidan ko'rinib turibdiki, kodning o'zi yuklovchi hisoblanadi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Foydali yuk bajariladigan fayldir .NETfayl.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Faylni ochish dnSpy x86, siz uning xiralashganligini ko'rishingiz mumkin. Yordamchi dastur yordamida noaniqlikni olib tashlaymiz de4dot va biz tahlilga qaytamiz.

Kodni o'rganayotganda siz quyidagi funktsiyani topishingiz mumkin:

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Kodlangan chiziqlar diqqatni tortadi Kirish nuqtasi и iltijo. qo'yamiz to'xtash nuqtasi birinchi qatorda bufer qiymatini ishga tushiring va saqlang bayt_0.

Dump yana bir dastur hisoblanadi .NET va himoyalangan ConfuserEx.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Foydalanish orqali noaniqlikni olib tashlash de4dot va uni yuklang dnSpyFayl tavsifidan biz duch kelganimizni tushunamiz CyaX-Sharp yuklagich.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Ushbu yuklab oluvchi keng qamrovli tahlilga qarshi funksiyaga ega.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Bu funksiya oʻrnatilgan Windows xavfsizlik tizimlarini chetlab oʻtishni, Windows Defenderni oʻchirib qoʻyishni va sinov maydonlari va virtual mashinalarni aniqlashni oʻz ichiga oladi. U foydali yukni tarmoqdan yuklab olishi yoki uni resurs bo'limida saqlashi mumkin. Ishga tushirish o'z jarayoniga, o'z jarayonining dublikasiga yoki jarayonlariga in'ektsiya orqali amalga oshiriladi. MSBuild.exe, vbc.exe и RegSvcs.exe tajovuzkor tomonidan tanlangan parametrga bog'liq.

Biroq, biz uchun ular kamroq ahamiyatga ega AntiDump- qo'shadigan funktsiya ConfuserExUning manba kodini quyidagi manzilda topish mumkin GitHub.

Himoyani o'chirish uchun biz imkoniyatdan foydalanamiz dnSpy, bu sizga tahrir qilish imkonini beradi IL-kod.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saqlaymiz va o'rnatamiz to'xtash nuqtasi foydali yukni dekodlash funksiyasi chaqiruv qatoriga. U asosiy sinf konstruktorida joylashgan.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Biz yukni ishga tushiramiz va tashlaymiz. Oldin yozilgan YARA qoidalaridan foydalanib, biz bu AgentTesla ekanligini tasdiqlaymiz.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism

Namuna №3

Manba fayli bajariladigan fayldir VB Native PE32fayl.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Entropiya tahlili shifrlangan ma'lumotlarning katta qismi mavjudligini ko'rsatadi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Ariza shaklini tahlil qilishda VB dekompilyatori Siz g'alati pikselli fonni ko'rishingiz mumkin.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Entropiya grafigi bmp- tasvir asl faylning entropiya grafigi bilan bir xil va hajmi fayl hajmining 85% ni tashkil qiladi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Tasvirning umumiy ko'rinishi steganografiyadan foydalanishni ko'rsatadi.

Keling, jarayon daraxtining ko'rinishiga, shuningdek, in'ektsiya belgisi mavjudligiga e'tibor beraylik.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Bu qadoqdan chiqarish davom etayotganligini ko'rsatadi. Visual Basic yuklagichlari uchun (aka VBKrypt yoki VBInjector) foydalanish bilan tavsiflanadi qobiq kodi foydali yukni ishga tushirish, shuningdek, in'ektsiyani o'zi bajarish uchun.

Tahlil ichida VB dekompilyatori hodisaning mavjudligini ko'rsatdi yuk shaklda FegatassocAirballoon2.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Keling, davom etaylik IDA pro Belgilangan manzilga boramiz va funktsiyani ko'rib chiqamiz. Kod juda xiralashgan. Bizni qiziqtirgan fragment quyida keltirilgan.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Bu erda jarayonning manzil maydoni imzo uchun skanerdan o'tkaziladi. Ushbu yondashuv juda shubhali.

Birinchidan, skanerlashni boshlash manzili 0x400100Bu qiymat statik va bazani siljitganda sozlanmaydi. Ideal issiqxona sharoitida u oxirigacha ishora qiladi PE- bajariladigan fayl sarlavhasi. Biroq, ma'lumotlar bazasi statik emas; uning qiymati o'zgarishi mumkin va kerakli imzoning haqiqiy manzilini qidirish, garchi u o'zgaruvchini to'ldirib yubormasa ham, juda uzoq vaqt talab qilishi mumkin.

Ikkinchidan, imzoning ma'nosi iWGKMenimcha, 4 bayt noyoblikni kafolatlash uchun juda kichik. Va birinchi nuqtani hisobga olsak, xato ehtimoli juda yuqori.

Darhaqiqat, ko'rib chiqilayotgan bo'lak ilgari topilgan qismning oxiriga biriktirilgan bmp-ofset bo'yicha tasvirlar 0xA1D0D.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Ijroiya Shellcode U ikki bosqichda amalga oshiriladi. Birinchisi, asosiy qismning shifrini ochishni o'z ichiga oladi. Bunday holda, kalit qo'pol kuch bilan aniqlanadi.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Biz shifrlanganini tashlab yuboramiz Shellcode va chiziqlarga qaraylik.

Birinchidan, biz endi bola jarayonini yaratish funksiyasini bilamiz: CreateProcessInternalW.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Ikkinchidan, biz tizimdagi fiksatsiya mexanizmini bilib oldik.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Keling, asl jarayonga qaytaylik. Keling, qo'ying to'xtash nuqtasi haqida CreateProcessInternalW va ijroni davom ettiring. Keyinchalik, biz ulanishni kuzatamiz NtGetContextThread/NtSetContextThread, bu bajarilishning boshlang'ich manzilini manzilga o'zgartiradi ShellCode.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Biz tuzatuvchi bilan yaratilgan jarayonga ulanamiz va hodisani faollashtiramiz. Kutubxonani yuklash/tushirishni to'xtatib turing, biz jarayonni davom ettiramiz va yuklab olishni kutamiz .NET-kutubxonalar.

Keyingi, yordamida ProcessHucker qadoqlanmagan shakldagi axlatxonalar .NET-ilova.

Biz barcha jarayonlarni to'xtatamiz va tizimga kirib qolgan zararli dastur nusxasini olib tashlaymiz.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Olib tashlangan fayl himoyachi bilan himoyalangan. .NET reaktori, bu yordam dasturi yordamida osongina olib tashlanishi mumkin de4dot.

Saylovda ishtirok etish muvaffaqiyatsiz tugadi: keling, AgentTesla-ga toza suv ta'sir qilaylik. 3-qism
Ilgari yozilgan YARA qoidalaridan foydalanib, biz AgentTesla bilan ishlayotganimizni tekshirishimiz mumkin.

Xulosa qilaylik

Shunday qilib, biz uchta mini-keys yordamida namunani yarim avtomatlashtirilgan ochish jarayonini batafsil namoyish qildik, shuningdek, to'liq ish bo'yicha zararli dasturiy ta'minot tahlilini o'tkazdik, tekshirilayotgan namunani AgentTesla sifatida aniqladik, uning funksionalligini o'rnatdik va murosaga kelish ko'rsatkichlarining to'liq ro'yxatini aniqladik.

Biz o'tkazgan zararli dasturlarni tahlil qilish juda ko'p vaqt va kuch talab qiladi va bu ishni kompaniya ichidagi maxsus xodim bajarishi kerak, ammo hamma kompaniyalar ham tahlilchini jalb qilishni xohlamaydilar.

Group-IB ning Kompyuter kriminalistikasi va zararli dasturlarni tahlil qilish laboratoriyasi tomonidan taqdim etilgan xizmatlardan biri bu kiber hodisalarga javob berishdir. Mijozlarning hujjatlarni muvofiqlashtirish va ularni kiberhujum o'rtasida muhokama qilish uchun vaqtni behuda sarflamasligi uchun Group-IB ishga tushirildi. Hodisaga javobni saqlash vositasi, obuna oldidan hodisalarga javob berish xizmati, shuningdek, zararli dasturlarni tahlil qilish. Bu haqda batafsil ma'lumotni bu yerda topishingiz mumkin. shu yerda.

Agar siz AgentTesla namunalarini qanday ochishni va Group-IB CERT mutaxassisi buni qanday amalga oshirishini ko'rishni istasangiz, ushbu mavzu bo'yicha vebinar yozuvini yuklab olishingiz mumkin. shu yerda.

Manba: www.habr.com

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster