Импорт результатов внешнего сканирования Nmap в Metasploit

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

Введение

В этой лабораторной работе вы научитесь интегрировать мощные возможности сетевого сканирования 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.

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