Поиск и выбор модулей Metasploit

LinuxBeginner
Практиковаться сейчас

Введение

Добро пожаловать в мир Metasploit! Metasploit Framework — это невероятно мощный инструмент с открытым исходным кодом, используемый специалистами по кибербезопасности для разработки, тестирования и выполнения эксплойтов (exploits). Он содержит обширную базу данных модулей, которые представляют собой фрагменты кода, используемые для выполнения различных задач тестирования на проникновение (penetration testing). Эти модули включают эксплойты, полезные нагрузки (payloads) и вспомогательные инструменты (auxiliary tools).

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

На этом шаге вы научитесь использовать команду search для поиска модулей в Metasploit Framework. Команда search — ваш основной инструмент для навигации по тысячам доступных модулей.

Сначала запустим консоль Metasploit Framework. Запуск может занять некоторое время.

msfconsole

Вы увидите баннер и командную строку Metasploit, которая выглядит как msf >. Все последующие команды в этой лабораторной работе будут выполняться внутри этой консоли.

Чтобы сделать поиск более эффективным, вы можете использовать ключевые слова для фильтрации результатов. Одним из наиболее распространенных ключевых слов является type, которое позволяет указать тип искомого модуля (например, exploit, payload, auxiliary).

Давайте поищем все модули, классифицированные как эксплойты. Введите следующую команду в консоли Metasploit:

search type:exploit

Вы увидите длинный список доступных эксплойтов. Вывод организован по столбцам:

  • #: Индексный номер результата поиска.
  • Name: Полный путь и имя модуля.
  • Disclosure Date: Дата публичного раскрытия уязвимости.
  • Rank: Надежность эксплойта, от low (низкая) до excellent (отличная).
  • Check: Указывает, может ли модуль проверить, уязвим ли целевой объект, без его эксплуатации.
  • Description: Краткое описание того, что делает модуль.
msf > search type:exploit

Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   exploit/windows/local/adobe_sandbox_esc  2011-04-15       excellent  No     Adobe Reader/Acrobat "Movie" Annotation Sandbox Escape
   1   exploit/windows/fileformat/acdsee_pica   2011-01-12       good       No     ACDSee PicaView 2.0 EML File Parsing Buffer Overflow
   ... (вывод обрезан) ...

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

На этом шаге вы научитесь уточнять результаты поиска. Предыдущий поиск вернул тысячи эксплойтов для множества различных операционных систем. Чтобы найти релевантный эксплойт, вам необходимо добавить больше фильтров.

Ключевое слово platform позволяет фильтровать модули на основе целевой операционной системы, такой как windows, linux, osx или android. Вы можете комбинировать несколько ключевых слов в одной команде search для создания очень специфичного запроса.

Давайте поищем эксплойты, специально разработанные для платформы Linux.

search type:exploit platform:linux

Теперь вывод будет представлять собой гораздо более короткий и управляемый список эксплойтов, релевантных для систем Linux.

msf > search type:exploit platform:linux

Matching Modules
================

   ##   Name                                          Disclosure Date  Rank     Check  Description
   -   ----                                          ---------------  ----     -----  -----------
   0   exploit/linux/http/advantech_switch_bash_env_exec 2014-09-24       excellent  Yes    Advantech Switch Bash Environment Variable Code Injection (Shellshock)
   1   exploit/linux/http/airties_login_cgi_bof      2012-01-17       excellent  No     AirTies login.cgi Buffer Overflow
   ... (вывод обрезан) ...

Комбинируя ключевые слова, вы можете быстро найти именно тот модуль, который вам нужен для конкретной цели.

Использование модуля эксплойта с помощью use exploit/multi/handler

На этом шаге вы выберете модуль для работы. После того как вы нашли модуль с помощью команды search, вам необходимо загрузить его в контекст фреймворка, используя команду use.

Команда use принимает в качестве аргумента полное имя модуля. Вы можете скопировать это имя прямо из результатов поиска.

Для этой лабораторной работы мы выберем специальный и очень распространенный модуль: exploit/multi/handler. Этот модуль не является типичным эксплойтом, нацеленным на конкретную уязвимость. Вместо этого это универсальный слушатель (listener), который ожидает входящего соединения от полезной нагрузки (payload), запущенной на целевой машине. Это фундаментальный инструмент для перехвата обратных шеллов (reverse shells).

Загрузите модуль-обработчик (handler) следующей командой:

use exploit/multi/handler

После выполнения команды вы заметите, что командная строка изменилась.

msf > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf exploit(multi/handler) >

Командная строка msf exploit(multi/handler) > указывает на то, что вы теперь находитесь в контексте модуля exploit/multi/handler. Любые команды, которые вы введете сейчас, например, установка опций, будут применяться к этому конкретному модулю.

Проверка опций модуля с помощью show options

На этом шаге вы узнаете, как просматривать настраиваемые параметры для выбранного модуля. Каждый модуль имеет набор опций, которые вам может потребоваться настроить перед его запуском. Эти опции определяют поведение модуля, например, IP-адрес цели или порт для прослушивания.

Команда show options отображает все доступные опции для текущего загруженного модуля.

Теперь, когда вы находитесь в контексте exploit/multi/handler, выполните следующую команду:

show options

В выводе будет перечислены опции модуля, а также их текущие настройки и описания.

msf exploit(multi/handler) > show options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------

Payload options (generic/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target

Обратите пристальное внимание на столбец Required (Обязательно). Любая опция, помеченная как yes, должна быть установлена, прежде чем вы сможете запустить модуль. Для multi/handler требуются LHOST (адрес прослушивания) и LPORT (порт прослушивания). LHOST — это IP-адрес, на котором будет прослушивать ваша машина, а LPORT — это порт.

Установка базовых опций с помощью set LHOST

На этом шаге вы узнаете, как настроить опции модуля с помощью команды set. Эта команда позволяет присваивать значения параметрам, которые вы видели с помощью show options.

Общий синтаксис: set <ИМЯ_ОПЦИИ> <ЗНАЧЕНИЕ>.

Для модуля multi/handler самой важной опцией для настройки является LHOST, что означает "Listen Host" (Адрес прослушивания). Это указывает IP-адрес, на котором обработчик будет ожидать входящих соединений от полезных нагрузок.

Давайте установим опцию LHOST на адрес обратного цикла (loopback address) 127.0.0.1, чтобы обработчик прослушивал локальную машину.

set LHOST 127.0.0.1

Metasploit подтвердит изменение:

LHOST => 127.0.0.1

Вы можете убедиться, что опция обновлена, снова выполнив show options. Вы увидите 127.0.0.1, указанный в качестве Current Setting (Текущей настройки) для LHOST. Эта простая команда set — это то, как вы будете настраивать все модули перед запуском атаки.

Чтобы выйти из консоли Metasploit, вы можете ввести exit.

exit

Резюме

Поздравляем с завершением этой лабораторной работы! Вы изучили основные первые шаги по работе с Metasploit Framework.

Теперь вы знаете, как:

  • Запускать консоль Metasploit (msfconsole).
  • Искать модули с помощью команды search и фильтровать их по type (тип) и platform (платформа).
  • Выбирать конкретный модуль для использования с помощью команды use.
  • Просматривать настраиваемые параметры модуля с помощью show options.
  • Настраивать параметры модуля с помощью команды set (например, установка LHOST для слушателей).

Эти команды составляют основной рабочий процесс для любой задачи, которую вы будете выполнять в Metasploit. Овладение ими является ключом к эффективному использованию этого мощного инструмента для тестирования на проникновение.