Хакинг

Metasploit для начинающего хакера. Payloads ( Часть 3)

Содержание:

С возвращением, мои начинающие хакеры!

Как вы знаете, Metasploit — это эксплуатационный фреймворк, в котором каждый хакер должен уметь работать.

Metasploit позволяет нам использовать предварительно написанные эксплоиты против известных уязвимостей в операционных системах, браузерах и других приложениях, а также размещать на целевой системе некоторый код, который иногда называют руткитами (rootkit

), «слушателями» (listener) или полезными нагрузками (payload). Payload’ы позволяют нам подключаться к целевой системе и использовать ее как нашу собственную, после того как мы воспользуемся уязвимостью в этой системе. В этой статье мы рассмотрим те payload, которые встроены в Metasploit
.

Metasploit имеет множество различных типов payload, которые можно оставить в целевой системе. Мы уже знакомы с generic, shell, reverse_tcp и payload‘ами windows, meterpreter, reverse_tcp, и уже использовали их в нескольких хаках. Теперь рассмотрим, как работают payload, классификации и типы payload в Metasploit. Мы надеемся, это поможет вам выбрать подходящий payload

для вашего хака.

Шаг 1. Запустите Kali Linux и откройте Metasploit

Мы видим, что Metasploit вывел нам список эксплойтов, вспомогательных модулей, модулей пост-эксплуатации, payload-модулей, кодировщиков и nops («No operation» — команда ничего не делать).

На скриншоте ниже видно, что в текущей версии Metasploit есть 335 payload (у вас это количество может отличаться в зависимости от того, какую версию вы используете). Это огромное количество payload, которое можно использовать в различных ситуациях.

Когда мы вводим в консоль:

msf > show payloads

Metasploit показывает 335 payload‘ов, как на скриншоте ниже.

Шаг 2. Типы payload

Эти 335 payload‘ов разделены на 8 типов.

Inline

Эти payload представляют собой единый пакет, состоящий из эксплоита и payload. Они более стабильны, но из-за своего размера не всегда могут использоваться в небольших уязвимых областях памяти.

Staged

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

Meterpreter

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

PassiveX

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

NoNX

В некоторых процессорах есть встроенная функция безопасности, называемая DEP (Data Execution Prevention — предотвращение выполнения данных). В Windows это называется No eXecute или NX. Задача этой функции — не допустить, чтобы данные поступали в центральный процессор и им выполнялись. Задача payload NoNX — обойти эту функцию.

Ord

Эти типы payload работают со всеми операционными системами Windows. Они чрезвычайно малы, но несколько нестабильны. Их работа заключается в загрузке DLL (динамически подключаемых библиотек) в эксплуатируемый процесс.

IPv6

Эти payload, как и следует из названия, предназначены для работы в сетях IPv6.

Reflective DLL Injection («Отражающая DLL-инъекция»)

Эти payload-модули вводятся прямо в целевой процесс, в то время, когда он запущен в память, тем самым никогда ничего не записывая на жесткий диск и не оставляя следов.

Шаг 3. Payload-модули

Если мы посмотрим в директории Metasploit в терминале Kali Linux, мы увидим, что Metasploit делит свои payload‘ы на три типа. Очевидно, что восемь перечисленных выше типов объединены в эти три директории внутри самого Metasploit‘а.

kali > cd /usr/share/metasploit-framework/modules/payloads
 kali > ls -l

Staged

Выполняемые поэтапно payload используют крохотные модули Stagers (см. ниже), чтобы встроиться в небольшие эксплуатируемые нами участки памяти. Другими словами, если буфер эксплуатации системы жертвы или другая область памяти очень мала и позволяет выполнить только очень небольшой код, то сначала в область памяти внедряется небольшой Stager-модуль. После того, как он внедрится, он начинает работать как плацдарм для «вытягивания» остального payload‘а.

В свою очередь эти крупные Staged payload’ы включают еще более сложные payload-модули, такие как Meterpreter и VNC Injection, каждый из которых имеет большой и сложный код. Как правило, имя Staged payload вставляется в имя основного payload между символами «/». Например, как это сделано в payload windows/shell/tcp_bind, где «Tcp_bind» — это «Stager» (см. ниже), а «shell» — это «Staged».

К сожалению, это соглашение не используется последовательно в Metasploit, поэтому часто нужно переходить в раздел «info» конкретного payload или искать директорию, в которой он находится, чтобы определить, является ли он Staged payload.

Stagers

Stagers — небольшие payload, единственная задача которых заключается в том, чтобы внедриться в небольшую область памяти, а затем «вытащить» большой Staged payload-модуль. Это похоже на то, как если бы они «установили флаг» на системе-жертве, а затем начали бы загружать больший по размерам payload.

Singles

Часто их называют «встроенными полезными нагрузками» (Inline payloads). Cинглы — самодостаточные сущности, для которых не требуется Stager. Они, как правило, более стабильны и их использование предпочтительно, но во многих случаях их код слишком велик для уязвимой области памяти в целевой системе.

Давайте посмотрим в директорию этих синглов.

kali > cd singles
 kali > ls -l

Как мы видим, синглы разделены по типам уязвимых платформ. Если мы хотим увидеть те синглы, которые доступны для платформы Windows, мы просто вводим:

kali > cd windows
 kali > ls -l

Внутри этой директории мы видим все синглы, доступные для Windows. Мы выделили один из них — shell_reverse_tcp, это тот, который мы использовали во многих наших хаках.

Payload являются ключевой частью инфраструктуры Metasploit и предоставляют доступ к системе после завершения работы эксплоита. Чем лучше мы их понимаем, тем круче мы будем как хакеры.

Вот и все. Обязательно посмотрите нашу серию постов про Основы Metasploit (1 , 2).
До новых встреч, мои хакеры!

HelpUAdmin

Recent Posts

Windows 10 стала работать медленнее после установки обновления? Исправим это

Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…

3 года ago

Описание приложения-чата по приглашениям Clubhouse

Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…

3 года ago

Изменение почтового клиента по умолчанию в iOS 14 на Outlook, Spark, Gmail и другие

Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…

4 года ago

Включение пузырей уведомлений в чатах на Android 11

В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…

4 года ago

Как настроить беспроводную отладку в Android 11

От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…

4 года ago

Главные проблемы Android 11 Beta и следует ли устанавливать её

Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…

4 года ago