Один из ключевых вопросов, волнующих всех хакеров, — как обойти средства безопасности, такие как системы обнаружения вторжений (IDS) или антивирусы (AV). Это не проблема, если вы создаёте собственный эксплойт нулевого дня или перехватываете чужой. Однако, если вы используете чужой эксплойт или полезную нагрузку, например, от Metasploit или Exploit-DB, средства безопасности, скорее всего, обнаружат его и испортят вам всё удовольствие.
Защитное ПО в основном работает, распознавая сигнатуру вредоносного ПО. Если вы можете изменить сигнатуру вредоносного ПО, его полезной нагрузки или шелл-кода, оно, скорее всего, сможет обойти антивирусное ПО и другие средства безопасности.
Я написал руководства по использованию Veil-Evasion и msfvenom от Metasploit для перекодирования полезных данных с целью обхода этих устройств, но ни один метод не является абсолютно надёжным. Чем больше у вас вариантов перекодирования вредоносного ПО, тем выше вероятность, что оно сможет обойти эти устройства.
В этом руководстве мы будем использовать Shellter . По моему опыту, он оказался более эффективным для перекодирования данных для обхода антивирусного ПО, чем другие варианты.
Как работает Shellter
Shellter способен перекодировать любое 32-битное автономное приложение Windows. Поскольку мы пытаемся избежать обнаружения антивирусами, нам следует избегать всего, что может показаться антивирусу подозрительным, например, упакованных приложений или приложений, содержащих более одного раздела исполняемого кода.
Shellter способен использовать любое из этих 32-битных приложений Windows и встраивать шелл-код, будь то ваш собственный код или код из таких приложений, как Metasploit, таким образом, что антивирусные программы зачастую не способны его обнаружить. Поскольку вы можете использовать любое 32-битное приложение, вы можете создать практически бесконечное количество сигнатур, что делает обнаружение практически невозможным для антивирусных программ.
Шаг 1: Загрузите и установите Shellter
Первый шаг, конечно же, — скачать и установить Shellter. Я буду использовать его в Windows, но Shellter можно запустить и в Kali с помощью Wine. Мне кажется, Shellter быстрее и проще запускать в его родной среде Windows. Скачать Shellter можно здесь .
Шаг 2: Запустите Shellter
После загрузки и установки Shellter нажмите на исполняемый файл в каталоге Shellter. Это должно запустить приложение Shellter, как показано ниже.
Шаг 3: Переместите двоичный файл Windows в каталог Shellter
Чтобы проверить эффективность Shellter в сокрытии природы файла, мы будем использовать известный вредоносный файл антивируса. Это будет besbd.exe, клон Netcat, обладающий всеми возможностями Netcat, но также способный шифровать соединение с помощью AES.
Мы будем встраивать его с помощью полезной нагрузки Meterpreter из Metasploit. По сути, мы возьмём известный 32-битный .exe-файл, встроим в него известную полезную нагрузку Meterpreter и посмотрим, обнаружит ли антивирус какой-либо из них. Думаю, это отличная проверка возможностей Shellter, поскольку обнаружение любого из них активирует антивирус. Оба файла необходимо будет обфусцировать, чтобы обойти антивирусное сканирование.
Вы можете получить sbd.exe в каталоге двоичных файлов Windows в Kali по адресу:
kali > cd /usr/share/windows-binaries
кали > ls -l
Для простоты скопируйте
Шаг 4: Запустите Shellter
Теперь вернёмся к нашему приложению Shellter. Введите A (автоматический режим) для выбора режима работы и N (нет) для обновления версии. Поскольку мы только что скачали текущую версию, обновлять Shellter не нужно.
Shellter предложит вам ввести файл, который нужно перекодировать. В нашем случае это sbd.exe. Помните, что Shellter поддерживает только 32-битные автономные приложения.
Цель PE: sbd.exe
Если ваш PE-файл (переносимый исполняемый файл) находится не в каталоге Shellter, вам потребуется указать здесь абсолютный путь. Затем просто нажмите Enter, и Shellter начнёт работу.
В конце концов он останавливается и снова запрашивает тип полезной нагрузки, которую вы хотите встроить в файл. Выберите L для «listed». Затем выберите 1 для полезной нагрузки «meterpreter_reverse_tcp».
Далее вам будет предложено указать локальный IP-адрес (LHOST) и порт LPORT. Введите IP-адрес локальной машины и любой порт. Затем нажмите Enter.
Шаг 5: Встраивание и перекодирование
Через несколько минут Shellter завершает проверку и контрольную сумму PE.
После завершения проверки ваш файл готов!
Шаг 6: Тест на обнаружение
Теперь, когда мы создали обфусцированный шелл-код, настал момент истины. Нам нужно протестировать антивирусную защиту и проверить, сможет ли она его обнаружить.
На этой системе я использую антивирус Vipre . Я поместил перекодированный .exe-файл в папку «Папка EXE» на рабочем столе. Давайте просканируем эту папку с помощью Vipre и посмотрим, насколько хорошо Shellter скрыл вредоносный код этого файла .
Это сканирование заняло всего несколько секунд, и Vipre не обнаружил никаких вредоносных файлов в папке с sbd.exe. Успех! Наше вредоносное ПО не обнаруживается этим антивирусом!
Конечно, это не означает, что все антивирусные программы не смогут обнаружить вредоносный характер нашего файла. Антивирусные программы разных производителей используют разные сигнатуры и методы обнаружения
. Некоторые из них могут определить истинную природу этого файла, но ключ к успеху — найти метод обфускации, который позволит обойти антивирус в целевой системе. Для этого может потребоваться несколько попыток с разными файлами, разной кодировкой и разной полезной нагрузкой. В конечном итоге вы, вероятно, найдёте хотя бы одну работающую комбинацию.
Настоящие хакеры очень настойчивы.
Шаг 7: Создание прослушивателя в Kali
Теперь, когда мы знаем, что вредоносный шелл-код не обнаруживается как минимум Vipre, мы можем отправить файл на целевую систему. Перед его выполнением нам нужно открыть прослушиватель в нашей системе Kali для подключения.
Для этой цели можно использовать многопользовательский обработчик Metasploit. Для начала откройте msfconsole, введя:
kali > msfconsole
Затем используйте эксплойт с несколькими обработчиками и установите полезную нагрузку (windows/meterpreter/reverse_tcp), затем установите локальный хост (LHOST) и локальный порт (LPORT) на те же значения, что и в вашем приложении выше.
Наконец, введите exploit, и многофункциональный обработчик «перехватит» соединение с полезной нагрузкой, когда она будет выполнена на цели, открыв оболочку Meterpreter незаметно для антивирусного программного обеспечения и целевого пользователя!
Теперь, имея командную строку Meterpreter на целевой системе, мы можем использовать любые команды или скрипты Meterpreter на этой системе, чтобы получить полный контроль.
Shellter — это всего лишь ещё один инструмент для обхода антивирусного ПО, но, возможно, лучший. Не существует единого метода, работающего против всех систем обнаружения вторжений и антивирусов, но этот должен быть в вашем арсенале. Мы продолжим изучать возможности Shellter и других антивирусных программ.
Защитное ПО в основном работает, распознавая сигнатуру вредоносного ПО. Если вы можете изменить сигнатуру вредоносного ПО, его полезной нагрузки или шелл-кода, оно, скорее всего, сможет обойти антивирусное ПО и другие средства безопасности.
Я написал руководства по использованию Veil-Evasion и msfvenom от Metasploit для перекодирования полезных данных с целью обхода этих устройств, но ни один метод не является абсолютно надёжным. Чем больше у вас вариантов перекодирования вредоносного ПО, тем выше вероятность, что оно сможет обойти эти устройства.
В этом руководстве мы будем использовать Shellter . По моему опыту, он оказался более эффективным для перекодирования данных для обхода антивирусного ПО, чем другие варианты.
Как работает Shellter
Shellter способен перекодировать любое 32-битное автономное приложение Windows. Поскольку мы пытаемся избежать обнаружения антивирусами, нам следует избегать всего, что может показаться антивирусу подозрительным, например, упакованных приложений или приложений, содержащих более одного раздела исполняемого кода.
Shellter способен использовать любое из этих 32-битных приложений Windows и встраивать шелл-код, будь то ваш собственный код или код из таких приложений, как Metasploit, таким образом, что антивирусные программы зачастую не способны его обнаружить. Поскольку вы можете использовать любое 32-битное приложение, вы можете создать практически бесконечное количество сигнатур, что делает обнаружение практически невозможным для антивирусных программ.
Шаг 1: Загрузите и установите Shellter
Первый шаг, конечно же, — скачать и установить Shellter. Я буду использовать его в Windows, но Shellter можно запустить и в Kali с помощью Wine. Мне кажется, Shellter быстрее и проще запускать в его родной среде Windows. Скачать Shellter можно здесь .
Шаг 2: Запустите Shellter
После загрузки и установки Shellter нажмите на исполняемый файл в каталоге Shellter. Это должно запустить приложение Shellter, как показано ниже.
Шаг 3: Переместите двоичный файл Windows в каталог Shellter
Чтобы проверить эффективность Shellter в сокрытии природы файла, мы будем использовать известный вредоносный файл антивируса. Это будет besbd.exe, клон Netcat, обладающий всеми возможностями Netcat, но также способный шифровать соединение с помощью AES.
Мы будем встраивать его с помощью полезной нагрузки Meterpreter из Metasploit. По сути, мы возьмём известный 32-битный .exe-файл, встроим в него известную полезную нагрузку Meterpreter и посмотрим, обнаружит ли антивирус какой-либо из них. Думаю, это отличная проверка возможностей Shellter, поскольку обнаружение любого из них активирует антивирус. Оба файла необходимо будет обфусцировать, чтобы обойти антивирусное сканирование.
Вы можете получить sbd.exe в каталоге двоичных файлов Windows в Kali по адресу:
kali > cd /usr/share/windows-binaries
кали > ls -l
Для простоты скопируйте
Шаг 4: Запустите Shellter
Теперь вернёмся к нашему приложению Shellter. Введите A (автоматический режим) для выбора режима работы и N (нет) для обновления версии. Поскольку мы только что скачали текущую версию, обновлять Shellter не нужно.
Shellter предложит вам ввести файл, который нужно перекодировать. В нашем случае это sbd.exe. Помните, что Shellter поддерживает только 32-битные автономные приложения.
Цель PE: sbd.exe
Если ваш PE-файл (переносимый исполняемый файл) находится не в каталоге Shellter, вам потребуется указать здесь абсолютный путь. Затем просто нажмите Enter, и Shellter начнёт работу.
В конце концов он останавливается и снова запрашивает тип полезной нагрузки, которую вы хотите встроить в файл. Выберите L для «listed». Затем выберите 1 для полезной нагрузки «meterpreter_reverse_tcp».
Далее вам будет предложено указать локальный IP-адрес (LHOST) и порт LPORT. Введите IP-адрес локальной машины и любой порт. Затем нажмите Enter.
Шаг 5: Встраивание и перекодирование
Через несколько минут Shellter завершает проверку и контрольную сумму PE.
После завершения проверки ваш файл готов!
Шаг 6: Тест на обнаружение
Теперь, когда мы создали обфусцированный шелл-код, настал момент истины. Нам нужно протестировать антивирусную защиту и проверить, сможет ли она его обнаружить.
На этой системе я использую антивирус Vipre . Я поместил перекодированный .exe-файл в папку «Папка EXE» на рабочем столе. Давайте просканируем эту папку с помощью Vipre и посмотрим, насколько хорошо Shellter скрыл вредоносный код этого файла .
Это сканирование заняло всего несколько секунд, и Vipre не обнаружил никаких вредоносных файлов в папке с sbd.exe. Успех! Наше вредоносное ПО не обнаруживается этим антивирусом!
Конечно, это не означает, что все антивирусные программы не смогут обнаружить вредоносный характер нашего файла. Антивирусные программы разных производителей используют разные сигнатуры и методы обнаружения
. Некоторые из них могут определить истинную природу этого файла, но ключ к успеху — найти метод обфускации, который позволит обойти антивирус в целевой системе. Для этого может потребоваться несколько попыток с разными файлами, разной кодировкой и разной полезной нагрузкой. В конечном итоге вы, вероятно, найдёте хотя бы одну работающую комбинацию.
Настоящие хакеры очень настойчивы.
Шаг 7: Создание прослушивателя в Kali
Теперь, когда мы знаем, что вредоносный шелл-код не обнаруживается как минимум Vipre, мы можем отправить файл на целевую систему. Перед его выполнением нам нужно открыть прослушиватель в нашей системе Kali для подключения.
Для этой цели можно использовать многопользовательский обработчик Metasploit. Для начала откройте msfconsole, введя:
kali > msfconsole
Затем используйте эксплойт с несколькими обработчиками и установите полезную нагрузку (windows/meterpreter/reverse_tcp), затем установите локальный хост (LHOST) и локальный порт (LPORT) на те же значения, что и в вашем приложении выше.
Наконец, введите exploit, и многофункциональный обработчик «перехватит» соединение с полезной нагрузкой, когда она будет выполнена на цели, открыв оболочку Meterpreter незаметно для антивирусного программного обеспечения и целевого пользователя!
Теперь, имея командную строку Meterpreter на целевой системе, мы можем использовать любые команды или скрипты Meterpreter на этой системе, чтобы получить полный контроль.
Shellter — это всего лишь ещё один инструмент для обхода антивирусного ПО, но, возможно, лучший. Не существует единого метода, работающего против всех систем обнаружения вторжений и антивирусов, но этот должен быть в вашем арсенале. Мы продолжим изучать возможности Shellter и других антивирусных программ.