MS14-068 漏洞分析—不安全的PAC

前言

这是一个危害较高的漏洞:只需要一个域内的普通用户的账户密码,便可拿到域控的权限

建议看本文章前,先把之前写的NTLM与kerberos认证体系详解这篇文章看完。

漏洞原因简述

利用伪造的高权限的PAC来获取一个带有高权限PAC的TGT。
(关于pac是什么可以看完上面的那个文章)

在我们的AS_REQ 请求中如果include-pac被置为 true,那么我们的 AS 会在返回的 TGT 中加入 PAC信息,如果我们在 AS_REQ 数据包中,将include-pac被置为 false,那么 AS_REP 返回的 TGT 中就不会包含 PAC
信息。在TGT中没有PAC信息后,我们就可以使用域用户去伪造"恶意"的PAC放入TGS_REQ中,KDC解密PAC后会再次加密到一个新的TGT中并返回给域用户(注意这里KDC返回的是一个TGT并不是一个ticket),此时的TGT中已经携带了“恶意”PAC,也就达到漏洞利用的目的。

详细原因

  1. KDC机构对PAC进行验证时,对于PAC尾部的签名算法,理上规定必须是带有Key的签名算法才可以,但实际上却允许任意签名算法,所以只要我们客户端去随便指定一个方便验证通过的签名算法,那么KDC服务器就会使用我们指定的算法来进行签名验证。比如说我们可以规定使用md5算法,将 md5(内容) 来作为签名,这样当KDC接收以后,发现我们在数据包中规定了使用md5算法,那么KDC就会将我们的内容进行md5后与我们的签名进
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值