Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье я покажу, как работает атака ShadowCoerce, которая использует службу теневого копирования (VSS) и позволяет принудить учетку контроллера домена Active Directory авторизоваться на узле злоумышленника. А это, как ты догадываешься, может привести к захвату домена.
Ранее в тех же целях применялись техники 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.
Volume Shadow Copy Service (VSS) — это фича Windows Server, которая позволяет тихо, незаметно и централизованно бэкапить пользовательские данные.
Представь, что у тебя есть файловый сервер, бэкап которого делается ежедневно. Утром ты внес изменения в критически важный документ, а в конце рабочего дня что‑то напутал и случайно удалил этот файл. Восстановить его из бэкапа будет невозможно, так как в утреннюю сессию он не попал. Однако если на сервере включена служба VSS, то можно не торопиться ломать клавиатуру об колено и кидать монитор в окошко — файл можно будет спасти!
По сути, VSS копирует всю информацию, хранящуюся на диске, но при этом отслеживает изменения и берет только нужные блоки. Сами копии делаются автоматически каждый час, и по умолчанию Windows хранит их в количестве 64 штук. VSS — штука удобная и повсеместно используется в доменных сетях.
Для проведения атаки нам понадобится тестовый стенд:
Судя по документации Microsoft, протокол удаленного файлового сервера VSS (MS-FSRVP):
Чтобы наш контроллер домена начал делать теневые копии, нужно установить службу агента VSS из меню «Роли сервера».
На момент написания статьи известны только две уязвимые функции, которые обрабатывает MS-FSRVP: IsPathSupported
и IsPathShadowCopied
. Именно они позволяют поднять наши права, так как обе работают с удаленными путями UNC.
Для ShadowCoerce доступен PoC, который демонстрирует злоупотребление этими функциями. Исполнение кода заставляет учетную запись контроллера домена запросить общий ресурс NETLOGON или SYSVOL из системы, находящейся под контролем злоумышленника. Принудительная аутентификация выполняется через SMB, в отличие от других подобных методов принуждения (PrinterBug и PetitPotam).
При эксплуатации уязвимости NTLMv2-хеш учетной записи хоста контроллера домена оказывается захвачен. Затем этот хеш передается в центр сертификации, чтобы зарегистрировать сертификат. После чего его можно использовать для аутентификации на контроллере домена через службу Kerberos.
В журнале событий контроллера домена видим, как запускается сам процесс и служба VSS.
Подключение к сетевому ресурсу от имени user
Запуск процесса fssagent и службы VSS
Давай разберем сам процесс атаки ShadowCoerce.
Для ее проведения злоумышленник выполняет следующие действия.
IsPathSupported
и IsPathShadowCopied
в протоколе MS-FSRVP.
Теперь я покажу, как выглядит сама эксплуатация.
Источник: xakep.ru