Windows域内机器本地攻击安全通告
发布时间 2019-03-06漏洞编号和级别
CVE编号:暂无,危险级别:高危, CVSS分值:官方未评定
影响范围
受影响软件以及版本:
Windows域环境
漏洞概述
来自Shenanigans Labs的安全研究员公布了一种利用基于资源的约束委派(Resource-Based Constrained Delegation)进行活动目录攻击的方式,该攻击方式可能对域环境造成严重威胁,攻击者能够令普通的域用户以域管理员身份访问本地计算机的服务,实现本地权限提升。
漏洞细节
相关背景
委派(Delegation)是一种让用户可以委托服务器代表自己与其他服务进行验证的功能,主要用于当服务需要以某个用户的身份来请求访问其他服务资源的场景。
对于不同委派的工作模式,假设A为IIS Web Server,B为SQL Server,A需要使用数据库B以支撑用户访问。
传统的约束委派是“正向的”,通过修改服务A属性”msDS-AllowedToDelegateTo”,添加服务B的SPN(Service Principle Name),设置约束委派对象(服务B),服务A便可以模拟用户向域控制器请求访问服务B以获得TGS服务票据来使用服务B的资源。
而基于资源的约束委派则是相反的,通过修改服务B属性”msDS-AllowedToActOnBehalfOfOtherIdentity”,添加服务A的SPN,达到让服务A模拟用户访问B资源的目的。
攻击原理
安全研究员Elad Shami在其报告中指出,无论服务账号的UserAccountControl属性是否被设TrustedToAuthForDelegation,服务自身都可以调用S4U2Self为任意用户请求访问自己的TGS服务票据。但是当没有设置时,通过S4U2Self请求得到的TGS服务票据是不可转发的。
如果通过S4U2Self获得的TGS服务票据被标志为可转发,则该票据可以在接下来的S4U2Proxy中被使用,而不可转发的TGS服务票据是无法通过S4U2Proxy转发到其他服务进行传统的约束委派认证的。
可关键在于,不可转发的TGS服务票据竟然可以用于基于资源的约束委派。S4U2Proxy会接收这张不可转发的TGS服务票据,请求相关服务并最后得到一张可转发的TGS 服务票据。
攻击流程
引用报告中原图说明该攻击步骤:
如果能够在B上配置基于资源的约束委派让服务A访问(拥有修改服务B的msDS-AllowedToActOnBehalfOfOtherIdentity属性权限),并通过服务A使用S4U2Self向域控制器请求任意用户访问自身的TGS 服务票据,最后再使用S4U2Proxy转发此票据去请求访问服务B的TGS服务票据,那么就将能模拟任意用户访问B的服务!
修复建议
缓解措施:
1. 在高权限账户属性设置中,将其设置为“敏感账户,不能被委派”。
2. 将高权限账户加入被保护组。
3. 启用LDAP签名和channel binding能修复通过NTLM中继的本地提权。
参考链接


京公网安备11010802024551号