Eternal Romance Synergy Exploit - Meterpreter - Windows Server

Eternal Romance Synergy Exploit - Meterpreter - Windows Server

Life-Hack

Приветствую! В этой статье, я хочу показать на практике работу, эксплойта ETERNALROMANCE/SYNERGY с улучшенным методом эксплуатации и направленным на системы под управлением Windows Server.

Здесь можно прочитать о его происхождении способах приготовления:

Я симулирую свой метод эксплуатации, в качестве цели:

> Windows Server 2008 с какими то, обновлениями вроде бы.

Атакующий хост:

> Kali Linux 2017.2


Скачиваем сам эксплоит:

Для удовлетворения зависимостей:

> nano eternal.py

Необходимо добыть модуль mysmb:

> git clone https://github.com/worawit/MS17-010

Копируем его в папку с эксплойтом:

Затем создаем файл __INIT__.py и в него добавляем модуль mysmb, его наличие необходимо для корректной работы eternal.py

> touch __INIT__.py

> nano __INIT__.py

Так как, уязвимость, в эксплойте ETERNALROMANCE/SYNERGY, требует аутентификации, перед началом атаки, необходимо в файле eternal.py указать логин и пароль от любой доступной вам учетной записи, на целевом хосте.

> nano eternal.py

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

· File: файловые (или дисковые) общие ресурсы, представляющие собой дерево директорий с файлами.

· Print: доступ к ресурсам принтера на сервере.

· Pipe: коммуникация между процессами, использующими модель FIFO, при помощи именованных каналов, которые активны до тех пор, пока система работает, даже если процесс уже не активен.


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

· named pipe — один из методов межпроцессного взаимодействия, расширение понятия конвейера в Unix и подобных ОС. Именованный канал позволяет различным процессам обмениваться данными, даже если программы, выполняющиеся в этих процессах, изначально не были написаны для взаимодействия с другими программами.


Посмотрим, какие каналы использует наш целевой хост, используя Metasploit:

> use auxiliary/scanner/smb/pipe_auditor

Я выбрал поток протокола \atsvc:

Запускаем скрипт, с выбранным потоком, в случае успешной его отработки, в директории C:\ будет создан файл с именем pwned.txt

Зайдем на сервер, и убедимся в этом:

Теперь, мы можем создать полезную нагрузку и запустить ее выполнение на сервере.

По факту, выделенная строка в скрипте:

Является командой в cmd, это грубо говоря, она корректно отрабатывает и является дополнительным моментом для осуществления теста.

Но, нам необходимо получить как минимум сессию meterpreter, идем далее по скрипту, строка:

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

Меняем скрипт, как показано ниже.

Полагаю, много вопросов возникнуть не должно, мы копируем на сервер наш текстовый файл, затем возвращаем ему изначальный формат, и следующей строкой запускаем.

> python eternal.py 172.16.0.185 atsvc

На сервер успешно копируется наша полезная нагрузка и запускается:

В Metasploit, открывается сессия meterpreter:

Приятная особенность в том, что она будет с системными привилегиями.

На этом пожалуй хватит, спасибо за внимание. Источник