钻石票据
类似于黄金票据,钻石票据是一个可以以任何用户身份访问任何服务的 TGT。黄金票据是完全离线伪造的,使用 krbtgt 的哈希进行加密的,并且导入至当前会话使用。而域控制器并不会检查 TGT 是否是有效签发的,只是看到用 krbtgt 的哈希加密的,那么就会欣然接受。
然而,针对黄金票据,也是有对应的检测手段
1:寻找没有相应 AS-REQ 的 TGS-REQS
2:超长有效时间的 TGT (TGT 默认有效10小时,而 mimikatz 制作的黄金票据有效期 10 年)
那么钻石票据是怎么创建的呢?修改 DC 签发的有效 TGT 的属性。这点我们可以通过先申请 TGT,再使用 krbtgt 的哈希来解密 TGT,修改我们想要修改的地方,并且重新加密,这解决了黄金票据的 2 个短板
1:TGS-REQS 会有之前的 AS-REQ
2:由 DC 签发的 TGT 具备所有域内 Kerberos 策略的详细信息
我们可以使用 rubeusRubeus 制作钻石票据,但是我们需要以下这些参数:
/tgtdeleg:使用kerberos gss-api获取有效的 TGT,并且不需要知道当前用户的任何凭证
/ticketuser:要模仿的用户
/ticketuserid:要模仿的用户的域 RID
/groups:组RID,域管理员的为512
/krbkey:krbtgt的AES256 密钥
最终命令为如下:
rubeus.exe diamong /tgt/deleg /ticketuser:<模仿对象>administrator /ticketuserid:<用户RID> /groups:512 /krbkey:<krbtgt的AES256密钥>8d253b4d7db4f28ccbb653ba5dfc3ba878bd376d99ab4859d575201935d79157 /nowrap
之后,我们导入票据即可。