Metasploit для начинающего хакера, часть 1

SpecIT

Well-known member
Пользователь
Регистрация
3 Фев 2025
Сообщения
58
Реакции
12
С этим руководством я начинаю последовательную и накопительную серию для изучения и использования Metasploit. Эта первая часть будет посвящена основам Metasploit.
Это будет быстрый и ознакомительный вводный урок по использованию одной из самых мощных хакерских платформ на планете.

Metasploit Справочная информация и установка​

Metasploit - это стандартизированный фреймворк для использования в тестах на проникновение (легальный взлом, чтобы найти уязвимости раньше, чем это сделают плохие парни) До появления Metasploit эксплойты и шелл-код разрабатывались различными разработчиками на разных языках для различных систем. Пентестеру пришлось полагаться на надежность разработчика, чтобы тот не загрузил вредоносный код, и узнать, как разработчик намеревался использовать эксплойт / шеллкод / инструмент. С Metasploit у пентестера есть стандартизированная структура для работы, из которой инструменты работают одинаково, и все они написаны на одном языке, что делает вещи намного проще и проще.

Способы использования Metasploit​

Metasploit можно получить доступ или использовать несколькими способами. Самым распространенным методом, который я использую, является интерактивная консоль Metasploit .
Это та, которая активируется путем ввода sudo msfconsole в командной строке в Kali. Есть также несколько других методов.
Вы должны быть зарегистрированы для просмотра вложений

Msfcli​

Во-первых, вы можете использовать Metasploit из командной строки или в режиме msfcli . Хотя кажется, что когда мы находимся в консоли, которую мы используем из командной строки, мы фактически используем интерактивную консоль
со специальными ключевыми словами и командами. Из msfcli мы фактически используем командную строку Linux.

Мы можем получить экран справки для msfcli, набрав:
> msfcli -h
Теперь для выполнения эксплойта из msfcli просто пишем:
> msfcli <the exploit> payload = <the payload> rhost = <IP> lhost = <IP> E
Где E - сокращение от execute(выполнения).
Недостаток использования msfcli заключается в том, что он не так хорошо поддерживается, как msfconsole, и вы ограничены одной оболочкой, что делает невозможным использование некоторых более сложных эксплойтов.

msfweb​

Интерфейс на основе браузера, почти никем не используется.

Модули​

Metasploit имеет шесть различных типов модулей. Это:
  1. payloads
  2. exploits
  3. post
  4. nops
  5. auxiliary
  6. encoders
  7. evasion
Payloads - это код, который мы оставим на взломанной системе. Некоторые люди называют его слушателем, руткитом и т.д. В Metasploit их называют полезными нагрузками. Эти полезные нагрузки включают в себя командные оболочки, Meterpreter и т.д. Полезные нагрузки могут быть поэтапными, встроенными, NoNX (в некоторых современных процессорах обходит функцию «Не выполнять»), PassiveX (обходит ограниченные правила исходящего брандмауэра) и IPv6.

Эксплойты - это шелл-код, который использует уязвимость или уязвимость системы. Они зависят от операционной системы, пакета обновления (SP), от службы, от порта и даже от приложения. Они классифицируются по операционной системе, поэтому эксплойт Windows не будет работать в операционной системе Linux и наоборот.

Post - это модули, которые мы можем использовать после эксплуатации системы.

NOPS сокращенно от No OPerationS . В процессорах x86 это обычно обозначается шестнадцатеричным 0x90. Это просто означает «ничего не делать». Это может иметь решающее значение при создании переполнения буфера. Мы можем просмотреть модули nops с помощью команды show .

> show nops
Вы должны быть зарегистрированы для просмотра вложений

Auxiliary включает в себя многочисленные модули (695), которые не вписываются ни в одну из других категорий. К ним относятся такие вещи, как fuzzers, сканеры, атаки на отказ в обслуживании и многое другое.

Encoders - это модули, которые позволяют нам кодировать наши полезные данные различными способами, чтобы обойти AV и другие устройства безопасности. Мы можем увидеть кодировщики, набрав:
> show encoders
Вы должны быть зарегистрированы для просмотра вложений

Как видите, в Metasploit встроено множество кодеров. Один из моих любимых - shikata_ga_nai , которая позволяет нам делать XOR полезной нагрузки, чтобы помочь сделать ее необнаружимой с помощью программного обеспечения AV и устройств безопасности.

Evasion - тот модуль позволяет вам создать Windows EXE-файл, который уклоняется от Защитника Windows. Для достижения этой цели используются различные методы, такие как шифрование шелл-кода, обфускация исходного кода, Metasm и анти-эмуляция. Этот модуль уклонения также использует рандомизацию кода, чтобы еще больше скрыть его намерения и избежать простого статического сканирования сигнатур.

Ключевые команды

Давайте посмотрим на некоторые из этих ключевых команд. Мы можем получить список команд, введя help в приглашении metasploit (msf5).

> help
Вы должны быть зарегистрированы для просмотра вложений

Обратите внимание, что мы можем получить доступ к этому меню помощи с "?".

> use
Команда «use» загружает модуль. Так, например, если бы я хотел загрузить модуль exploit/windows/browser/adobe_flash_avm2 (это эксплойт, использующий одну из многих уязвимостей в плагине Adobe Flash), я бы написал:

> use exploit/windows/browser/adobe_flash_avm2
Вы должны быть зарегистрированы для просмотра вложений

> show
Уже смотрели ранее.

После загрузки модуля команда show может быть очень полезна для сбора дополнительной информации о модуле. Чаще всего я использую три команды «show»: «show options», «show payloads» и «show target». Давайте сначала посмотрим на «show payloads».

> show payloads
Вы должны быть зарегистрированы для просмотра вложений

Эта команда, когда она используется после выбора вашего эксплойта, покажет вам все полезные нагрузки, которые совместимы с этим эксплойтом. Если вы выполните эту команду перед выбором эксплойта, она покажет вам ВСЕ полезные нагрузки, ОЧЕНЬ длинный список.

Как вы видите на скриншоте выше, команда show payloads перечислила все полезные нагрузки, которые будут работать с этим эксплойтом.

> show options
Вы должны быть зарегистрированы для просмотра вложений


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

> show targets
Вы должны быть зарегистрированы для просмотра вложений


Менее часто используемая команда - "показать цели". У каждого эксплойта есть список целей, с которыми он будет работать. Используя команду «show target», мы можем получить их список. В этом случае нацеливание происходит автоматически, но некоторые эксплойты имеют до 100 различных целей, и успех часто будет зависеть от выбора правильной. Эти цели могут быть определены операционной системой, пакетом обновления и языком, среди прочего.

> info
Команда info проста. Когда вы набираете ее после выбора модуля, он показывает вам ключевую информацию о модуле, включая параметры, которые необходимо установить, объем пространства полезной нагрузки (подробнее об этом в разделе полезных нагрузок) и описание модуля. Я обычно всегда запускаю его после выбора своего эксплойта.

> search
С тех пор как Metasploit 4 был выпущен, Metasploit добавил возможности поиска. Раньше вам приходилось использовать msfcli и grep для поиска модулей, которые вы искали, но теперь Rapid7 добавил поисковое ключевое слово и функции. Добавление возможности поиска было своевременным, так как Metasploit резко вырос, а простые поиски и поиск в grep были неадекватны для поиска, например, более 1400 эксплойтов.
Синтаксис для использования поиска - это ключевое слово, за которым следует двоеточие, а затем значение, например:
> search type:exploit

Например, если вы искали эксплойт (тип) для Windows (платформа) для Abobe Flash, мы могли бы напечатать;
> search type:exploit platform:windows flash
> set

Эта команда используется для установки параметров в выбранном вами модуле. Например, если мы посмотрим выше на команду show options , мы увидим множество параметров, которые должны быть установлены, такие как URIPATH, SVRHOST и SVRPORT . Мы можем установить любой из них с помощью команды set:
> set SRVPORT 80
> unset

Эта команда, как и следовало ожидать, отменяет ранее установленный параметр:
> unset SRVPORT
> exploit
Вы должны быть зарегистрированы для просмотра вложений

После того, как мы загрузили наш эксплойт и установили все необходимые опции, последнее действие - «эксплойт». Это отправляет эксплойт в целевую систему и, в случае успеха, устанавливает полезную нагрузку.

Как видно на этом снимке экрана, эксплойт запускается и выполняется как фоновое задание с обратным обработчиком на порту 4444.
Затем он запустил веб-сервер на хосте 0.0.0.0 на порту 80 со случайным URL-адресом. Мы могли бы выбрать конкретный URL и установить его, изменив переменную URIPATH с помощью команды set.

> exit

Команда exit, как и следовало ожидать, завершает msfconsole и возвращается в командную оболочку BASH.

Обратите внимание, что в этом случае он останавливает веб-сервер, который мы создали в этом эксплойте, и возвращает нас в командную строку Kali в оболочке BASH.

Это первый вводный урок в мир Metasploit, тема обширная и очень интересная, так как изучив только его, вы уже можете быть перспективным хакером, так что я постараюсь рассказать и показать вам как много больше
 
Сверху