Содержание статьи
PetitPotam и PrinterBug
Ранее в тех же целях применялись техники PetitPotam и PrinterBug.
PetitPotam использовал функцию EfsRpcOpenFileRaw
из протокола Microsoft Encrypting File System Remote Protocol (MS-EFSRPC), который предназначен для выполнения операций с зашифрованными данными, хранящимися в удаленных системах.
PrinterBug злоупотреблял функцией RpcRemoteFindFirstPrinterChangeNotificationEx
в протоколе Microsoft Print System Remote Protocol (MS-RPRN). При атаке пользователь домена может заставить любую машину, на которой запущена служба очереди печати, подключиться к машине со включенным неограниченным делегированием. Для эксплуатации этого бага применяется инструмент Krbrelayx.
www
Подробнее об этих уязвимостях:
ShadowCoerce — новый способ принудительной аутентификации. Он использует протокол службы теневого копирования VSS (MS-FSRVP). Но прежде чем говорить о нем, расскажу пару слов о самой VSS.
Что такое VSS
Volume Shadow Copy Service (VSS) — это фича Windows Server, которая позволяет тихо, незаметно и централизованно бэкапить пользовательские данные.
Представь, что у тебя есть файловый сервер, бэкап которого делается ежедневно. Утром ты внес изменения в критически важный документ, а в конце рабочего дня что‑то напутал и случайно удалил этот файл. Восстановить его из бэкапа будет невозможно, так как в утреннюю сессию он не попал. Однако если на сервере включена служба VSS, то можно не торопиться ломать клавиатуру об колено и кидать монитор в окошко — файл можно будет спасти!
По сути, VSS копирует всю информацию, хранящуюся на диске, но при этом отслеживает изменения и берет только нужные блоки. Сами копии делаются автоматически каждый час, и по умолчанию Windows хранит их в количестве 64 штук. VSS — штука удобная и повсеместно используется в доменных сетях.
Стенд
Для проведения атаки нам понадобится тестовый стенд:
- контроллер домена (DC) — Windows Server 2016;
- центр сертификации (AD CS) — Windows Server 2016 с включенной службой Web Enrollment;
- скомпрометированная учетная запись пользователя с низкими привилегиями.
Судя по документации Microsoft, протокол удаленного файлового сервера VSS (MS-FSRVP):
- создает теневые копии файловых ресурсов на удаленных компьютерах;
- делает резервное копирование приложений;
- восстанавливает данные на файловых ресурсах SMB2.
Чтобы наш контроллер домена начал делать теневые копии, нужно установить службу агента VSS из меню «Роли сервера».
На момент написания статьи известны только две уязвимые функции, которые обрабатывает MS-FSRVP: IsPathSupported
и IsPathShadowCopied
. Именно они позволяют поднять наши права, так как обе работают с удаленными путями UNC.
Как работает ShadowCoerce
Для ShadowCoerce доступен PoC, который демонстрирует злоупотребление этими функциями. Исполнение кода заставляет учетную запись контроллера домена запросить общий ресурс NETLOGON или SYSVOL из системы, находящейся под контролем злоумышленника. Принудительная аутентификация выполняется через SMB, в отличие от других подобных методов принуждения (PrinterBug и PetitPotam).
При эксплуатации уязвимости NTLMv2-хеш учетной записи хоста контроллера домена оказывается захвачен. Затем этот хеш передается в центр сертификации, чтобы зарегистрировать сертификат. После чего его можно использовать для аутентификации на контроллере домена через службу Kerberos.
В журнале событий контроллера домена видим, как запускается сам процесс и служба VSS.
Давай разберем сам процесс атаки ShadowCoerce.
Для ее проведения злоумышленник выполняет следующие действия.
- Подключается к сетевому ресурсу с помощью эксплоита и злоупотребляет функциями
IsPathSupported
иIsPathShadowCopied
в протоколе MS-FSRVP. - Получает NTLMv2-хеш от контроллера домена (SMB). Вредоносный код принуждает учетную запись контроллера домена к аутентификации по протоколу SMB на захваченном компьютере.
- Перенаправляет хеш в центр сертификации (LDAP).
- Получает сертификат в Base64.
Эксплуатация
Теперь я покажу, как выглядит сама эксплуатация.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»