微软在Windows平台上的Kerberos并没有采用标准的Kerberos协议实现,而是对Kerberos协议进行了一些扩充,其中最重要的扩充就是增加了认证过程中的权限认证,也就是在协议中增加了PAC(PrivilegeAttribute Certificate),特权属性证书。其中包括客户端User的SID、Group的SID。
危害:
允许攻击者将非特权的域用户帐户权限提升为域管理员帐户的权限。
MS14-068漏洞利用过程:
- 请求没有PAC作为标准用户的Kerberos TGT身份验证凭证,KDC使用TGT进行回复(没有PAC通常包含组成员资格,这是不寻常的)。
- 生成伪造的PAC,没有密钥,所以生成的PAC使用域用户的密码数据使用MD5算法而不是HMAC_MD5“签名”。
- 将无PAC的TGT发送到KDC,将伪造的PAC作为授权数据作为TGS服务票据请求的一部分。
- KDC似乎被这个混淆了,所以它丢弃了用户发送的无PAC的TGT,创建了一个新的TGT,并将伪造的PAC插入自己的授权数据中,并将该TGT发送给用户。
- 具有伪造PAC的TGT使用户能够成为易受攻击的KDC的域管理员。
暂时未理解透彻,努力更改......