Что нового

Cheat Sheet Типы полезных нагрузок (Payloads)

Vander

Vander

Команда форума
10.11.2019
152
363
Всем привет, в этой статье я хочу подробно рассмотреть тему полезных нагрузок (Payloads), их особенности и типы.

Я полагаю, новичкам будет интересно узнать, с чем они имеют дело, и как это работает.

В качестве примера будем рассматривать Metaslpoit Framework, так как он содержит различные уникальные типы полезных нагрузок.

1.jpg
Рассмотрим различные типы Payloads:

Встроенная (Не поэтапная)

Одиночная полезная нагрузка, содержащая эксплоит и полный шеллкод, для выбранной задачи. Встроенные пайлоады более стабильны, чем некоторые другие, потому что они содержат все инструменты в одном файле. Однако есть эксплойты, которые не поддерживают полученный размер этих полезных нагрузок, в результате компиляции.

Ниже, на примере Android устройства показана схема работы такой нагрузки:


2.png
Staged

Эти payload способны встраиваться в очень маленький объем памяти и создавать целый плацдарм в целевой системе, а затем вытаскивать остальную часть payload в систему.

4.png
Meterpreter

Короткая форма мета-интерпретатора, которая является передовой на данный момент, а так же многогранной в плане применения. Работает с помощью инъекции DLL. Meterpreter полностью находится в памяти удаленного хоста и не оставляет никаких данных на жестком диске. Что делает его трудно обнаружимым для инструментов форензики. Сценарии и плагины могут, быть загружены и выгружены динамически по мере необходимости, а развитие Meterpreter продолжается до сих пор.

33.png
PassiveX

Этот payload предназначен для использования в тех ситуациях, когда правила брандмауэра ограничивают исходящий трафик. По сути, он использует ActiveX через браузер Internet Explorer. Чтобы скрыть свой исходящий трафик и избежать блокировки брандмауэром он использует HTTP-запросы и отвечает на запросы так же, как и любой браузер.

1577453465298.png
No NX

Атрибут (бит) NX-Bit (no execute bit) или XD-Bit — бит запрета исполнения, добавленный в страницы памяти для реализации возможности предотвращения выполнения данных как кода. В современных компьютерных системах память разделяется на страницы, имеющие определённые атрибуты, разработчики процессоров добавили ещё один: запрет исполнения кода на странице. Такая страница может быть использована для хранения данных, но не кода. Используется для предотвращения уязвимостей типа «переполнение буфера», позволяющих выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки (DEP) со стороны ядра операционной системы. Полезная нагрузка Metasploit NoNX предназначена для обхода DEP.

DEP, в свою очередь, это - функция предотвращения выполнения данных. Выглядит как комплекс программных и аппаратных технологий, который выполняют дополнительные проверки содержимого оперативной памяти на наличие в ней вредоносного кода, и препятствующие его выполнению. Функция DEP позволяет избежать целого класса атак. В частности, DEP позволяет блокировать вирусы и другие вредоносные программы, пытающихся выполнить свой код из областей системной памяти, резервированных для ОС и программ.

1251.jpg
Ord

Порядковые полезные нагрузки, ориентированные на Windows. Имеют свои преимущества и недостатки. К преимуществам можно отнести, то, что они работают на любой версии Windows, начиная с Windows 9x версий. Так же их размер чрезвычайно мал. Есть две негативные особенности использования данных нагрузок. Первая это, то, что они менее стабильны своих собратьев, а вторая это то, что ws2_32.dll загружается в процесс (в память), до того как сработает механизм эксплоита.

1211.jpg
IPv6

Полезная нагрузка Metasploit IPv6, как следует из названия, собраны для функционирования в сетях IPv6.

IPv6 - это интернет - протокол шестой версии, называемый иначе как IPng. IPng - это аббревиатура, расшифровывается как Интернет-протокол следующего поколения. Он является преемником IPv4 и предназначен для, так сказать, «расширения» интернета в отношении объема передаваемых данных и количества подключенных хостов.

4433.png
Reflective DLL injection

Рефлективные DLL инъекции – это метод, с помощью которого, полезная нагрузка выполняется в памяти целевого хоста, не касаясь жесткого диска. VNC и Meterpreter работают используя рефлективные DLL инъекции.

1144.png
В следующей части мы коснемся генерации этих полезных нагрузок.

Спасибо за внимание, материал подготовлен специально для форума protey.net

 
Верх