[Перевод] Как провести 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

a98546a32a292f01fb8789aec35cfff6.png

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

bf25daf383071682ed383f61188e0591.png

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

d58ca30cded22b4b1deffe6fa4b6f331.png

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

6189feae8dff8b8ada4f9f565636c3ba.png

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

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

1b06904c3e853bfe1f03ef1d322540cf.png

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

f0ba9dc07c3c607d7529f774d9610de2.pngf064a60f3f16c7adb9e8a2048ea2d20b.png

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

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

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

6f04f2b31505f0cf6d295812fdc14fa8.png

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

ae59c2ab7f8e17e751349d6f4108e404.png2558f779ef49410b4433e47f88cd7158.png

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

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

3e10fb7ff3a538a0c59390c0c059207a.png

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

28501f012e683ec2a3931dee617a3b89.png

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

81e95bac169af5128d116ec4e0ceeb0d.png

© Habrahabr.ru