Kerberos不是你的朋友:从协议原理到Kerberoasting、GoldenTicket全攻击链

admin 2026-04-07 00:40:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文从攻击者视角剖析Kerberos协议安全弱点,详细解析认证流程中TGT用krbtgt密钥加密、ST用服务账户密钥加密等设计特征导致的攻击面。重点阐述Kerberoasting攻击原理:任何域用户均可请求服务票据并离线破解服务账户密码,同时介绍GoldenTicket、AS-REPRoasting等攻击手法,为AD域渗透测试提供技术参考。 综合评分: 87 文章分类: 渗透测试,内网渗透,漏洞分析,红队,WEB安全


cover_image

Kerberos不是你的朋友:从协议原理到Kerberoasting、Golden Ticket全攻击链

原创

极客零零七 极客零零七

极客零零七

2026年4月4日 19:50 加拿大

极客零零七 · AD攻击系列 · 第2篇


上一篇我们拿到了第一个域凭据。现在的问题是:拿着这个凭据能做什么? 答案藏在Kerberos协议里。

Active Directory的身份认证核心是Kerberos协议。理解Kerberos的工作原理,是理解几乎所有AD攻击技术的前提——Kerberoasting、AS-REP Roasting、Golden Ticket、Silver Ticket、Pass-the-Ticket、Delegation攻击,全部建立在Kerberos的设计之上。

本文从攻击者的视角,拆解Kerberos每一步认证中可被利用的弱点。

一、Kerberos认证流程:三次握手背后的信任链

Kerberos的核心思想是”票据”——用户不直接向服务出示密码,而是持票据证明身份。整个流程涉及三个角色:

  • 客户端(Client):请求访问资源的用户

  • KDC(Key Distribution Center):域控制器上运行的认证服务,包含两个子服务

  • AS(Authentication Service):负责验证用户身份,颁发TGT

  • TGS(Ticket Granting Service):根据TGT颁发服务票据ST

  • 服务端(Service):目标资源服务器

完整认证流程

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
&nbsp; 客户端 KDC(域控) 服务端&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |--- AS-REQ ------------->|&nbsp; (1) 用户名+时间戳 &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; (用用户密码哈希加密) &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; (证明知道密码) &nbsp; &nbsp; &nbsp;&nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |<-- AS-REP --------------|&nbsp; (2) 返回TGT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; (TGT用krbtgt密钥加密) &nbsp;|&nbsp; &nbsp; &nbsp; (用户无法解密TGT) &nbsp;&nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |--- TGS-REQ ------------>|&nbsp; (3) 出示TGT,请求 &nbsp; &nbsp; &nbsp;&nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; (附带目标服务SPN) &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; 访问某服务 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |<-- TGS-REP -------------|&nbsp; (4) 返回ST(服务票据) &nbsp;&nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; (ST用服务账户密钥加密) &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |--- AP-REQ ------------------------------>|&nbsp; (5) 出示ST&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |<-- AP-REP -------------------------------|&nbsp; (6) 验证通过

关键设计特征(也是攻击面的根源)

  1. TGT用krbtgt账户的密钥加密——谁拥有krbtgt的密钥,谁就能伪造任意TGT(Golden Ticket)
  2. ST用目标服务账户的密钥加密——谁拥有服务账户的密钥,谁就能伪造该服务的票据(Silver Ticket)
  3. 任何域用户都可以请求任何SPN的ST——这是Kerberoasting攻击的基础
  4. AS-REP中的部分数据用用户密钥加密——如果用户未启用预身份验证,攻击者可以离线破解(AS-REP Roasting)

二、Kerberoasting:用合法功能偷密码

攻击原理

Kerberos协议有一个”设计特性”:任何经过身份验证的域用户,都可以向KDC请求任何注册了SPN(Service Principal Name)的服务票据。KDC不会检查请求者是否真的有权访问该服务——它只管发票。

返回的服务票据(ST)使用目标服务账户的NTLM哈希加密。攻击者拿到这个加密的票据后,可以在本地离线暴力破解——整个过程不会产生任何登录失败日志

这就是Kerberoasting的恐怖之处:它完全合法,几乎无法被检测。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:极客零零七 极客零零七 极客零零七《Kerberos不是你的朋友:从协议原理到Kerberoasting、Golden Ticket全攻击链》

评论:0   参与:  0