MS14-068 原理

1. MS14-068 漏洞的本质

这个漏洞发生在域控制器(Domain Controller)处理 Kerberos TGT 请求的环节。它的根源是 Kerberos 的一个签名验证绕过漏洞

在一个正常的 Kerberos 认证流程中:

  1. 用户使用自己的凭证(密码哈希)向域控制器请求 TGT
  2. 域控制器验证用户的凭证,并生成一个 TGT。这个 TGT 内部包含了用户的身份信息、权限组等数据,并且会用域控制器自身的密钥进行签名,以确保其完整性
  3. 用户拿到 TGT 后,可以用它向域控制器请求其他服务的票据,从而访问域内资源

而 MS14-068 的漏洞就出在第2步:域控制器对 TGT 签名的验证逻辑存在缺陷

2. 详细原理:利用过程

MS14-068 的攻击利用过程可以分解为以下几个关键步骤:

  • 步骤一:收集信息 攻击者需要一个普通域用户账户的凭证(用户名、密码哈希或 AES 密钥)。这个账户不需要任何特殊权限。同时,攻击者还需要知道域控制器的域 SID
  • 步骤二:伪造 SID(SID Splicing) 这是攻击的核心。攻击者在本地伪造一个身份信息,其中包含了普通用户的 SID,但同时还偷偷插入了一个伪造的域管理员组 SID(通常是 S-1-5-21-XXX-519,也就是 Domain Admins 的组 SID)
  • 步骤三:绕过签名验证 攻击者将伪造的身份信息打包成一个伪造的 Kerberos 请求。由于域控制器的签名验证机制存在缺陷,它不会正确地校验票据的完整性。当它收到这个请求时,它会错误地认为这个请求是合法的
  • 步骤四:生成高权限 TGT 域控制器被成功欺骗,它会根据伪造的请求,生成一个错误的 TGT。这个 TGT 包含的权限信息是伪造的,即它会错误地授予用户域管理员组的权限。最重要的是,这个错误的 TGT 会被用域控制器自身的密钥签名
  • 步骤五:权限提升 攻击者拿到这个被域控制器“官方认证”的、拥有域管理员权限的 TGT 后,就可以用它自由地访问域内任何资源。这个伪造的 TGT 和真正的域管理员的 TGT 没有任何区别
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:57

results matching ""

    No results matching ""