MS14-068 漏洞分析


MS14-068 漏洞分析

漏洞简介

2014.11.18日,微软发布 MS14-068 补丁,修复了一个影响全部版本 Windows 服务器的严重漏洞。用于解决 Microsoft Windows Kerberos KDC 漏洞,该漏洞允许黑客提升任意普通用户权限成为域管理员身份。攻击者可以利用这些提升的权限控制域中所有的计算机,包括域服务器。

原理分析

kerberos 认证流程

Server 收到 Client 发来的 TGS 后,要根据 TGS 中 Client 申明所在的域组,和 Server 上的 ACL 进行比对,然后决定给予 Client 什么样的资源访问权限。

微软使用 PAC 来表示 TGS 中 Client 申明的域组。PAC (Privilege Attribute Certificate),特权属性证书。

PAC

PAC 包含 Client 的 User 的 SIDGroup 的 SID。PAC 决定了 Client 的组属性,即决定了 Client 的权限

PAC 为了保证自身的合法性,还包含 2 个签名,Key 为 krbtgt 的 NTLM,签名的内容除了 User SID、Group SID 外,还有其他部分

PAC 作为 TGT 的一部分,是加密的,密钥为 krbtgt 的 NTLM

Client 向 KDC 的 AS 模块发起认证请求,AS 返回 TGT 时,会根据 Client 所在的组,生成PAC,包含 Client 的 User SID、Group SID,以及用于确保 PAC 不被篡改的 2 个签名

将 PAC 作为 TGT 的一部分,发送给 Client。

Client 使用 TGT 向 KDC 的 TGS 模块发起访问 Server 服务时,KDC 的 TGS 模块首先解密TGT,并通过校验 2 个签名,以验证 PAC 的合法性。

如果通过验证,KDC 的 TGS 模块用 2 个新的签名替代老的签名来保证 PAC 不被篡改。第一个签名的密钥为 Server 的 NTLM,第二个密钥为 Server 与 Client 的临时会话密钥。

重新签名后的 PAC 被放置在签发的访问票据 TGS 中,使用 Server 的 NTLM 作为密钥被加密保护

Server 收到来自 Client 的 TGS 后,解密 TGS 验证合法性,校验 PAC 中的 2 个签名,确认 PAC 的合法性,然后确认 Client 的访问权限。

漏洞成因

Client 在发起认证请求时,通过设置 include-PACFalse,则返回的 TGT 中不会包含 PAC

KDC 对 PAC 进行验证时,对于 PAC 尾部的签名算法,虽然原理上规定必须是带有 Key 的签名算法才可以,但微软在实现上,却允许任意签名算法,只要客户端指定任意签名算法,KDC 服务器就会使用指定的算法进行签名验证。

因此伪造的任意内容都可以是合法的,直接加上内容的值作为签名即可(第一个原因)

PAC 没有被放在 TGT 中,放在其它地方。KDC 在仍然能够正确解析出没有放在 TGT 中的 PAC 信息

PAC 必须是密文,经过 Key 加密的

KDC 会从 Authenticator 中取出来 subkey,把 PAC 信息解密并利用客户端设定的签名算法验证签名(第二个原因)

KDC 验证缺少 PAC 的 TGT 成功后,再验证不在 TGT 中的 PAC 的合法性。
如果 2 个均验证成功,KDC 把 PAC 中的 User SID、Group SID 取出来,重新使用进行签名,签名算法和密钥与设置 inclue-pac 标志位为 TRUE 时一模一样。将新产生的 PAC 加入到解密后的 TGT 中,再重新加密制作全新的 TGT 发送给 Client,不是 TGS (第三个原因)


文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
Django 任意URL跳转漏洞 Django 任意URL跳转漏洞
Django < 2.0.8 任意URL跳转漏洞(CVE-2018-14574)Django默认配置下,如果匹配上的URL路由中最后一位是/,而用户访问的时候没加/,Django默认会跳转到带/的请求中。(由配置项中的django.m
2019-06-07 Geekby
下一篇 
组策略的部署及下发原理 组策略的部署及下发原理
组策略的部署及下发原理本地组策略和域内组策略 域服务器如何存储组策略 组策略的下发与获取 客户端如何存储组策略 组策略的部署Windows 2016 自带 Server Manager 组策略管理工具 更专业的组策略管理工具 GPMC,可以
2019-05-02
  目录