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),相当于获取了域内的最高权限。

制作条件

  1. 域名称
  2. 域SID值
  3. 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组存在于域林的根域中,拥有对整个域林的控制权。

实现跨域攻击步骤

  1. 获取根域的Enterprise Admins组的SID(通常为519)
  2. 使用子域krbtgt账户的密码Hash制作金票时添加该SID
mimikatz # kerberos::golden /admin:username /domain:domain /sid:sid /sids:xxx-519 /krbtgt:NTLM Hash /ptt

金票的异常行为特征

  1. 金票是离线生成的TGT
  2. 使用伪造用户(即使域内不存在该账号)

0x02 钻石票据(Diamond Ticket)

基本概念

钻石票据通过域内用户请求合法的TGT后,使用krbtgt的AES256密钥对PAC进行解密、修改、重新加密,从而绕过检测。

制作条件

  1. krbtgt账户的AES256密钥
  2. 域用户账号和密码

获取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

钻石票据的优势

  1. 有完整的Kerberos请求过程
  2. 修改的是合法TGT中的PAC,更加隐蔽

检测钻石票据的方法

  1. 4672事件(特权登录): 日志中的账号与实际域管账号不一致
  2. 4627事件(用户组信息): 检查Group Membership字段中低权限用户是否具有高权限组
  3. 4624事件(账户登录): 检查非常用IP地址段出现管理员登录的异常行为

0x03 蓝宝石票据(Sapphire Ticket)

基本概念

蓝宝石票据利用Kerberos的扩展S4U2self + U2U(User-to-User)来取得高权限用户的PAC,替换原始PAC,从而绕过检测。

攻击流程

  1. 域用户发起TGT请求
  2. 以administrator身份通过S4U2self发起自身的ST请求
  3. 使用U2U扩展获取目标用户的PAC
  4. 通过krbtgt账户密钥解密并将合法的高权限PAC附加到票据里

攻击复现步骤(域内Linux主机)

  1. 获取域SID和krbtgt账户密钥
  2. 在低权限主机上导入蓝宝石票据
  3. 成功访问域控
kerberos::ptc ignored.ccache

蓝宝石票据的关键特征

  1. S4U2self请求中包含PA-FOR-USER内容
  2. U2U实现必须指定ENC-TKT-IN-SKEY选项
  3. 请求中包含附加票证(Additional-tickets)

检测蓝宝石票据的难点与方法

由于蓝宝石票据具有合法的PAC,检测难度较大,可从以下方面入手:

  1. krbtgt密码hash被盗的行为(如DCSync攻击)
  2. 可疑工具的使用
  3. 具有S4U2Self+U2U的非常规KRB_TGS_REQ请求
  4. 高权限用户从低权限主机发出的KRB_TGS_REQ请求

0x04 防御建议

  1. 保护krbtgt账户: 定期更改krbtgt密码,实施双因子认证
  2. 监控异常事件: 重点关注4672、4627、4624等日志事件
  3. 限制特权组使用: 严格控制Enterprise Admins组成员
  4. 网络分段: 限制域控制器之间的通信
  5. 实施高级检测: 部署能够检测异常Kerberos流量的解决方案

0x05 总结

三种高级票据攻击技术各有特点:

攻击类型 特点 隐蔽性 检测难度
增强型金票 跨域攻击能力 容易
钻石票据 合法TGT+修改PAC 中等
蓝宝石票据 合法PAC获取 困难

安全团队应深入了解这些攻击技术的原理和特征,才能有效防御和检测此类高级威胁。

AD域票据攻击进阶:增强型金票、钻石票据与蓝宝石票据技术详解 0x00 前言 在AD域渗透的持久化阶段,黄金票据(Golden Ticket)和白银票据(Silver Ticket)是常用的方法,但它们存在一定的局限性且容易被检测。本文将深入探讨三种高级票据攻击技术:增强型黄金票据、钻石票据和蓝宝石票据,分析它们如何突破传统限制并绕过安全检测。 0x01 增强型黄金票据(Enhanced Golden Ticket) 基本概念 黄金票据是通过伪造域管理员权限的TGT(Ticket Granting Ticket),来换取任意服务的ST(Service Ticket),相当于获取了域内的最高权限。 制作条件 域名称 域SID值 krbtgt账户的NTLM Hash或AES 256密钥 获取必要信息的方法 制作金票并导入 普通金票的局限性 普通金票的使用权限被限制在当前域内,不能跨域使用。 增强型金票原理 通过给PAC(Privilege Attribute Certificate)增加Enterprise Admins组的权限实现跨域攻击。Enterprise Admins组存在于域林的根域中,拥有对整个域林的控制权。 实现跨域攻击步骤 获取根域的Enterprise Admins组的SID(通常为519) 使用子域krbtgt账户的密码Hash制作金票时添加该SID 金票的异常行为特征 金票是离线生成的TGT 使用伪造用户(即使域内不存在该账号) 0x02 钻石票据(Diamond Ticket) 基本概念 钻石票据通过域内用户请求合法的TGT后,使用krbtgt的AES256密钥对PAC进行解密、修改、重新加密,从而绕过检测。 制作条件 krbtgt账户的AES256密钥 域用户账号和密码 获取krbtgt的AES256密钥 使用Rubeus制作钻石票据 导入并使用钻石票据 钻石票据的优势 有完整的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账户密钥 在低权限主机上导入蓝宝石票据 成功访问域控 蓝宝石票据的关键特征 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获取 | 高 | 困难 | 安全团队应深入了解这些攻击技术的原理和特征,才能有效防御和检测此类高级威胁。