Skip to main content

Payloads

Нагрузка (payload) — часть эксплойта, выполняющаяся после успешной эксплуатации системы. Типы эксплойтов: 

  • одиночные (Singles)
  • комплексные (Stagers) 
  • поэтапные (Stages)  

Например, windows/shell_bind_tcp представляет собой единую полезную нагрузку без этапа, тогда как windows/shell/bind_tcp состоит из этапа (bind_tcp) и этапа (shell).

Генерация полезной нагрузки

Разобраться: как потом добавлять сгенерированную нагрузку в эксплоит. 

Переходим в payload. Генерация командой generate. Опции: 

-EУскоренное кодирование
-bСписок символов для исключения '\x00\xff'. Например 
msf  payload(shell_bind_tcp) > generate -b '\x00'

При большом наборе исключаемых символов возможна ошибка "Payload generation failed: No encoders encoded the buffer successfully.". Это означает, что не найден энкодер для данного набора.

-eЭнкодер По умолчанию происходит автоматический поиск наиболее подходящего энкодера. Выбор зависит от списка символов для исключения.
-iКоличество итераций энкодера.
-oРазделенные запятыми параметры в виде парам=знач
-pПлатформа
-sКоличество добавляемых NOP
-fИмя файла. По умолчанию вывод в консоль.
-tФормат выходного файла: raw,ruby,rb,perl,pl,c,js_be,js_le,java,dll,exe,exe-small,elf,macho,vba,vbs,loop-vbs,asp,war
-xШаблон используемого исполняемого файла
-kСохранять функциональность используемого шаблона