Обходимо антивірус за допомогою десяти рядків коду
Фахівець з інформаційної безпеки під ніком evasiv3 опублікував минулого тижня запис в своєму блозі, в якій розповідається про те, як можна обійти будь-антивірус за допомогою десяти рядків коду.
Спочатку Evasiv3 планував написати величезний пост про способи обходу антивірусного захисту, однак, протестувавши перший крок свого «керівництва» він був дуже здивований: ні один із 56 протестованих продуктів, покликаних забезпечити безпеку користувача в мережі, не виявив його бінарники.
Після отримання такого результату я вирішив відмовитися від своєї ідеї довгого і виснажливого обходу антивірусного захисту і діяти швидко, «брудно», але при цьому неймовірно просто.
У своїй роботі evasiv3 використовував Veil-Evasion, частина Veil-Framework’a. Автор відзначає його як «чудовий інструмент, який майже ніколи його не підводив».
Код, представлений нижче, написаний на С++ і орієнтований на атаку, в першу чергу, windows-платформи:
#include <windows.h>
#include < iostream>
int main(int argc, char **argv) {
char b[] = {/* your XORd with key of 'x' shellcode goes here i.e. 0x4C,0x4F, 0x4C */};
char c[sizeof b];
for (int i = 0; i < sizeof b; i++) {c[i] = b[i] ^ 'x';}
void *exec = VirtualAlloc(0, sizeof c, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
memcpy(exec, c, sizeof c);
((void(*)())exec)();
}
Наведений вище код створює масив символів з шелл-кодом, виконує операцію XOR з неймовірно складним ключем «х» в нижньому регістрі, виділяє трохи пам’яті, копіює масив в неї і після виконує.
Якщо ви зараз подумали «гаразд!», то у вас та ж реакція, що і у Evasiv’a. Масла у вогонь підливає той факт, що бінарники був виявлений 0 антивірусів з 56 після перевірки через VirusTotal. Продемонстрований вище АВ-обхід показує, що найпростіший і основний метод проникнення до цих пір є робочим.
Звичайно, більшість антивірусів зосереджені на припинення експлуатації вразливостей, а не на них виявлення, так що «ховати» їх поки рано.
На скріншоті на початку статті вказана дата за 2015 рік, однак, автор коду перевірив ще раз бінарники VirusTotal перед публікацією у своєму блозі. Результат той же: 0 з 56.
Джерело: Хабрахабр