导语:Project Zero研究人员日前泄漏了Windows Lockdown策略的0day漏洞,攻击者利用该漏洞可以绕过开启用户模式代码完整性校验(User Mode Code Integrity,UMCI)的系统上的Windows Lockdown策略。

Google Project Zero研究人员James Forshaw公布了一个Windows 10的一个0day漏洞,因为根据Google的漏洞披露政策,如果漏洞被报告后超过90天就可以公共该漏洞。

该漏洞影响所有开启UMCI的Windows 10系统,Forshaw还在Windows 10S系统上成功利用了该漏洞。

漏洞

Google发布的安全通告称,Windows Lockdown策略存在0day漏洞。攻击者利用该漏洞可以绕过开启用户模式代码完整性校验(User Mode Code Integrity,UMCI)的系统上的Windows Lockdown策略。

研究人员发现通过使用.NET的bug可以绕过Windows Lockdown策略对COM类实例的检查,导致UMCI开启的系统中任意代码执行。WLDP COM类lockdown策略含有一个8-50个COM对象的硬编码列表,开启的脚本引擎可以实例化这些COM对象。即使攻击者可以在允许的COM CLSIDs范围内注册现有的DLL,那么在检查传递给DllGetObject的CLSID时间也会被检查出,达到预防攻击的目的。

当.NET COM对象实例化时,传递给DllGetClassObject的CLSID只用来在HKCR中查询注册信息,然后CLSID会被丢弃,并创建一个.NET对象。因此,攻击者可以在允许的CLSID范围内,通过添加注册表来加载任意的COM可见类。

POC

研究人员公布了该漏洞的POC代码,其中POC代码含有两个文件:

.inf 文件,用来设置注册表;

.sct文件,用DotNetToJScript创建的,可以用来加载不可信的.NET库到内存中来显示一个消息框。

Google的研究人员1月19号就向微软报告了该漏洞,但微软至今尚未修复该漏洞。该漏洞只影响那些开启了Device Guard的系统,而且只是在这样的设备上获取持久代码执行的一种方法。所以既不是远程利用,也不是权限提升的漏洞。研究人员强调攻击者需要获取系统的权限才能利用该漏洞和安装注册表。

参考及来源:

https://securityaffairs.co/wordpress/71689/hacking/windows-lockdown-policy-0day.html

https://www.securityweek.com/google-discloses-windows-lockdown-policy-zero-day

https://bugs.chromium.org/p/project-zero/issues/detail?id=1514&q=

源链接

Hacking more

...