在Windows中,有一个未修补的安全漏洞,该漏洞可能会允许普通用户将本地权限提升到系统权限,但此时微软并未将该漏洞完全解决,这时一个非官方的微补丁出现了。
该漏洞(CVE-2021-34484)最初是在微软8月份的更新披露中发布的。当时,它被研究人员归类为一个任意目录删除漏洞,该漏洞由于是低优先级的,因为攻击者需要在本地登录到目标计算机后才可以利用它,从理论上讲,这将允许攻击者删除文件和文件夹。
然而,发现该问题的安全研究员很快又发现,它也可以被用于权限升级攻击,这是两个完全不同的漏洞。系统级用户可以访问网络中其他部分的资源、数据库和服务器。
研究人员还看了看微软的原始补丁,随后通过对他的漏洞利用代码进行简单调整,找到了一个绕过补丁的方法,基本上可以将该漏洞恢复到零日状态。
0Patch的研究人员在周四的文章中解释说,该漏洞主要存在于用户的配置文件服务中,特别是在用户的原始配置文件因某种原因被损坏或锁定时,很容易被攻击者攻击。将文件夹和文件从用户的原始配置文件复制到临时文件夹的过程(作为本地系统执行),可以通过符号链接进行攻击。在系统位置创建攻击者有写入权限的文件夹,随后启动的系统进程将会从该文件夹加载并执行攻击者的DLL。
该漏洞是可以被直接攻击的。攻击者将创建一个特制的符号链接(本质上是一个指向特定文件或文件夹的快捷链接),然后将其保存在临时用户配置文件的文件夹(C:\Users\TEMP)中。
然后,当用户配置文件服务从用户的原始配置文件夹中复制一个文件夹时,符号链接将迫使它在攻击者没有权限创建文件夹的地方创建一个包含恶意DLL有效载荷的文件夹。
即使微软认为这个漏洞只是允许删除一个文件名中含有'符号链接'的文件夹,但还是做了一个概念上的修复,它检查了C:\Users\TEMP下的目标文件夹是否是一个符号链接,如果是,就中止操作。正如研究人员所注意到的,这个修复措施的不合理性在于,符号链接不需要在最上层的文件夹中(微软的修复检查),而是可以在目标路径上的任何文件夹中。
微软发布的补丁通过调用 "GetFinalPathNameByHandle "函数,将符号链接的安全检查扩展到了整个目标路径,从而解决了这个问题。
应该注意的是,对漏洞进行一次完整的利用需要攻击者能够获得无限次攻击尝试的条件,因为此时系统将会同时执行两个操作(一个是恶意的,一个是合法的)。此外,尽管研究人员认为不知道别人的密码也有可能对该漏洞进行利用,但到目前为止,如何获得目标计算机用户的凭证仍然是一个难题。
该漏洞会影响到Windows 10(包括32位和64位)v21H1、v20H2、v2004和v1909版本;以及Windows Server 2019 64位。
微软对此并没有发布任何官方补丁发布的时间表,也没有立即回应评论。