Выполнение базового сканирования портов с помощью db_nmap в Metasploit

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

Введение

Metasploit Framework — это мощный инструмент с открытым исходным кодом для разработки, тестирования и выполнения эксплойт-кода против удаленной целевой машины. Критически важной частью любой оценки безопасности является сбор информации, который включает сканирование портов для выявления открытых портов и запущенных служб.

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

В этой лабораторной работе вы научитесь выполнять базовое сканирование портов с помощью db_nmap и просматривать результаты в консоли Metasploit.

Выбор рабочей области для результатов сканирования

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

Сначала откройте терминал и запустите консоль Metasploit Framework, выполнив следующую команду. Загрузка может занять некоторое время.

msfconsole

Как только появится приглашение msfconsole (msf6 >), вы можете создать и переключиться на новую рабочую область. Мы назовем нашу рабочую область portscan_lab. Используйте флаг -a для добавления новой рабочей области.

workspace -a portscan_lab

Вы должны увидеть подтверждающее сообщение.

[*] Added workspace: portscan_lab
[*] Workspace: portscan_lab

Чтобы убедиться, что вы находитесь в правильной рабочей области, вы можете выполнить команду workspace без аргументов. Звездочка * указывает на текущую активную рабочую область.

workspace

Вывод покажет все доступные рабочие области:

  default
* portscan_lab

Теперь, когда ваша рабочая область настроена, вы готовы начать сканирование.

Выполнение TCP SYN сканирования с помощью db_nmap -sS

На этом шаге вы выполните TCP SYN сканирование. Этот тип сканирования, также известный как "стелс-сканирование" или "полуоткрытое сканирование", является популярным выбором, поскольку он быстрый и менее вероятно будет залогирован целевыми системами. Флаг -sS указывает Nmap выполнить SYN сканирование.

В приглашении msfconsole используйте команду db_nmap для сканирования вашей локальной машины (localhost). Результаты будут автоматически сохранены в вашей рабочей области portscan_lab.

db_nmap -sS localhost

Команда выполнит Nmap и отобразит его прогресс и результаты. Вывод будет похож на стандартный вывод Nmap.

[*] Nmap: Starting Nmap 7.94 ( https://nmap.org ) at ...
[*] Nmap: Nmap scan report for localhost (127.0.0.1)
[*] Nmap: Host is up (0.000084s latency).
[*] Nmap: Other addresses for localhost (not scanned): ::1
[*] Nmap: Not shown: 997 closed tcp ports (reset)
[*] Nmap: PORT     STATE SERVICE
[*] Nmap: 22/tcp   open  ssh
[*] Nmap: 5432/tcp open  postgresql
[*] Nmap: 6200/tcp open  oracle-tns
[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Сканирование выявило несколько открытых портов, и эта информация теперь хранится в базе данных Metasploit.

Выполнение сканирования для определения версий служб с помощью db_nmap -sV

На этом шаге вы выполните более детальное сканирование для определения конкретных версий служб, работающих на открытых портах. Знание версий служб имеет решающее значение для поиска потенциальных уязвимостей. Флаг -sV включает определение версий в Nmap.

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

db_nmap -sV localhost

Вывод будет более подробным, чем при SYN сканировании. Обратите внимание на новый столбец VERSION, который содержит информацию, собранную в результате зондирования версий.

[*] Nmap: Starting Nmap 7.94 ( https://nmap.org ) at ...
[*] Nmap: Nmap scan report for localhost (127.0.0.1)
[*] Nmap: Host is up (0.00011s latency).
[*] Nmap: Other addresses for localhost (not scanned): ::1
[*] Nmap: Not shown: 997 closed tcp ports (reset)
[*] Nmap: PORT     STATE SERVICE VERSION
[*] Nmap: 22/tcp   open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0)
[*] Nmap: 5432/tcp open  postgresql PostgreSQL DB 14.10 (Ubuntu 14.10-0ubuntu0.22.04.1)
[*] Nmap: 6200/tcp open  unknown
[*] Nmap: Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 6.78 seconds

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

Отображение обнаруженных хостов в базе данных с помощью команды hosts

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

Выполните команду hosts в приглашении msfconsole:

hosts

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

Hosts
=====

address      mac  name       os_name  os_flavor  os_sp  purpose  info  comments
-------      ---  ----       -------  ---------  -----  -------  ----  --------
127.0.0.1         localhost  Linux               Linux  device

Эта команда — быстрый способ увидеть все цели, которые были идентифицированы и сохранены в рабочей области вашего проекта.

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

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

Выполните команду services в приглашении msfconsole:

services

Вывод будет представлять собой подробную таблицу всех найденных служб. Обратите внимание, как она включает порт, протокол, имя службы и информацию о версии, которую вы собрали на Шаге 3.

Services
========

Host       Port  Proto  Name        State  Info
----       ----  -----  ----        -----  ----
127.0.0.1  22    tcp    ssh         open   OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0)
127.0.0.1  5432  tcp    postgresql  open   PostgreSQL DB 14.10 (Ubuntu 14.10-0ubuntu0.22.04.1)
127.0.0.1  6200  tcp    unknown     open

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

Итоги

В этой лабораторной работе вы успешно освоили основы выполнения сканирования портов в Metasploit Framework.

Вы начали с настройки выделенного рабочего пространства для организации вашего проекта. Затем вы использовали команду db_nmap для выполнения как быстрого сканирования TCP SYN (-sS), так и более детального сканирования для определения версий служб (-sV). Наконец, вы научились запрашивать базу данных Metasploit с помощью команд hosts и services для просмотра автоматически сохраненных результатов сканирования.

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