Основы навигации в консоли Metasploit

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

Введение

Добро пожаловать в мир Metasploit! Metasploit Framework — это мощный инструмент, используемый специалистами по безопасности для тестирования на проникновение (penetration testing) и оценки уязвимостей (vulnerability assessment). В основе фреймворка лежит Metasploit Console, или msfconsole, — интерактивный интерфейс командной строки, который предоставляет доступ к обширному набору модулей, эксплойтов и полезных нагрузок (payloads) фреймворка.

В этой лабораторной работе вы изучите основные команды для навигации по msfconsole. Освоение этих основ — первый шаг к эффективному использованию Metasploit. Мы рассмотрим, как получить справку, управлять проектами с помощью рабочих пространств (workspaces), искать модули, просматривать подробную информацию о них и корректно завершать работу консоли.

Давайте начнем с запуска консоли.

Изучение основных команд с помощью команды help

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

Сначала давайте запустим Metasploit Console. Мы будем использовать флаг -q (quiet, тихий режим), чтобы пропустить стартовый баннер и получить более чистый интерфейс.

Выполните следующую команду в вашем терминале:

msfconsole -q

Вы заметите, что приглашение командной строки изменится на msf >, что указывает на то, что вы находитесь внутри Metasploit Console.

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

help

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

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Help menu
    banner        Display an awesome metasploit banner
    cd            Change the current working directory
    color         Toggle color output
    connect       Communicate with a host
    ...

Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Displays advanced options for a module
    back          Move back from the current context
    info          Displays information about a module
    ...

Вы также можете получить подробную справку по конкретной команде. Например, чтобы узнать больше о команде search, вы можете ввести help search.

help search

Это отобразит синтаксис и опции для команды search.

Usage: search [options] <keywords>

Search for modules, plugins, and other framework objects.

OPTIONS:

    -h, --help             Help banner.
    -o <file>, --output <file>  Send output to a file in csv format.
    -S <string>, --search <string>  Search string for row filtering.
    -t <type>, --type <type>  The type of module to search for (exploit, payload, auxiliary, etc)
...

Не стесняйтесь изучить другие команды с помощью help, прежде чем переходить к следующему шагу.

Просмотр управления рабочими пространствами с помощью команды workspace

На этом шаге вы узнаете о рабочих пространствах (workspaces). Рабочие пространства — это способ организации вашей работы в Metasploit. Каждое рабочее пространство представляет собой автономную среду, которая хранит информацию о хостах, службах, уязвимостях и собранных данных (loot) для конкретного задания (engagement). Это невероятно полезно для разделения различных проектов по тестированию на проникновение.

По умолчанию вы находитесь в рабочем пространстве default. Вы можете просмотреть текущее и доступные рабочие пространства, используя команду workspace.

workspace

Вывод покажет вам доступные рабочие пространства, а звездочка * будет указывать на то, в каком из них вы находитесь в данный момент.

* default

Давайте создадим новое рабочее пространство для нашего проекта. Назовем его myproject. Флаг -a используется для добавления нового рабочего пространства.

workspace -a myproject

Metasploit подтвердит создание и автоматически переключит вас на новое рабочее пространство.

[*] Added workspace: myproject
[*] Workspace: myproject

Теперь, если вы снова выведете список рабочих пространств, вы увидите и default, и myproject, причем myproject будет активным.

workspace
  default
* myproject

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

На этом шаге вы узнаете, как находить модули с помощью команды search. Metasploit Framework содержит тысячи модулей, которые являются основными компонентами, используемыми для выполнения действий. К ним относятся эксплойты, вспомогательные сканеры (auxiliary), полезные нагрузки (payloads) и многое другое. Команда search необходима для поиска подходящего инструмента для поставленной задачи.

Вы можете искать модули по ключевым словам. Например, давайте поищем модули, связанные с smb (Server Message Block) — распространенным сетевым протоколом.

search smb

Результатом будет длинный список соответствующих модулей. Результаты отображаются в таблице с несколькими столбцами:

  • #: Порядковый номер результата.
  • Name: Полный путь и имя модуля.
  • Disclosure Date: Дата публичного раскрытия уязвимости.
  • Rank: Надежность эксплойта, от low (низкая) до excellent (отличная).
  • Check: Указывает, имеет ли модуль метод check для безопасной проверки на наличие уязвимости.
  • Description: Краткое описание того, что делает модуль.
Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   auxiliary/admin/smb/impacket/secretsdump  2021-11-09       normal     No     SMB Secrets Dump
   1   auxiliary/admin/smb/psexec_ntdsgrab       2021-11-09       normal     No     PsExec NTDSGRAB
   ...
   58  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average    Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   ...

Вы можете уточнить свой поиск, используя такие ключевые слова, как type (тип), platform (платформа), name (имя) и т. д. Например, чтобы найти только модули типа exploit для платформы windows, связанные с smb, вы можете использовать следующую команду:

search type:exploit platform:windows smb

Это даст вам гораздо более сфокусированный список результатов, что упростит поиск нужного эксплойта.

Отображение информации о модуле с помощью команды info

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

Сначала вам нужно выбрать модуль для работы. Это делается с помощью команды use с последующим полным именем модуля из результатов поиска. Давайте выберем известный эксплойт eternalblue.

use exploit/windows/smb/ms17_010_eternalblue

Обратите внимание, что ваш приглашение (prompt) изменилось. Теперь оно включает имя активного модуля, что указывает на то, что вы находитесь в его контексте.

msf exploit(windows/smb/ms17_010_eternalblue) >

Теперь, когда модуль выбран, вы можете получить о нем подробную информацию с помощью команды info.

info

Эта команда отображает исчерпывающий обзор модуля, включая:

  • Name (Имя), Module (Модуль), Platform (Платформа), Arch (Архитектура)
  • Privileged: Требуются ли специальные разрешения.
  • License (Лицензия) и Rank (Ранг)
  • Provided by: Авторы модуля.
  • Available targets: Конкретные операционные системы или приложения, на которые он нацелен.
  • Basic options (Базовые опции): Параметры, которые необходимо настроить, такие как IP-адрес цели (RHOSTS).
  • Payload information (Информация о полезной нагрузке): Типы полезных нагрузок, которые он может доставить.
  • Description (Описание): Подробное объяснение уязвимости.
  • References (Ссылки): Ссылки на бюллетени и статьи (CVE, BID и т. д.).
       Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
     Module: exploit/windows/smb/ms17_010_eternalblue
   Platform: Windows
       Arch: x86, x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Average
...

Basic options:
  Name      Current Setting  Required  Description
  ----      ---------------  --------  -----------
  RHOSTS                     yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT     445              yes       The target port (TCP)
  SMBDomain .                no        (Optional) The Windows domain to use for authentication
...

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

Выход из консоли с помощью команды exit

На этом заключительном шаге вы узнаете, как корректно выйти из консоли Metasploit. Хотя вы можете закрыть окно терминала или использовать Ctrl+C, рекомендуемый способ покинуть msfconsole — это команда exit.

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

Прежде чем выйти, вы можете вернуться к основному приглашению msfconsole из контекста модуля, используя команду back.

back

Ваше приглашение вернется к стандартному виду msf >.

Теперь, чтобы полностью выйти из консоли, просто введите exit.

exit

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

labex:project$

На этом наш базовый обзор навигации по консоли Metasploit завершен.

Резюме

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

В этой лабораторной работе вы научились выполнять самые основные операции внутри msfconsole:

  • Запуск консоли и использование команды help для обнаружения и изучения других команд.
  • Организация ваших проектов с помощью команды workspace для создания и управления отдельными средами.
  • Поиск модулей для любой задачи с помощью мощной команды search и ее фильтров.
  • Изучение деталей модуля, его опций и целей с помощью команды info.
  • Корректное завершение работы фреймворка с помощью команды exit.

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