Использование вспомогательного сканера для перечисления SMB в Metasploit

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

Введение

В этой лабораторной работе вы научитесь выполнять перечисление (enumeration) по протоколу Server Message Block (SMB) с использованием Metasploit Framework. SMB — это сетевой протокол, используемый для предоставления общего доступа к файлам, принтерам и последовательным портам между узлами в сети. Определение версии SMB является важным первым шагом в тестировании на проникновение, поскольку оно помогает идентифицировать конкретное программное обеспечение и его версию, работающие на цели, которые затем могут быть сопоставлены с известными уязвимостями.

Мы будем использовать один из вспомогательных сканирующих модулей Metasploit, а именно auxiliary/scanner/smb/smb_version, для сканирования цели и определения ее версии SMB. Metasploit — это мощный фреймворк для тестирования на проникновение, который упрощает поиск, эксплуатацию и проверку уязвимостей.

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

Поиск вспомогательного модуля smb_version

На этом шаге мы запустим консоль Metasploit Framework и найдем подходящий модуль для сканирования версии SMB. msfconsole является основным интерфейсом для взаимодействия с Metasploit.

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

msfconsole -q

Флаг -q делает стартовый баннер тихим. После загрузки вы увидите приглашение Metasploit, которое выглядит как msf6 >.

Теперь найдем модуль сканирования версии SMB. Мы можем использовать команду search для поиска модулей, связанных с smb_version.

search smb_version

Вы увидите список совпадающих модулей. Тот, который нас интересует, является вспомогательным сканером. Вывод должен выглядеть примерно так:

Matching Modules
================

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/smb/smb_version                     normal  No     SMB Version Detection
   1  exploit/windows/smb/smb_doublepulsar_eternalblue      2017-04-14  extraordinary Yes    SMBv1/SMBv2 DoublePulsar/EternalBlue Unauthenticated RCE

Из вывода видно, что auxiliary/scanner/smb/smb_version — это модуль, который нам нужен.

Выбор модуля smb_version

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

В приглашении msfconsole введите следующую команду, чтобы выбрать сканер smb_version:

use auxiliary/scanner/smb/smb_version

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

msf6 auxiliary(scanner/smb/smb_version) >

Это означает, что модуль теперь активен. Чтобы увидеть, какие параметры мы можем настроить для этого модуля, используйте команду show options:

show options

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

Module options (auxiliary/scanner/smb/smb_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   THREADS  1                yes       The number of concurrent threads (max one per host)

Обратите особое внимание на параметры RHOSTS и THREADS, поскольку мы настроим их на следующих шагах. Столбец Required показывает, что RHOSTS должен быть установлен перед запуском сканера.

Установка опции RHOSTS на диапазон IP-адресов цели

На этом шаге мы настроим цель для нашего сканирования. Опция RHOSTS (Remote Hosts) указывает Metasploit, какие машины сканировать. Для этой лаборатории мы установили сервер Samba на локальной машине, чтобы он служил нашей целью. Поэтому мы установим RHOSTS на IP-адрес обратной петли, 127.0.0.1.

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

set RHOSTS 127.0.0.1

Metasploit подтвердит изменение:

RHOSTS => 127.0.0.1

Вы можете проверить, что опция установлена правильно, снова выполнив show options. Вы увидите, что 127.0.0.1 теперь указан как Current Setting для RHOSTS. Это обязательный шаг, так как сканеру необходимо знать свою цель.

Установка опции THREADS для более быстрого сканирования

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

Хотя сканирование одного хоста (127.0.0.1) не даст прироста производительности от нескольких потоков, это хорошая практика для изучения настройки этой опции. Давайте установим количество потоков равным 50.

Используйте команду set еще раз, чтобы изменить значение THREADS:

set THREADS 50

Metasploit подтвердит настройку:

THREADS => 50

Теперь сканер настроен на использование до 50 потоков, что будет очень эффективно для сканирования диапазона сети, такого как 192.168.1.0/24.

Запуск сканера и анализ вывода

На этом шаге, после настройки всех опций, мы готовы запустить сканер. Команда run (или ее псевдоним exploit) запустит модуль против указанной цели.

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

run

Модуль теперь попытается подключиться к порту 445 на 127.0.0.1 и определить версию SMB. Вывод будет выглядеть примерно так:

[*] 127.0.0.1:445     - Sending SMBv1 request
[+] 127.0.0.1:445     - Host is running Samba 4.15.13-Ubuntu (Samba 4.15.13-Ubuntu)
[*] 127.0.0.1:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Проанализируем вывод:

  • Символ [+] указывает на успешный результат.
  • Строка Host is running Samba 4.15.13-Ubuntu сообщает нам точную версию программного обеспечения сервера SMB. Эта информация чрезвычайно ценна для пентестера, который теперь может искать уязвимости, специфичные для этой версии.
  • Последние строки подтверждают завершение сканирования.

Вы успешно перечислили версию SMB на цели. Чтобы выйти из консоли Metasploit, просто введите exit.

exit

Резюме

В этой лаборатории вы успешно использовали вспомогательный сканер Metasploit для выполнения перечисления SMB. Вы изучили основной рабочий процесс использования модулей в Metasploit Framework.

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

  • Запуск консоли Metasploit (msfconsole).
  • Поиск модулей с помощью команды search.
  • Выбор и загрузка модуля с помощью команды use.
  • Просмотр и настройка опций модуля, таких как RHOSTS и THREADS, с помощью show options и set.
  • Выполнение модуля с помощью команды run.
  • Анализ вывода для сбора критически важной информации о цели.

Этот процесс сбора информации является основополагающим элементом любой оценки безопасности или пентеста. Поздравляем с завершением лаборатории!