Add files via upload
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
### 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 没有任何区别
|
||||
Reference in New Issue
Block a user