随着操作系统和应用程序变得更难破解,成功的攻击通常需要两个或更多漏洞。此次发现的两个新漏洞,一个允许攻击者访问低特权的操作系统资源,在这些资源中可以执行代码或读取敏感数据。另一方面让攻击者能执行恶意代码或进行文件操作,这会使系统密码泄露或方便攻击者执行其他敏感操作。因此,近年来权限提升漏洞在网络安全领域越发重要。
Windows
当Windows漏洞曝光后,研究人员发现在即将推出的Windows 11的版本中,安全帐号管理数据库可以被有系统权限的用户读取。会导致本地用户可以直接将权限提升到 Windows 中的最高级别 System。
研究员 Jonas Lykkegaard 指出:“我还不知道这个事件的细节,但我认为问题很多;只是没有人怀疑这意味着什么,因为即使是沙盒应用程序,它也是系统的 EOP。”
回应 Lykkegaard 的人指出,该漏洞不是 Windows 11 特有的。相反,最新版本的 Windows 10 中存在相同的漏洞。美国计算机应急准备小组表示 ,该漏洞存在于 Volume Shadow复制服务——允许操作系统或应用程序在不锁定文件系统的情况下,可以打开在Windows上用于拍摄整个磁盘的“时间快照”的功能。
如果系统驱动器的 VSS 快照可用,则非特权用户可以对这些文件进行访问,造成较严重的影响,包括但不限于:
- 提取和利用账户密码
- 获取 Windows原始的安装密码
- 获取可用于解密其他计算机私钥的密钥
- 获取电脑账号以用于白银票据(Silver Ticket)攻击
请注意,在某些配置中可能无法使用 VSS 快照;但是,只需拥有一个大于 128GB 的系统驱动器,然后执行 Windows 更新或安装 MSI,即可确保自动创建VSS 快照。要检查系统是否有可用的 VSS 快照,可以从特权命令提示符运行以下命令:vssadmin list shadows
一位微软代表表示,目前没有可用的补丁,公司安全人员正在调查该漏洞,并将根据需要采取适当的行动。同时该漏洞被跟踪为 CVE-2021-36934,微软认为,在公网漏洞更为普遍。
Linux
与此同时,大多数版本的 Linux 正在分发针对周二披露的漏洞的修复程序。随着对漏洞的跟踪发现,漏洞(CVE-2021-33909)允许不受信任的用户通过创建、挂载和删除总路径长度超过1GB的深层目录结构这样的方式,来打开和读取/proc/self/mountinfo文件来获得不受约束的系统权限。
发现该漏洞的安全公司 Qualys 的研究人员表示:“我们成功地利用了这种不受控制的越界写入,并获得了默认安装的 Ubuntu 20.04、Ubuntu 20.10、Ubuntu 21.04、Debian 11 和 Fedora 34 Workstation 的完全 “root 权限”,并创建了利用它的POC。
Qualys表示该漏洞的利用需要巨大的开销,特别是大约 100 万个嵌套目录。攻击还需要大约 5GB 的内存和 100 万个inode。尽管存在障碍,但 Qualys 的一位代表将 POC 描述为“极其可靠”,并表示大约需要三分钟就能完成。
以下漏洞利用的概述:
1、我们 mkdir() 一个总路径长度超过 1GB 的深层目录结构(大约 1M 嵌套目录),我们将它绑定挂载到一个非特权用户命名空间,然后 rmdir() 它。
2、然后创建了一个线程,它 vmalloc() 访问一个小的 eBPF 程序(通过 BPF_PROG_LOAD),并且我们在eBPF程序被 JIT 编译之前,且被内核 eBPF 验证器验证之后,进行线程阻塞(通过内核中的userfaultfd 或 FUSE)从而将字符串“//deleted”在 vmalloc() 化缓冲区的开头下方写入-2GB-10B 的偏移量 。
3、在我们的非特权用户命名空间中 open() /proc/self/mountinfo 并开始 read() 我们的绑定挂载目录的长路径,从而将字符串“//deleted”在 vmalloc() 化缓冲区的开头下方写入-2GB-10B 的偏移量 。
4、把这个“//deleted”字符串覆盖我们经过验证的 eBPF 程序的一条指令(从而使内核 eBPF 验证器的安全检查无效)并将这个不受控制的越界写入转换为信息披露和有限但受控的越界写入。
5、我们通过重用 Manfred Paul 的 btf 和 map_push_elem 技术,将这个有限的越界写入转换为内核内存的任意读写:
https://www.thezdi.com/blog/2020/4/8/cve-2020-8835-linux-kernel-privilege-escalation-via-improper-ebpf-program-verification