Введение
Metasploit Framework — это мощный инструмент, используемый для тестирования на проникновение и исследований в области безопасности. Хотя его можно использовать и без базы данных, подключение к базе данных, такой как PostgreSQL, значительно расширяет его возможности. База данных позволяет хранить информацию о хостах, обнаруженных службах, уязвимостях и собранных доказательствах (loot). Это делает управление данными в рамках крупных оценок гораздо более эффективным.
В этой лаборатории вы изучите основные шаги по настройке и использованию базы данных Metasploit. Вы инициализируете службу базы данных, проверите соединение и научитесь использовать рабочие пространства (workspaces) для организации ваших проектов.
Инициализация базы данных Metasploit с помощью msfdb init
На этом шаге вы инициализируете базу данных Metasploit. Metasploit Framework включает удобный скрипт под названием msfdb для управления базой данных PostgreSQL. Команда init запустит службу PostgreSQL, создаст выделенную базу данных и пользователя для Metasploit, а также сохранит детали подключения, чтобы фреймворк мог использовать их автоматически.
Вам необходимо выполнить эту команду с помощью sudo, поскольку она управляет системными службами и создает пользователей базы данных.
Откройте терминал и выполните следующую команду:
sudo msfdb init
Вы увидите вывод, указывающий на инициализацию базы данных. Этот процесс может занять некоторое время. Вывод должен быть похож на следующий, подтверждая, что пользователь базы данных, база данных и конфигурационный файл были созданы.
[+] Starting database
[+] Creating database user 'msf'
[+] Creating database 'msf'
[+] Creating database 'msf_test'
[+] Creating configuration file '/home/labex/.msf4/database.yml'
[+] Creating initial database schema
Эту команду нужно выполнить только один раз. После этого база данных будет готова к использованию Metasploit.
Проверка статуса соединения с базой данных с помощью db_status
На этом шаге вы проверите, успешно ли Metasploit подключен к только что инициализированной базе данных. Для этого вам сначала нужно запустить консоль Metasploit Framework, которая является основным интерфейсом для взаимодействия с Metasploit.
Запустите консоль, набрав msfconsole в вашем терминале:
msfconsole
Через мгновение вы увидите приглашение msf6 >, указывающее на готовность консоли.
Теперь, чтобы проверить статус соединения с базой данных, используйте команду db_status внутри консоли Metasploit:
db_status
Если соединение успешно, вы увидите подтверждающее сообщение.
[*] postgresql connected to msf
Это подтверждает, что Metasploit правильно подключен к своей базе данных и готов к хранению данных. Пока что мы останемся внутри msfconsole для следующих шагов.
Создание нового рабочего пространства для проекта
На этом шаге вы узнаете, как создать новое рабочее пространство (workspace). Рабочие пространства являются одной из наиболее полезных функций базы данных Metasploit. Они действуют как отдельные контейнеры для ваших данных, позволяя полностью изолировать различные мероприятия по тестированию на проникновение или проекты друг от друга. По умолчанию вы начинаете в рабочем пространстве с именем default.
Для создания нового рабочего пространства используйте команду workspace с флагом -a (что означает "add" - добавить), за которым следует имя нового рабочего пространства. Давайте создадим рабочее пространство с именем project_alpha.
В приглашении msfconsole выполните следующую команду:
workspace -a project_alpha
Metasploit подтвердит, что рабочее пространство было добавлено, и автоматически переключит вас в новое рабочее пространство.
[*] Added workspace: project_alpha
[*] Workspace: project_alpha
Теперь любые собранные вами данные — такие как информация о хостах, результаты сканирования или учетные данные — будут храниться в рабочем пространстве project_alpha, отделенном от рабочего пространства default.
Список всех доступных рабочих пространств
На этом шаге вы выведете список всех доступных рабочих пространств в базе данных. Это полезно для просмотра всех ваших текущих проектов и определения того, в каком из них вы работаете в данный момент.
Чтобы вывести список всех рабочих пространств, просто выполните команду workspace без каких-либо аргументов.
В приглашении msfconsole выполните команду:
workspace
Вывод покажет список всех рабочих пространств. Текущее рабочее пространство отмечено звездочкой (*). Вы должны увидеть как рабочее пространство default, так и рабочее пространство project_alpha, которое вы создали на предыдущем шаге.
default
* project_alpha
Эта команда дает вам быстрый обзор ваших проектов и помогает отслеживать ваш текущий контекст.
Переключение между различными рабочими пространствами
На этом шаге вы узнаете, как переключаться между различными рабочими пространствами. При работе над несколькими проектами вам часто потребуется изменять активное рабочее пространство для доступа к данным, связанным с конкретным мероприятием.
Для переключения на другое рабочее пространство используйте команду workspace, за которой следует имя рабочего пространства, которое вы хотите активировать. Давайте вернемся в рабочее пространство default.
В приглашении msfconsole выполните эту команду:
workspace default
Metasploit подтвердит переключение сообщением.
[*] Workspace: default
Вы можете проверить переключение, снова выполнив команду workspace. Вы увидите, что звездочка (*) теперь находится рядом с default.
workspace
* default
project_alpha
Теперь вы успешно переключили свой рабочий контекст. Чтобы выйти из консоли Metasploit и вернуться в обычный терминал, введите exit:
exit
Итоги
Поздравляем с завершением этой лабораторной работы! Вы освоили основные навыки управления базой данных Metasploit, что является критически важной частью эффективного использования фреймворка для профессиональных задач.
В этой лабораторной работе вы рассмотрели:
- Инициализацию базы данных PostgreSQL для Metasploit с помощью команды
sudo msfdb init. - Запуск консоли Metasploit с помощью команды
msfconsole. - Проверку подключения к базе данных с помощью команды
db_status. - Создание новых, изолированных сред проектов с помощью команды
workspace -a <name>. - Вывод списка всех доступных рабочих пространств с помощью команды
workspace. - Переключение между различными рабочими пространствами с помощью команды
workspace <name>.
Правильное использование базы данных и рабочих пространств поможет вам оставаться организованным и эффективным во время мероприятий по тестированию на проникновение.


