Добро пожаловать обратно, мои нежные хакеры!
Как вы знаете, Metasploit — это фреймворк для эксплуатации уязвимостей, который должен быть знаком и уметь использовать каждый хакер. Это один из моих любимых хакерских инструментов.
Metasploit позволяет нам использовать готовые эксплойты против известных уязвимостей в операционных системах, браузерах и других приложениях, а также размещать руткит/прослушиватель/полезную нагрузку в целевой системе. Именно эти полезные нагрузки позволяют нам подключаться к системе-жертве и использовать её как свою собственную после эксплуатации уязвимости. В этом руководстве мы рассмотрим исключительно полезные нагрузки, встроенные в Metasploit.
Metasploit предлагает множество типов полезных нагрузок, которые можно оставить на целевой системе. Мы наиболее знакомы с полезными нагрузками generic/shell/reverse_tcp и windows/meterpreter/reverse_tcp, поскольку ранее использовали их в нескольких взломах.
В этом руководстве мы рассмотрим, как работают полезные нагрузки, как Metasploit их классифицирует и какие типы полезных нагрузок бывают. Надеюсь, это понимание поможет вам лучше выбрать подходящую полезную нагрузку для вашего взлома.
Давайте подробнее рассмотрим эти полезные данные в Metasploit.
Шаг 1 : Запустите Kali Linux и откройте Metasploit
Когда мы открываем консоль Metasploit в Kali Linux, мы сразу видим, что Metasploit выводит список эксплойтов, вспомогательных модулей, модулей пост-эксплуатации, модулей полезной нагрузки, кодеров и nop-команд.
kali > msfconsole
На скриншоте ниже обратите внимание, что в текущей версии Metasploit имеется 455 полезных нагрузок (в вашей версии они могут немного отличаться в зависимости от версии Metasploit). Это огромное количество полезных нагрузок, которые можно использовать в самых разных ситуациях.
Теперь, когда мы набираем:
msf > показать полезные данные
Metasploit перечисляет все 455 полезных нагрузок, как показано ниже.
Шаг 2: Типы полезной нагрузки
Среди этих 455 полезных нагрузок в Metasploit имеется 8 типов.
В соответствии
Эти полезные нагрузки представляют собой единый пакет эксплойта и полезной нагрузки. Они изначально более стабильны, но из-за своего размера их не всегда можно использовать в небольших уязвимых областях памяти.
Постановочный
Эти полезные нагрузки по сути способны помещаться в очень ограниченном пространстве и закрепляться в системе, а затем вытягивать остальную полезную нагрузку.
Meterpreter
Это мощная вредоносная нагрузка, которую мы чаще всего хотим видеть в системе-жертве. Она работает путём внедрения DLL-файла и находится исключительно в памяти, не оставляя следов своего существования на жёстком диске или в файловой системе. Для неё разработан ряд специальных команд и скриптов , что позволяет нам практически полностью контролировать систему-жертву.
PassiveX
Эта полезная нагрузка используется, когда правила брандмауэра ограничивают исходящий трафик. По сути, она использует ActiveX через Internet Explorer, чтобы скрыть исходящий трафик и обойти брандмауэр, используя HTTP-запросы, и отвечает так же, как любой браузер.
NoNX
В некоторых процессорах есть встроенная функция безопасности DEP (Data Execution Prevention). В Windows она называется N o e X ecute, или NX. Идея этой функции безопасности заключается в том, чтобы предотвратить передачу данных на процессор и их выполнение (распространённый метод эксплойтов). Полезные нагрузки NoNX предназначены для обхода этой функции безопасности современных процессоров.
IPv6
Эти полезные нагрузки, как следует из них, предназначены для работы в сетях IPv6.
Рефлексивная инъекция DLL
Эти модули полезной нагрузки внедряются непосредственно в целевой процесс, пока он выполняется в памяти, тем самым не записывая ничего на жесткий диск и не оставляя практически никаких улик.
Шаг 3: Модули полезной нагрузки
Если мы посмотрим на каталог Metasploit в терминале Linux в Kali, то увидим, что Metasploit классифицирует свои полезные нагрузки по трём различным типам. Очевидно, что восемь перечисленных выше типов объединены в Metasploit в эти три каталога.
Давайте заглянем в каталог полезных нагрузок.
kali > cd /usr/share/metasploit-framework/modules/payloads
кали > ls -l
Как видите, Rapid7 делит модули полезной нагрузки на три (3) типа.
Этапы
В промежуточных полезных нагрузках используются миниатюрные стейджеры (см. ниже), чтобы они помещались в небольшие области эксплуатации. Другими словами, если буфер эксплуатации или другая область памяти системы жертвы очень малы и позволяют выполнить лишь небольшой фрагмент кода, сначала в эту область памяти помещается небольшой стейджер. Затем, после того как стейджер закрепится в системе жертвы, он «подтягивает» остальную полезную нагрузку.
Эти более крупные промежуточные полезные нагрузки включают такие сложные полезные нагрузки, как Meterpreter и VNC Injection, которые содержат большой и сложный код. Как правило, имя промежуточной полезной нагрузки разбивается на «/», например, как в файле windows/shell/tcp_bind . «tcp_bind» — это промежуточный этап (см. ниже), а «shell» — промежуточный этап.
К сожалению, это соглашение не используется последовательно в Metasploit, поэтому часто приходится переходить к разделу «info» полезной нагрузки или находить каталог, в котором она находится, чтобы определить, является ли она подготовленной полезной нагрузкой.
Стейджеры
Стейджеры — это небольшие полезные нагрузки, единственная задача которых — поместиться в небольшую область памяти и затем «подтянуть» более крупную промежуточную полезную нагрузку. Они как бы «устанавливают флаг» на жертве, а затем позволяют загрузить более крупную полезную нагрузку.
Одиночки
Синглы, часто называемые «встроенными полезными нагрузками», представляют собой самостоятельные блоки, не требующие стейджера. Они, как правило, более стабильны и предпочтительны, но зачастую код слишком велик для уязвимой области памяти в системе-жертве.
Давайте теперь заглянем в этот каталог одиночек.
кали > cd singles
кали > ls -l
Как мы видим, синглы разбиты по уязвимым платформам. Чтобы увидеть синглы, доступные для платформы Windows, просто введите:
kali > cd windows
кали > ls -l
Внутри этого каталога находятся все отдельные полезные нагрузки, доступные для Windows. В их число входят такие задачи, как adduser, format_all_drives, некоторые полезные нагрузки meterpreter и powershell_bind.
Краткое содержание
Полезные данные — ключевая часть инфраструктуры Metasploit, которая обеспечивает нам доступ после завершения эксплойта. Чем лучше мы их понимаем, тем более успешными хакерами мы станем.
Как вы знаете, Metasploit — это фреймворк для эксплуатации уязвимостей, который должен быть знаком и уметь использовать каждый хакер. Это один из моих любимых хакерских инструментов.
Metasploit позволяет нам использовать готовые эксплойты против известных уязвимостей в операционных системах, браузерах и других приложениях, а также размещать руткит/прослушиватель/полезную нагрузку в целевой системе. Именно эти полезные нагрузки позволяют нам подключаться к системе-жертве и использовать её как свою собственную после эксплуатации уязвимости. В этом руководстве мы рассмотрим исключительно полезные нагрузки, встроенные в Metasploit.
Metasploit предлагает множество типов полезных нагрузок, которые можно оставить на целевой системе. Мы наиболее знакомы с полезными нагрузками generic/shell/reverse_tcp и windows/meterpreter/reverse_tcp, поскольку ранее использовали их в нескольких взломах.
В этом руководстве мы рассмотрим, как работают полезные нагрузки, как Metasploit их классифицирует и какие типы полезных нагрузок бывают. Надеюсь, это понимание поможет вам лучше выбрать подходящую полезную нагрузку для вашего взлома.
Давайте подробнее рассмотрим эти полезные данные в Metasploit.
Шаг 1 : Запустите Kali Linux и откройте Metasploit
Когда мы открываем консоль Metasploit в Kali Linux, мы сразу видим, что Metasploit выводит список эксплойтов, вспомогательных модулей, модулей пост-эксплуатации, модулей полезной нагрузки, кодеров и nop-команд.
kali > msfconsole
На скриншоте ниже обратите внимание, что в текущей версии Metasploit имеется 455 полезных нагрузок (в вашей версии они могут немного отличаться в зависимости от версии Metasploit). Это огромное количество полезных нагрузок, которые можно использовать в самых разных ситуациях.
Теперь, когда мы набираем:
msf > показать полезные данные
Metasploit перечисляет все 455 полезных нагрузок, как показано ниже.
Шаг 2: Типы полезной нагрузки
Среди этих 455 полезных нагрузок в Metasploit имеется 8 типов.
В соответствии
Эти полезные нагрузки представляют собой единый пакет эксплойта и полезной нагрузки. Они изначально более стабильны, но из-за своего размера их не всегда можно использовать в небольших уязвимых областях памяти.
Постановочный
Эти полезные нагрузки по сути способны помещаться в очень ограниченном пространстве и закрепляться в системе, а затем вытягивать остальную полезную нагрузку.
Meterpreter
Это мощная вредоносная нагрузка, которую мы чаще всего хотим видеть в системе-жертве. Она работает путём внедрения DLL-файла и находится исключительно в памяти, не оставляя следов своего существования на жёстком диске или в файловой системе. Для неё разработан ряд специальных команд и скриптов , что позволяет нам практически полностью контролировать систему-жертву.
PassiveX
Эта полезная нагрузка используется, когда правила брандмауэра ограничивают исходящий трафик. По сути, она использует ActiveX через Internet Explorer, чтобы скрыть исходящий трафик и обойти брандмауэр, используя HTTP-запросы, и отвечает так же, как любой браузер.
NoNX
В некоторых процессорах есть встроенная функция безопасности DEP (Data Execution Prevention). В Windows она называется N o e X ecute, или NX. Идея этой функции безопасности заключается в том, чтобы предотвратить передачу данных на процессор и их выполнение (распространённый метод эксплойтов). Полезные нагрузки NoNX предназначены для обхода этой функции безопасности современных процессоров.
Орд
Подобные полезные нагрузки работают практически во всех операционных системах Windows. Они очень малы по размеру, но довольно нестабильны. Они зависят от загрузки DLL-файла (динамически подключаемой библиотеки) в эксплуатируемый процесс.IPv6
Эти полезные нагрузки, как следует из них, предназначены для работы в сетях IPv6.
Рефлексивная инъекция DLL
Эти модули полезной нагрузки внедряются непосредственно в целевой процесс, пока он выполняется в памяти, тем самым не записывая ничего на жесткий диск и не оставляя практически никаких улик.
Шаг 3: Модули полезной нагрузки
Если мы посмотрим на каталог Metasploit в терминале Linux в Kali, то увидим, что Metasploit классифицирует свои полезные нагрузки по трём различным типам. Очевидно, что восемь перечисленных выше типов объединены в Metasploit в эти три каталога.
Давайте заглянем в каталог полезных нагрузок.
kali > cd /usr/share/metasploit-framework/modules/payloads
кали > ls -l
Как видите, Rapid7 делит модули полезной нагрузки на три (3) типа.
Этапы
В промежуточных полезных нагрузках используются миниатюрные стейджеры (см. ниже), чтобы они помещались в небольшие области эксплуатации. Другими словами, если буфер эксплуатации или другая область памяти системы жертвы очень малы и позволяют выполнить лишь небольшой фрагмент кода, сначала в эту область памяти помещается небольшой стейджер. Затем, после того как стейджер закрепится в системе жертвы, он «подтягивает» остальную полезную нагрузку.
Эти более крупные промежуточные полезные нагрузки включают такие сложные полезные нагрузки, как Meterpreter и VNC Injection, которые содержат большой и сложный код. Как правило, имя промежуточной полезной нагрузки разбивается на «/», например, как в файле windows/shell/tcp_bind . «tcp_bind» — это промежуточный этап (см. ниже), а «shell» — промежуточный этап.
К сожалению, это соглашение не используется последовательно в Metasploit, поэтому часто приходится переходить к разделу «info» полезной нагрузки или находить каталог, в котором она находится, чтобы определить, является ли она подготовленной полезной нагрузкой.
Стейджеры
Стейджеры — это небольшие полезные нагрузки, единственная задача которых — поместиться в небольшую область памяти и затем «подтянуть» более крупную промежуточную полезную нагрузку. Они как бы «устанавливают флаг» на жертве, а затем позволяют загрузить более крупную полезную нагрузку.
Одиночки
Синглы, часто называемые «встроенными полезными нагрузками», представляют собой самостоятельные блоки, не требующие стейджера. Они, как правило, более стабильны и предпочтительны, но зачастую код слишком велик для уязвимой области памяти в системе-жертве.
Давайте теперь заглянем в этот каталог одиночек.
кали > cd singles
кали > ls -l
Как мы видим, синглы разбиты по уязвимым платформам. Чтобы увидеть синглы, доступные для платформы Windows, просто введите:
kali > cd windows
кали > ls -l
Внутри этого каталога находятся все отдельные полезные нагрузки, доступные для Windows. В их число входят такие задачи, как adduser, format_all_drives, некоторые полезные нагрузки meterpreter и powershell_bind.
Краткое содержание
Полезные данные — ключевая часть инфраструктуры Metasploit, которая обеспечивает нам доступ после завершения эксплойта. Чем лучше мы их понимаем, тем более успешными хакерами мы станем.