Введение
В этой лабораторной работе вы научитесь интегрировать мощные возможности сетевого сканирования Nmap с Metasploit Framework. Хотя Metasploit имеет свои собственные встроенные функции сканирования, часто требуется импортировать результаты из внешних инструментов, таких как Nmap. Это распространенный рабочий процесс при тестировании на проникновение, поскольку он позволяет централизовать все ваши данные разведки в базе данных Metasploit.
Импортируя результаты сканирования Nmap, вы можете использовать функции управления данными и эксплуатации Metasploit на хостах и службах, обнаруженных Nmap. Вы выполните сканирование Nmap, сохраните вывод в XML-файл, а затем используете команду db_import в консоли Metasploit для заполнения ее базы данных.
Выполнение сканирования Nmap вне Metasploit с сохранением в XML
На этом шаге вы выполните базовое сканирование Nmap и сохраните его результаты в XML-файл. Формат XML идеально подходит для импорта в другие инструменты, поскольку он структурирован и легко парсится. Мы просканируем localhost для определения запущенных служб и их версий.
Сначала убедитесь, что вы находитесь в каталоге проекта по умолчанию, /home/labex/project.
Выполните следующую команду nmap в терминале. Вот разбивка опций:
-sV: Исследует открытые порты для определения информации о службе/версии.-oX nmap_scan.xml: Выводит результаты сканирования в формате XML в файл с именемnmap_scan.xml.localhost: Цель нашего сканирования.
nmap -sV -oX nmap_scan.xml localhost
После завершения сканирования вы увидите вывод, аналогичный следующему, обобщающий результаты. Точные открытые порты могут отличаться.
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
...
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.43 seconds
Эта команда создает файл с именем nmap_scan.xml в вашем текущем каталоге (~/project).
Использование команды db_import в msfconsole
На этом шаге вы запустите консоль Metasploit Framework. msfconsole — это основной интерфейс для взаимодействия с Metasploit, позволяющий получать доступ к его модулям, управлять данными и запускать атаки.
Мы запустим msfconsole с флагом -q (quiet), чтобы подавить стартовый баннер и получить более чистый интерфейс. Соединение с базой данных будет установлено автоматически.
Выполните следующую команду для запуска консоли Metasploit:
msfconsole -q
Через несколько мгновений приглашение вашего терминала изменится на msf6 >, что означает, что вы находитесь внутри консоли Metasploit.
msf6 >
Внутри msfconsole у вас есть доступ ко многим командам для управления рабочим процессом тестирования на проникновение. Одна из них — db_import, которую мы будем использовать на следующем шаге для загрузки данных сканирования Nmap.
Указание пути к XML-файлу Nmap
Теперь, когда вы находитесь в консоли Metasploit, вы можете импортировать результаты сканирования Nmap. Для этой цели используется команда db_import. Вам необходимо указать полный путь к XML-файлу, который вы создали на первом шаге.
Поскольку вы создали файл в /home/labex/project, вы будете использовать этот путь.
Выполните команду db_import в приглашении msfconsole:
db_import /home/labex/project/nmap_scan.xml
Metasploit проанализирует XML-файл и импортирует данные в свою базу данных. Вы должны увидеть вывод, подтверждающий, что данные импортируются.
msf6 > db_import /home/labex/project/nmap_scan.xml
[*] Importing 'Nmap XML' data from /home/labex/project/nmap_scan.xml
[*] Importing host 127.0.0.1
[*] Successfully imported /home/labex/project/nmap_scan.xml
Это сообщение подтверждает, что хосты, порты и службы из вашего сканирования Nmap теперь сохранены в базе данных Metasploit.
Проверка импортированных хостов с помощью команды hosts
На этом шаге вы проверите, успешно ли информация о хостах была импортирована в базу данных Metasploit. Команда hosts в msfconsole перечисляет все хосты, о которых Metasploit знает в текущем рабочем пространстве.
После импорта данных сканирования выполнение команды hosts должно отобразить целевой хост, который вы сканировали, а именно localhost (127.0.0.1).
В приглашении msfconsole введите команду hosts и нажмите Enter:
hosts
Вывод будет представлять собой таблицу со списком хостов в базе данных, включая их IP-адрес, MAC-адрес (если доступен), имя и операционную систему.
msf6 > hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
127.0.0.1 localhost Ubuntu Linux Linux device
Видя 127.0.0.1 в списке, вы подтверждаете, что данные хоста из вашего сканирования Nmap были корректно добавлены в базу данных.
Запрос импортированных служб с помощью команды services
На этом заключительном шаге вы проверите службы, обнаруженные на импортированном хосте. Команда services в msfconsole перечисляет все открытые порты и запущенные службы, которые были добавлены в базу данных. Это крайне важно для выявления потенциальных векторов атак.
Выполните команду services в приглашении msfconsole:
services
Это отобразит подробную таблицу всех служб, включая хост, на котором они работают, порт, протокол, имя службы и информацию о версии.
msf6 > services
Services
========
host port proto name state info
---- ---- ----- ---- ----- ----
127.0.0.1 22 tcp ssh open OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
Этот вывод показывает конкретные службы, найденные Nmap, теперь аккуратно организованные в Metasploit. Теперь вы можете использовать эту информацию для поиска соответствующих эксплойтов или вспомогательных модулей в рамках фреймворка.
Чтобы выйти из консоли Metasploit, просто введите exit.
exit
Резюме
В этой лабораторной работе вы успешно освоили фундаментальный рабочий процесс интеграции внешних инструментов с Metasploit Framework.
Вы научились:
- Запускать сканирование Nmap с определением версий и сохранять результаты в XML-файл.
- Запускать консоль Metasploit и использовать команду
db_importдля загрузки данных сканирования Nmap. - Проверять импортированные данные с помощью команды
hostsдля просмотра обнаруженных хостов. - Запрашивать базу данных для получения подробной информации о службах с помощью команды
services.
Этот процесс импорта данных сканирования является неотъемлемой частью эффективного управления данными во время тестирования на проникновение, позволяя консолидировать информацию из различных источников в единую, мощную платформу для анализа и эксплуатации.


