AD域票据攻击之增强型金票、钻石&蓝宝石票据
字数 1871 2025-08-06 08:35:06
AD域票据攻击进阶:增强型金票、钻石票据与蓝宝石票据技术详解
0x00 前言
在AD域渗透的持久化阶段,黄金票据(Golden Ticket)和白银票据(Silver Ticket)是常用的方法,但它们存在一定的局限性且容易被检测。本文将深入探讨三种高级票据攻击技术:增强型黄金票据、钻石票据和蓝宝石票据,分析它们如何突破传统限制并绕过安全检测。
0x01 增强型黄金票据(Enhanced Golden Ticket)
基本概念
黄金票据是通过伪造域管理员权限的TGT(Ticket Granting Ticket),来换取任意服务的ST(Service Ticket),相当于获取了域内的最高权限。
制作条件
- 域名称
- 域SID值
- krbtgt账户的NTLM Hash或AES 256密钥
获取必要信息的方法
# 获取域名称和SID值
net time /domain
whoami /user
# 获取krbtgt账户hash密码(需要域管权限)
mimikatz # lsadump::dcsync /user:domain\krbtgt
或
mimikatz # lsadump::lsa /user:krbtgt /inject
制作金票并导入
mimikatz # kerberos::golden /admin:username /domain:domain /sid:sid /krbtgt:NTLM Hash
mimikatz # kerberos::ptt ticket.kirbi
普通金票的局限性
普通金票的使用权限被限制在当前域内,不能跨域使用。
增强型金票原理
通过给PAC(Privilege Attribute Certificate)增加Enterprise Admins组的权限实现跨域攻击。Enterprise Admins组存在于域林的根域中,拥有对整个域林的控制权。
实现跨域攻击步骤
- 获取根域的Enterprise Admins组的SID(通常为519)
- 使用子域krbtgt账户的密码Hash制作金票时添加该SID
mimikatz # kerberos::golden /admin:username /domain:domain /sid:sid /sids:xxx-519 /krbtgt:NTLM Hash /ptt
金票的异常行为特征
- 金票是离线生成的TGT
- 使用伪造用户(即使域内不存在该账号)
0x02 钻石票据(Diamond Ticket)
基本概念
钻石票据通过域内用户请求合法的TGT后,使用krbtgt的AES256密钥对PAC进行解密、修改、重新加密,从而绕过检测。
制作条件
- krbtgt账户的AES256密钥
- 域用户账号和密码
获取krbtgt的AES256密钥
mimikatz # privilege::debug
mimikatz # lsadump::dcsync /user:domain\krbtgt
使用Rubeus制作钻石票据
Rubeus.exe diamond /domain:DOMAIN /user:USER /password:PASSWORD /dc:DOMAIN_CONTROLLER /enctype:AES256 /krbkey:HASH /ticketuser:USERNAME /groups:GROUPS_ID(如512,518,519,520...)
导入并使用钻石票据
Rubeus.exe asktgs /ticket:ticket.kirbi /service:cifs/dc.domain.com /ptt
钻石票据的优势
- 有完整的Kerberos请求过程
- 修改的是合法TGT中的PAC,更加隐蔽
检测钻石票据的方法
- 4672事件(特权登录): 日志中的账号与实际域管账号不一致
- 4627事件(用户组信息): 检查Group Membership字段中低权限用户是否具有高权限组
- 4624事件(账户登录): 检查非常用IP地址段出现管理员登录的异常行为
0x03 蓝宝石票据(Sapphire Ticket)
基本概念
蓝宝石票据利用Kerberos的扩展S4U2self + U2U(User-to-User)来取得高权限用户的PAC,替换原始PAC,从而绕过检测。
攻击流程
- 域用户发起TGT请求
- 以administrator身份通过S4U2self发起自身的ST请求
- 使用U2U扩展获取目标用户的PAC
- 通过krbtgt账户密钥解密并将合法的高权限PAC附加到票据里
攻击复现步骤(域内Linux主机)
- 获取域SID和krbtgt账户密钥
- 在低权限主机上导入蓝宝石票据
- 成功访问域控
kerberos::ptc ignored.ccache
蓝宝石票据的关键特征
- S4U2self请求中包含PA-FOR-USER内容
- U2U实现必须指定ENC-TKT-IN-SKEY选项
- 请求中包含附加票证(Additional-tickets)
检测蓝宝石票据的难点与方法
由于蓝宝石票据具有合法的PAC,检测难度较大,可从以下方面入手:
- krbtgt密码hash被盗的行为(如DCSync攻击)
- 可疑工具的使用
- 具有S4U2Self+U2U的非常规KRB_TGS_REQ请求
- 高权限用户从低权限主机发出的KRB_TGS_REQ请求
0x04 防御建议
- 保护krbtgt账户: 定期更改krbtgt密码,实施双因子认证
- 监控异常事件: 重点关注4672、4627、4624等日志事件
- 限制特权组使用: 严格控制Enterprise Admins组成员
- 网络分段: 限制域控制器之间的通信
- 实施高级检测: 部署能够检测异常Kerberos流量的解决方案
0x05 总结
三种高级票据攻击技术各有特点:
| 攻击类型 | 特点 | 隐蔽性 | 检测难度 |
|---|---|---|---|
| 增强型金票 | 跨域攻击能力 | 低 | 容易 |
| 钻石票据 | 合法TGT+修改PAC | 中 | 中等 |
| 蓝宝石票据 | 合法PAC获取 | 高 | 困难 |
安全团队应深入了解这些攻击技术的原理和特征,才能有效防御和检测此类高级威胁。