Вспомогательные модули сканирования Metasploit

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

Введение

Metasploit Framework — это мощный инструмент с открытым исходным кодом, используемый для тестирования на проникновение (penetration testing), оценки уязвимостей и разработки эксплойтов. Хотя он известен своей обширной коллекцией эксплойтов, он также включает набор "вспомогательных" (auxiliary) модулей. Эти модули выполняют задачи, которые не связаны с прямым использованием уязвимостей, такие как сканирование, фаззинг (fuzzing), перехват трафика (sniffing) и разведка (reconnaissance).

В этой лабораторной работе вы узнаете, как использовать один из наиболее фундаментальных вспомогательных модулей Metasploit: сканер TCP-портов. Вы научитесь выбирать модуль, настраивать его параметры, такие как целевые хосты и порты, и выполнять сканирование для обнаружения открытых портов на целевой машине.

Использование модуля сканирования портов с помощью команды use auxiliary/scanner/portscan/tcp

На этом шаге вы запустите консоль Metasploit Framework и выберете модуль сканера TCP-портов.

Сначала вам необходимо запустить консоль Metasploit. Это основной интерфейс для взаимодействия с фреймворком. Откройте терминал и выполните следующую команду:

msfconsole -q

Флаг -q означает "quiet" (тихий режим), который подавляет стартовый баннер для более чистого интерфейса. После загрузки вы увидите командную строку Metasploit, которая выглядит как msf >.

Далее вы будете использовать команду use для выбора вспомогательного модуля для сканирования TCP-портов. Эта команда загружает указанный модуль и подготавливает его к настройке.

Введите следующую команду в командной строке Metasploit:

use auxiliary/scanner/portscan/tcp

После выполнения команды вы заметите, что ваша командная строка изменилась, чтобы отразить текущий загруженный модуль. Это подтверждает, что теперь вы работаете в контексте сканера TCP-портов.

Ваша командная строка теперь должна выглядеть следующим образом:

msf auxiliary(scanner/portscan/tcp) >

Установка диапазона сканирования с помощью команды set RHOSTS 192.168.1.0/24

На этом шаге вы настроите цель для вашего сканирования. В Metasploit целевые хосты определяются переменной RHOSTS (Remote Hosts — Удаленные хосты).

Прежде чем запускать модуль, вы должны указать ему, куда направить свои действия. Команда set используется для настройки параметров модуля. RHOSTS может быть одиночным IP-адресом, именем хоста, диапазоном IP-адресов (например, 192.168.1.10-192.168.1.20) или сетевым диапазоном в нотации CIDR (например, 192.168.1.0/24).

Для этой лабораторной работы мы просканируем локальную машину, чтобы найти службы, запущенные скриптом настройки. IP-адрес локальной машины — 127.0.0.1.

Используйте команду set для определения вашей цели:

set RHOSTS 127.0.0.1

Metasploit подтвердит настройку, выведя переменную и ее новое значение:

RHOSTS => 127.0.0.1

Чтобы увидеть все доступные опции для текущего модуля и проверить ваши настройки, вы можете в любой момент использовать команду show options.

Настройка портов с помощью команды set PORTS 1-1000

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

Опция PORTS принимает список портов через запятую (например, 22,80,443) или диапазон портов (например, 1-1024). Скрипт настройки для этой лабораторной работы запустил службы на портах 999 и 8000. Чтобы убедиться, что наше сканирование их обнаружит, мы просканируем широкий диапазон портов.

Давайте установим диапазон портов от 1 до 10000. Снова используйте команду set:

set PORTS 1-10000

Консоль подтвердит изменение:

PORTS => 1-10000

Теперь ваш сканер настроен на проверку каждого порта от 1 до 10000 на целевом хосте 127.0.0.1.

Запуск сканирования с помощью команды run

На этом шаге вы выполните сканирование портов. После выбора модуля и настройки всех необходимых опций (RHOSTS и PORTS) вы готовы запустить сканер.

Команда run (или ее псевдоним exploit) предписывает Metasploit выполнить загруженный модуль с предоставленными вами настройками.

Чтобы начать сканирование, просто введите:

run

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

Вывод будет выглядеть примерно так:

[+] 127.0.0.1             - 127.0.0.1:22 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:3002 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:3001 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:5433 - TCP OPEN
[*] 127.0.0.1             - Scanned 1 of 1 hosts (100% complete)

Этот вывод подтверждает, что сканер успешно определил открытые порты на локальной машине.

Анализ результатов сканирования с помощью jobs -l

На этом шаге вы узнаете, как управлять задачами Metasploit в качестве фоновых заданий (background jobs). Хотя результаты сканирования были выведены непосредственно на ваш экран на предыдущем шаге, более длительные задачи часто выполняются в фоновом режиме, чтобы консоль оставалась свободной для других команд.

Чтобы запустить модуль как фоновое задание, вы можете добавить флаг -j к команде run. Давайте попробуем это с нашим сканером портов.

run -j

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

[*] Auxiliary module running as background job 1.

Нажмите Enter, чтобы продолжить.

Чтобы увидеть список всех запущенных фоновых заданий, вы можете использовать команду jobs. Флаг -l предоставляет более подробный список.

jobs -l

Вывод покажет вам ID задания, его имя и статус.

Jobs
====

  Id  Name                             Payload  Payload opts
  --  ----                             -------  ------------
  1   Auxiliary: scanner/portscan/tcp

Команда jobs необходима для управления несколькими задачами, например, для запуска длительного сканирования во время настройки другого эксплойта. Вы можете взаимодействовать с заданиями, используя их ID, например, чтобы просмотреть их вывод или остановить их.

Резюме

Поздравляем с завершением лабораторной работы! Вы успешно использовали вспомогательный (auxiliary) модуль Metasploit для выполнения сканирования сетевых портов.

В этой лабораторной работе вы научились:

  • Запускать консоль Metasploit Framework (msfconsole).
  • Выбирать вспомогательный модуль с помощью команды use.
  • Настраивать опции модуля, такие как RHOSTS и PORTS, с помощью команды set.
  • Выполнять модуль с помощью команды run.
  • Запускать модули как фоновые задачи и управлять ими с помощью команды jobs.

Сканирование портов является критически важным первым шагом в любом тестировании на проникновение (penetration test), и Metasploit предоставляет мощный и гибкий способ выполнения этой задачи. Это лишь один из сотен доступных вспомогательных модулей. Мы призываем вас изучить другие модули для различных типов сканирования и разведки (reconnaissance).