Найти тему

Cмена пароля учетной записи krbtgt в Active Directory

Оглавление

Есть в AD такая УЗ (учетная запись) - krbtgt (Key Distribution Center Service Account)
Это сервисная учётная запись
krbtgt и создаётся она автоматически при создании домена Active Directory. Она имеет RID 502 и по умолчанию отключена. Находится в контейнере Users и состоит в группах:

  • Domain Users
  • Denied RODC Password Replication Group

При наличии дополнительны RODC (Read Only Domain Controlles) таких учетных записей будет по числу этих RODC (обычно после имени идет знак подчеркивания и случайный набор цифр). Например krbtgt_12345 (Key Distribution Center service account for read-only domain controller).
Под каждую RODC DC создается отдельная запись.
И находится будет в контейнере Users, а так же состоять только в группе:

  • Domain Users

Переименовать эти данные учётные записи нельзя и включить тоже нельзя.

Пароль данной учётной записи krbtgt используется на каждом контроллере домена службой KDC (Kerberos Distribution Center, Центр распространения ключей Kerberos). Компонентами KDC являются сервер аутентификации (AS, Authentication Server) и сервер выдачи билетов (TGS, Ticket-Granting Service). Он действует как контрольная точка и выдает билеты, удостоверяющие личность пользователя (TGT, Ticket-Granting Ticket), после его аутентификации. Все TGT билеты KDC шифрует с помощью пароля krbtgt.

Kerberos – сетевой протокол аутентификации, распространенный в средах Windows Active Directory, позволяет передавать данные через незащищённые сети для безопасной идентификации.
Свойства УЗ krbtgt
Свойства УЗ krbtgt

Golden Ticket

Golden Ticket — способ атаки, при которой злоумышленник имеет возможность получить секретный ключ сервисной учётной записи в Active Directory (KRBTGT), он же является тем самым паролем в зашифрованном виде. Украв этот ключ, злоумышленник сможет подделать любой TGT билет в домене и успешно аутентифицироваться под любым пользователем домена.

Golden Ticket — это поддельный TGT, созданный с помощью украденного ключа KDC.

Смена пароля krbtgt

Чаще всего пароль от учётной записи krbtgt не меняется никогда. Если злоумышленник украдёт хэш этого пароля, то он может оставаться в системе продолжительное время, создавая Golden Ticket Kerberos минуя KDC. Лучшая защита от атаки Golden Ticket — периодическая смена пароля krbtgt. После смены пароля krbtgt поддельные билеты перестанут работать.

Пароль от krbtgt рекомендуется менять один раз в год, в особых компаниях — два раза в год. Пароль от krbtgt также рекомендуется менять после увольнения любого администратора домена.

При повышении функционального уровня домена, например, с Windows Server 2012 R2 до Windows Server 2016, пароль учётной записи krbtgt меняется автоматически. После такой процедуры можно пропустить очередную смену пароля.

Менять пароль нужно два раза подряд. Сменили первый раз, через 10 минут повторили смену пароля (дождитесь выполнения репликации в домене). В домене хранится текущий и предыдущий пароль, заменить нужно оба.

Хэш пароля учётной записи krbtgt не хранится на контроллерах домена RODC (Read-Only Domain Controller), у каждого RODC имеется собственный аккаунт krbtgt.

Информацию об учётной записи krbtgt можно получить с помощью PowerShell:

Get-AdUser krbtgt -property created, passwordlastset, enabled
Проверяем когда менялся пароль у УЗ krbtgt
Проверяем когда менялся пароль у УЗ krbtgt

В данном примере домен был создан в 2016 году, а пароль на krbtgt последний раз менялся в 2020 году. Уже хорошо, что он менялся...

Пароль krbtgt можно изменить через оснастку как обычному пользователю. В поле "Новый пароль" введите новый пароль, введите пароль в поле "Подтверждение пароля" и нажмите кнопку "ОК". Указанный пароль не имеет значения, так как система автоматически создает надёжный пароль независимо от указанного пароля.

Смена пароля через GUI
Смена пароля через GUI

Пароль можно было менять в CMD через команду NET:

net user krbtgt RandomP@$$1 /domain

Обождать минут 10, и сменить еще раз:

net user krbtgt RandomP@$$2 /domain

Менять пароль нужно дважды (с задержкой достаточной для выполнения репликации во всем домене), т.к. в домене хранится текущий и предыдущий пароль. Даже если злоумышленники выпустили Golden Ticket с длинным сроком действия, после смены пароля krbtgt этот билет станет бесполезным.

Можно использовать готовый PowerShell скрипт:

https://github.com/microsoft/New-KrbtgtKeys.ps1

Это более мощный инструмент, позволяющий выполнить процесс смены пароля в тестовом режиме. При этом можно оценить уровень задержек репликации между контроллерами вашего домена.

Или вот этот:

Microsoft KRBTGT Reset script - https://gallery.technet.microsoft.com/Reset-the-krbtgt-account-581a9e51

При смене пароля учетной записи krbtgt при задержках репликации могут наблюдаться проблемы некоторых доменных служб. После смены пароля вручную перезапустите службу Kerberos Key Distribution Center на всех контроллерах домена. PowerShell в помощь:

$DCs=Get-ADDomainController
Get-Service KDC –ComputerName $DCs | Restart-Service