Endi biz antivirus dasturlarida ishlatiladigan aniqlash usullari va ularga qarshi bypass metodlari haqida umumiy tushunchaga ega bo‘ldik, shuning uchun amaliy misolga e’tibor qaratishimiz mumkin.
Barcha antivirus mahsulotlarini bypass qiladigan universal yechim topish qiyin va ko‘p vaqt talab qiladi, agar imkonsiz bo‘lmasa. Penetrasiya testi paytida vaqt cheklovlarini hisobga olgan holda, maqsadli tarmoqda o‘rnatilgan maxsus antivirus mahsulotiga e’tibor qaratish ancha samaraliroqdir.
Ushbu modul maqsadlari uchun biz Windows 11 mijozida Avira Free Security versiyasi 1.1.68.29553 bilan ishlashimiz mumkin. Berilgan hisob ma’lumotlari bilan RDP orqali ulanganimizdan so‘ng, Avira allaqachon o‘rnatilganligini va ish stolidagi yorliq orqali ishga tushirilishi mumkinligini ko‘ramiz. Dastur ishga tushgach, chap menyudan Security paneliga o‘tib, Protection Options ni bosamiz:
!
Figura 3: Avira menyusida Protections Options ni qidirish
Bu menyu bo‘limini ochish hozirda ishlayotgan himoya funksiyalarini ko‘rsatadi, bu yerda Real-Time Protection funksiyasi yoqilganligini tekshirishimiz va agar kerak bo‘lsa, uni qo‘lda yoqishimiz mumkin.
!
Figura 4: Avira Control Center.
AV mahsulotlarini sinovdan o‘tkazishda birinchi qadam sifatida antivirusning kutilganidek ishlashini tekshirishimiz kerak. Biz avvalroq yaratgan Metasploit payload ini ishlatamiz va uni Avira bilan skanerlaymiz.
Zararli PE faylini Windows mijoziga o‘tkazgandan so‘ng, deyarli darhol faylning zararli ekanligi haqida ogohlantirish olamiz. Bu holatda, faylimiz bloklanganligini ko‘rsatuvchi xato xabari chiqadi.
!
Figura 5: Avira Free Antivirus Quarantine Xabari
Avira zararli fayl karantin qilinganligi haqida popup bildirishnoma ko‘rsatadi.
<aside> 💡
Antivirus mahsulotlari odatda threat quarantine ni kernel darajasida fayl tizimi operatsiyalarini bloklash yoki zararli namunalarni faqat AV dasturi kirishi mumkin bo‘lgan shifrlangan xotirada saqlash orqali amalga oshiradi.
</aside>
Maqsadli muhit qanchalik cheklangan bo‘lishiga qarab, biz PowerShell yordamida antivirus mahsulotlarini bypass qilishimiz mumkin.1
Keyingi misolda biz avvalgi o‘quv birligida o‘rgangan remote process memory injection texnikasiga o‘xshash usuldan foydalanamiz. Asosiy farq shundaki, biz joriy ishlayotgan jarayonga, ya’ni bizning holatda x86 PowerShell interpreter iga nishon qo‘yamiz.
PowerShell ning juda kuchli xususiyati uning Windows API bilan ishlash qobiliyatidir.2 Bu bizga in-memory injection jarayonini PowerShell skriptida amalga oshirish imkonini beradi. Skriptni PE fayli o‘rniga ishlatishning asosiy afzalliklaridan biri shundaki, antivirus ishlab chiqaruvchilari uchun skriptning zararli ekanligini aniqlash qiyin, chunki u interpreter ichida ishlaydi va skriptning o‘zi executable code emas. Shunga qaramay, ba’zi AV mahsulotlari zararli skriptlarni aniqlashda boshqalarga qaraganda muvaffaqiyatliroq ekanligini yodda tuting.3
Bundan tashqari, agar skript zararli deb belgilansa ham, uni osongina o‘zgartirish mumkin. Antivirus dasturlari ko‘pincha variable names, comments va logic ni ko‘rib chiqadi, bularning barchasini hech narsani qayta kompilyatsiya qilmasdan o‘zgartirish mumkin.