Как провести Havoc agent через Windows Defender (2024)

от автора

Привет всем! Сегодня я покажу вам метод, как обойти последнюю версию Windows Defender с помощью Havoc Demons по состоянию на сентябрь 2024 года.

Мы будем использовать offensive powershell: найдём shellcode-раннер на PowerShell и объединим его с рабочим обходом AMSI, чтобы выполнить его в памяти.

Я буду использовать следующий shellcode-раннер на PowerShell: https://github.com/dievus/PowerShellRunner/blob/main/runner.ps1

Теперь я сгенерирую shellcode для agent Havoc, который будет сохранён в файл с расширением .bin.

Теперь мы можем использовать скрипт на Python 2 для конвертации нашего bin-файла в shellcode, который можно вставить в скрипт runner.ps1.

Теперь мы можем скопировать этот shellcode в переменную $buf в скрипте runner.ps1.

Однако, если мы попробуем запустить наш shellcode таким образом, могут возникнуть ошибки. Это, скорее всего, связано с тем, что выделено недостаточно памяти для выполнения. Нам нужно отредактировать переменную $cucumbers, которая вызывает функцию Windows API VirtualAlloc.

Согласно документации, второй параметр функции определяет размер выделяемой памяти.

Итак, мы переместим переменную $cucumbers сразу после нашего shellcode и изменим второй параметр функции VirtualAlloc, чтобы он соответствовал размеру нашего shellcode. Это гарантирует, что для успешного выполнения кода будет выделено достаточно памяти.

Затем я тестирую это с отключенной антивирусной защитой на машине с Windows и убеждаюсь, что это работает.

Однако этого недостаточно, чтобы избежать обнаружения со стороны Defender.

Я попытаюсь использовать недавний обход Antimalware Scan Interface (AMSI), чтобы мы могли выполнить нашу .

Это сработало! Теперь давайте настроим сервер на Python, с которого мы попытаемся скачать наш обход AMSI вместе с нашим shellcode-раннер.

Примечание: возможно, потребуется обфусцировать команды iex, так как они могут блокироваться Windows Defender.

И вот у нас получилось получить оболочку (shell) в Havoc!

И мы можем даже выполнять .NET-бинарные файлы без проблем

или извлекать lsass.


ссылка на оригинал статьи https://habr.com/ru/articles/851888/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *