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

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

Введение

В этой лабораторной работе вы изучите основы использования Metasploit Framework для сбора информации. В частности, вы сосредоточитесь на перечислении (enumeration) FTP (File Transfer Protocol) с использованием вспомогательного сканирующего модуля.

Metasploit — это мощный фреймворк для тестирования на проникновение, который упрощает взлом. Он содержит обширную коллекцию инструментов, эксплойтов и модулей. Вспомогательные модули (Auxiliary modules) являются ключевым компонентом, используемым для таких задач, как сканирование, фаззинг (fuzzing) и разведка, которые не связаны с прямым использованием уязвимостей (exploitation).

Перечисление FTP — это процесс сбора информации о службе FTP, такой как ее версия, конфигурация и разрешен ли анонимный доступ. Эта информация имеет решающее значение для выявления потенциальных уязвимостей. Мы будем использовать вспомогательный модуль ftp_version для сканирования цели и идентификации используемого программного обеспечения FTP-сервера.

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

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

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

Сначала откройте терминал и запустите консоль Metasploit. Мы используем флаг -q для "тихого" запуска, который подавляет баннер для более чистого интерфейса.

msfconsole -q

Оказавшись в приглашении msfconsole, вы можете использовать команду search для поиска модулей. Мы ищем модуль, который может определить версию FTP-сервера. Хорошим ключевым словом для поиска является ftp_version.

Введите следующую команду в приглашении msfconsole:

search ftp_version

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

msf6 > search ftp_version

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

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/ftp/ftp_version                     normal  No     FTP Version Scanner
   1  exploit/windows/ftp/ftpshell_version_bof  2010-05-12       good    No     FTPShell 6.70 (Windows 7) Version Stack Buffer Overflow

Вывод показывает модуль auxiliary/scanner/ftp/ftp_version, который именно то, что нам нужно для нашей задачи.

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

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

Команда для выбора модуля — use, за которой следует полное имя модуля из результатов поиска.

Исходя из вывода предыдущего шага, используйте следующую команду для выбора сканера версии FTP:

use auxiliary/scanner/ftp/ftp_version

После выполнения этой команды вы заметите, что приглашение msfconsole изменилось. Теперь оно включает имя выбранного модуля, указывая на то, что вы работаете в его контексте.

msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 auxiliary(scanner/ftp/ftp_version) >

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

Установка опции RHOSTS для целевого IP

На этом шаге вы настроите выбранный модуль. Большинство модулей Metasploit требуют установки определенных опций перед их запуском. Для модулей сканирования наиболее распространенной опцией является RHOSTS, что означает "Remote Hosts" (удаленные хосты). Эта опция указывает модулю, какие цели сканировать.

В нашей лабораторной среде FTP-сервер запущен на той же машине (localhost). IP-адрес localhost — 127.0.0.1.

Чтобы установить опцию в Metasploit, используйте команду set, за которой следует имя опции и ее значение.

Установите опцию RHOSTS на наш целевой IP-адрес:

set RHOSTS 127.0.0.1

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

msf6 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1

Теперь модуль знает, какую цель сканировать.

Просмотр и понимание опций модуля с помощью show options

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

Команда show options отображает все настраиваемые параметры для текущего активного модуля.

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

show options

Это отобразит таблицу с подробностями о каждой опции.

msf6 auxiliary(scanner/ftp/ftp_version) > show options

Module options (auxiliary/scanner/ftp/ftp_version):

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

Давайте разберем столбцы:

  • Name: Название опции (например, RHOSTS).
  • Current Setting: Текущее значение, присвоенное опции. Вы можете видеть, что для RHOSTS установлено значение 127.0.0.1.
  • Required: Указывает, должна ли опция быть установлена для запуска модуля (yes или no).
  • Description: Краткое описание того, что делает опция.

Просмотрев этот вывод, вы можете убедиться, что обязательная опция RHOSTS правильно установлена на нашу цель. Другие обязательные опции, RPORT и THREADS, уже имеют значения по умолчанию, подходящие для нашего сканирования.

Выполнение модуля командой run

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

Команда для выполнения вспомогательного модуля (auxiliary module) — run. (Для эксплойт-модулей (exploit modules) можно использовать как run, так и exploit).

Теперь выполните сканер:

run

Модуль подключится к целевому FTP-серверу на указанном порту и попытается получить его баннер с версией. Вывод покажет результаты сканирования.

msf6 auxiliary(scanner/ftp/ftp_version) > run

[+] 127.0.0.1:21      - FTP Banner: 220 (vsFTPd 3.0.5)
[*] 127.0.0.1:21      - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Вывод [+] 127.0.0.1:21 - FTP Banner: 220 (vsFTPd 3.0.5) является ключевой информацией. Он подтверждает, что на цели запущен FTP-сервер, и сообщает нам его программное обеспечение и версию: vsFTPd 3.0.5. Это успешная перечислительная операция (enumeration).

Резюме

В этой лаборатории вы успешно выполнили базовое перечисление FTP (FTP enumeration) с использованием Metasploit Framework. Вы освоили основной рабочий процесс использования вспомогательного модуля (auxiliary module), что является ключевым навыком для любого пользователя Metasploit.

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

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

Этот процесс поиска, выбора, настройки и запуска применим к тысячам модулей в Metasploit, что делает его фундаментальной техникой для тестирования на проникновение (penetration testing) и анализа безопасности.