Всем привет, в этой статье я хочу подробно рассмотреть тему полезных нагрузок (Payload), их особенности и типы. Я полагаю, новичкам будет интересно узнать, с чем они имеют дело, и как это работает. В качестве примера будем рассматривать Metaslpoit Framework, так как он содержит различные уникальные типы полезных нагрузок.
Рассмотрим различные типы Payloads:
Встроенная (Не поэтапная)
· Одиночная полезная нагрузка, содержащая эксплоит и полный шеллкод, для выбранной задачи. Встроенные пайлоады более стабильны, чем некоторые другие, потому что они содержат все инструменты в одном файле. Однако есть эксплойты, которые не поддерживают полученный размер этих полезных нагрузок, в результате компиляции.
Meterpreter
· Короткая форма мета-интерпретатора, которая является передовой на данный момент, а так же многогранной в плане применения. Работает с помощью инъекции DLL. Meterpreter полностью находится в памяти удаленного хоста и не оставляет никаких данных на жестком диске. Что делает его трудно обнаружимой для инструментов форензики. Сценарии и плагины могут, быть загружены и выгружены динамически по мере необходимости, а развитие Meterpreter продолжается до сих пор.
No NX
· Атрибут (бит) NX-Bit (no execute bit) или XD-Bit — бит запрета исполнения, добавленный в страницы памяти для реализации возможности предотвращения выполнения данных как кода. В современных компьютерных системах память разделяется на страницы, имеющие определённые атрибуты, разработчики процессоров добавили ещё один: запрет исполнения кода на странице. Такая страница может быть использована для хранения данных, но не кода. Используется для предотвращения уязвимостей типа «переполнение буфера», позволяющих выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки (DEP) со стороны ядра операционной системы. Полезная нагрузка Metasploit NoNX предназначена для обхода DEP.
DEP, в свою очередь, это - функция предотвращения выполнения данных. Выглядит как комплекс программных и аппаратных технологий, который выполняют дополнительные проверки содержимого оперативной памяти на наличие в ней вредоносного кода, и препятствующие его выполнению. Функция DEP позволяет избежать целого класса атак. В частности, DEP позволяет блокировать вирусы и другие вредоносные программы, пытающихся выполнить свой код из областей системной памяти, резервированных для ОС и программ.
Ord
· Порядковые полезные нагрузки, ориентированные на Windows. Имеют свои преимущества и недостатки. К преимуществам можно отнести, то, что они работают на любой версии Windows, начиная с Windows 9x версий. Так же их размер чрезвычайно мал. Есть две негативные особенности использования данных нагрузок. Первая это, то, что они менее стабильны своих собратьев, а вторая это то, что ws2_32.dll загружается в процесс (в память), до того как сработает механизм эксплоита.
IPv6
· Полезная нагрузка Metasploit IPv6, как следует из названия, собраны для функционирования в сетях IPv6.
IPv6 - это интернет - протокол шестой версии, называемый иначе как IPng. IPng - это аббревиатура, расшифровывается как Интернет-протокол следующего поколения. Он является преемником IPv4 и предназначен для, так сказать, «расширения» интернета в отношении объема передаваемых данных и количества подключенных хостов.
Reflective DLL injection
· Рефлективные DLL инъекции – это метод, с помощью которого, полезная нагрузка выполняется в памяти целевого хоста, не касаясь жесткого диска. VNC и Meterpreter работают используя рефлективные DLL инъекции.
В следующей части мы коснемся генерации этих полезных нагрузок. Спасибо за внимание.
Рассмотрим различные типы Payloads:
Встроенная (Не поэтапная)
· Одиночная полезная нагрузка, содержащая эксплоит и полный шеллкод, для выбранной задачи. Встроенные пайлоады более стабильны, чем некоторые другие, потому что они содержат все инструменты в одном файле. Однако есть эксплойты, которые не поддерживают полученный размер этих полезных нагрузок, в результате компиляции.
Meterpreter
· Короткая форма мета-интерпретатора, которая является передовой на данный момент, а так же многогранной в плане применения. Работает с помощью инъекции DLL. Meterpreter полностью находится в памяти удаленного хоста и не оставляет никаких данных на жестком диске. Что делает его трудно обнаружимой для инструментов форензики. Сценарии и плагины могут, быть загружены и выгружены динамически по мере необходимости, а развитие Meterpreter продолжается до сих пор.
No NX
· Атрибут (бит) NX-Bit (no execute bit) или XD-Bit — бит запрета исполнения, добавленный в страницы памяти для реализации возможности предотвращения выполнения данных как кода. В современных компьютерных системах память разделяется на страницы, имеющие определённые атрибуты, разработчики процессоров добавили ещё один: запрет исполнения кода на странице. Такая страница может быть использована для хранения данных, но не кода. Используется для предотвращения уязвимостей типа «переполнение буфера», позволяющих выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки (DEP) со стороны ядра операционной системы. Полезная нагрузка Metasploit NoNX предназначена для обхода DEP.
DEP, в свою очередь, это - функция предотвращения выполнения данных. Выглядит как комплекс программных и аппаратных технологий, который выполняют дополнительные проверки содержимого оперативной памяти на наличие в ней вредоносного кода, и препятствующие его выполнению. Функция DEP позволяет избежать целого класса атак. В частности, DEP позволяет блокировать вирусы и другие вредоносные программы, пытающихся выполнить свой код из областей системной памяти, резервированных для ОС и программ.
Ord
· Порядковые полезные нагрузки, ориентированные на Windows. Имеют свои преимущества и недостатки. К преимуществам можно отнести, то, что они работают на любой версии Windows, начиная с Windows 9x версий. Так же их размер чрезвычайно мал. Есть две негативные особенности использования данных нагрузок. Первая это, то, что они менее стабильны своих собратьев, а вторая это то, что ws2_32.dll загружается в процесс (в память), до того как сработает механизм эксплоита.
IPv6
· Полезная нагрузка Metasploit IPv6, как следует из названия, собраны для функционирования в сетях IPv6.
IPv6 - это интернет - протокол шестой версии, называемый иначе как IPng. IPng - это аббревиатура, расшифровывается как Интернет-протокол следующего поколения. Он является преемником IPv4 и предназначен для, так сказать, «расширения» интернета в отношении объема передаваемых данных и количества подключенных хостов.
Reflective DLL injection
· Рефлективные DLL инъекции – это метод, с помощью которого, полезная нагрузка выполняется в памяти целевого хоста, не касаясь жесткого диска. VNC и Meterpreter работают используя рефлективные DLL инъекции.
В следующей части мы коснемся генерации этих полезных нагрузок. Спасибо за внимание.