前言
最近twitter上关于CVE,应该是CVE-2022-33679比较火了,但是资料也是比较少,下面来唠唠吧。
kerberos认证原理
先了解几个概念
认证服务(Authentication server):简称AS,认证客户端身份提供认证服务。
域控服务器(Domain Control):即DC。
服务票据(Server Ticket):简称ST,在Kerberos认证中,客户端请求的服务通过ST票据认证。
票据授予服务(Ticket Granting server):简称TGS,颁发服务票据(server ticket)。
活动目录(Active Directory):简称AD,包含了域中所有的对象(用户,计算机,组等)
KDC密钥颁发中心(KDC):域控担任
特权属性证书(Privilege Attribute Certificate):简称PAC,所包含的是各种授权信息, 例如用户所属的用户组, 用户所具有的权限等。
下图为Kerberos的认证过程:
一个完整的认证流程基本上分为8个步骤
1.客户端用户向KDC发送请求,包含用户名,主机名和时间戳。AS接收请求
2.AS对客户端用户身份认证后给客户端返回票据授予票据
3.客户端使用TGT到票据分发服务(TGS)请求访问服务器A的服务票据(ST)
4.TGS给客户端分发ST
5.客户端使用ST请求服务器A
6.服务器A解密ST票据得到特权属性证书PAC,服务器A请求域控AD需确认用户权限
7.域控将PAC解密获取用户SID和用户权限的结果返回给服务器A
8.用户身份符合则进行第最后的返回信息,整个Kerberos认证结束。
黄金票据
原理:
Kerberos黄金票据是有效的TGT Kerberos票据,是由域Kerberos帐户加密和签名的 。TGT仅用于向域控制器上的KDC服务证明用户已被其他域控制器认证。TGT被KRBTGT密码散列加密并且可以被域中的任何KDC服务解密的。
相当于跳过上面图片中过的