Наш список на данный момент дал нам общую картину домена и потенциальных проблем. Мы перечислили учетные записи пользователей и видим, что некоторые из них настроены с SPN. Давайте посмотрим, как мы можем использовать это для горизонтального перемещения и повышения привилегий в целевом домене.
Kerberoasting - это метод бокового перемещения / повышения привилегий в средах Active Directory. Эта атака нацелена на учетные записи имен участников службы (SPN). SPN - это уникальные идентификаторы, которые Kerberos использует для сопоставления экземпляра службы с учетной записью службы, в контексте которой запущена служба. Учетные записи домена часто используются для запуска служб, позволяющих преодолеть ограничения сетевой аутентификации встроенных учетных записей, таких как NT AUTHORITY\\LOCAL SERVICE
. Любой пользователь домена может запросить тикет Kerberos для любой учетной записи службы в том же домене. Это также возможно в доверительных лесах, если разрешена аутентификация через границу доверия. Все, что вам нужно для выполнения атаки с использованием Kerberoasting, - это открытый текстовый пароль учетной записи (или хэш NTLM), оболочка в контексте учетной записи пользователя домена или доступ СИСТЕМНОГО уровня на хосте, присоединенном к домену.
Учетные записи домена, на которых запущены службы, часто являются локальными администраторами, если не учетными записями домена с высокими привилегиями. Из-за распределенного характера систем, взаимодействующих служб и связанной с ними передачи данных учетным записям служб могут быть предоставлены права администратора на нескольких серверах по всему предприятию. Многие сервисы требуют повышенных привилегий в различных системах, поэтому учетные записи сервисов часто добавляются в привилегированные группы, такие как администраторы домена, либо напрямую, либо через вложенное членство. Поиск SPN, связанных с учетными записями с высокими привилегиями, в среде Windows является очень распространенным явлением. Получение тикета Kerberos для учетной записи с SPN само по себе не позволяет выполнять команды в контексте этой учетной записи. Однако билет (TGS-REP) зашифрован хэшем NTLM учетной записи службы, поэтому пароль с открытым текстом потенциально может быть получен путем автономной атаки методом перебора с помощью такого инструмента, как Hashcat.
Учетные записи служб часто настраиваются с использованием ненадежного или повторно используемого пароля для упрощения администрирования, и иногда пароль совпадает с именем пользователя. Если пароль для учетной записи службы SQL Server домена взломан, вы, скорее всего, окажетесь локальным администратором на нескольких серверах, если не администратором домена. Даже если взлом билета, полученного с помощью атаки Kerberoasting, дает учетную запись пользователя с низкими привилегиями, мы можем использовать ее для создания служебных билетов для службы, указанной в SPN. Например, если для SPN установлено значение MSSQL /SRV01, мы можем получить доступ к службе MSSQL как системный администратор, включить расширенную процедуру xp_cmdshell и запустить выполнение кода на целевом сервере SQL.
Чтобы интересно взглянуть на происхождение этой техники, ознакомьтесь с докладом Тима Медина на Derbycon 2014, в котором он представил миру Kerberoasting.
В зависимости от вашего положения в сети, эта атака может быть выполнена несколькими способами:
Для выполнения атаки можно использовать несколько инструментов: