При создании домена Active Directory автоматически создается специальная сервисная учетная запись пользователя krbtgt. Многие администраторы AD не обладают достаточными знаниями об этой очень важной с точки зрения безопасности учетной записи, хотя она очень важна для функционирования домена. Попробуем это исправить!
Учетная запись krbtgt с RID 502, создается в контейнере Users при установке первого контроллера домена. Эта учетная запись отключена и состоит только в двух группах AD: Domain Users и Denied RODC Password Replication Group. Вы не можете изменить имя этой учтенной записи, переименовать ее или включить.
На каждом контроллере домена AD запущена служба KDC (Kerberos Distribution Center), которая обрабатывает все запросы на получение тикетов Kerberos. Для создания секретного ключа, с помощью которого выполняется шифрование и расшифровка билетов TGT (выдаются всем KDC в домене) используется пароль учетной записи krbtgt.
В большинстве случае пароль аккаунта krbtgt не меняется с момент развертывания AD. Если хэш этого пароля попадет в руки хакера (например, с помощью mimikatz или подобных утилит), он сможет создать собственные Golden Ticket Kerberos минуя KDC и аутентифицироваться на любом сервисе в домене AD, который работает по Kerberos.
Вы можете получить информацию о аккаунте krbtgt и дате последнее смены пароля с помощью PowerShell:
Get-AdUser krbtgt -property created, passwordlastset, enabled
В моем примере видно, что пароль krbtgt не менялся с момента создания домена AD.
В целях безопасности и для противодействия атаке типа Golden Ticket Attack вам нужно периодически (раз в год и при увольнении любого администратора домена) дважды менять пароль доменного аккаунта krbtgt. Менять пароль нужно дважды (с задержкой достаточной для выполнения репликации во всем домене), т.к. в домене хранится текущий и предыдущий пароль. Даже если злоумышленники выпустили Golden Ticket с длинным сроком действия, после смены пароля krbtgt этот билет станет бесполезным.
Вы можете сменить пароль krbtgt как для обычного пользователя через оснастку ADUC (Reset Password) или вы можете использовать готовый PowerShell скрипт Reset the krbtgt account password/keys (https://gallery.technet.microsoft.com/Reset-the-krbtgt-account-581a9e51), который не только меняет пароль учётной записи, но и дополнительно запускает и отслеживает репликацию этого пароля в домене.
Используйте стойкий пароль для krbtgt!
При смене пароля учетной записи krbtgt при задержках репликации могут наблюдаться проблемы некоторых доменных служб (например, Exchange). Чтобы минимизировать риски после смены пароля krbtgt, вам нужно перезапустить службу Kerberos Key Distribution Center на всех контроллерах домена вручную через консоль services.msc (выберите службу Kerberos Key Distribution и щелкните “Перезапустить”)
Или (гораздо проще) выполните перезапуск службы KDC с помощью PowerShell:
$DCs=Get-ADDomainController
Get-Service KDC –ComputerName $DCs | Restart-Service
1 comment
Огромное Спасибо!