前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新洞速递|CVE-2021-34484|POC

新洞速递|CVE-2021-34484|POC

作者头像
用户5878089
发布2021-11-19 16:12:51
6610
发布2021-11-19 16:12:51
举报
文章被收录于专栏:网络攻防实战知识交流

前言

说了两位编辑不给力,还得让我点个名儿:说了还是不给力,得再通报一下,大家可以在后台好好催催。作为脚本小子的我的,每天按照

1637071754858

概述

新的 Windows 0day 权限提升漏洞,影响所有 Windows 版本。

8 月,微软发布了 CVE-2021-34484 Windows 用户配置服务权限提升漏洞的安全补丁。补丁发布后,安全研究人员 Naceri 发现该补丁并没有完全修复该漏洞,可以使用新的漏洞利进行绕过。

细节

技术上,在先前的报告CVE-2021-34484中。我描述了一个bug,您可以滥用用户配置文件服务来创建第二个连接。 但正如我从ZDI advisory和Microsoft修补程序中看到的,该漏洞被视为任意目录删除漏洞。 微软没有修补报告中提供的内容,而是修补了PoC的影响。由于我以前编写的PoC非常糟糕,它只能复制一个目录删除错误。 根据快速补丁分析,他们没有对代码做任何重大更改

1637076596987他们只删除了删除目录的CDirectoryRemover析构函数。不幸的是,这还不足以修复这个bug。 为什么? 只是因为锁定机制仍然无法正确锁定目录。因此,我们可以滥用服务在任意位置创建第二个目录连接

1637076596987上面的代码片段显示了锁定机制是如何工作的。 首先,服务创建目标目录并调用PathchreMoveFileSpec以获取父目录的字符串,接下来它将调用CreateFileW,并在所需的访问和允许的共享中使用GENERIC_READ和FILE_SHARE_READ。最后,该服务通过调用GetFileInformationByHandleEx确保父目录不是连接。 这通常应该能够修复任何与连接相关的bug,但它不能。 这段代码只期望我们不能控制两个父目录,在我们的情况下,我们可以 在CVE-2021-26426中,我选择了“C:\Users\Temp\Documents\My Pictures”连接创建作为目标。Microsoft修补程序在这种情况下是正确的,我们可以清楚地看到,由于用户配置文件服务引入的锁定,用户无法控制C:\Users\Temp但不是在“C:\Users\Temp\AppData\Local\History”的情况下,这里我们控制他们的父文件夹C:\Users\Temp\AppData,因为它没有被服务锁定。显然,我们可以将AppData文件夹作为其他地方的连接,这样CreateFileW和GetFileInformationByHandleEx检查都会成功。 完成后,我们将再次出现任意连接创建错误! PoC已经在windows 11上进行了测试,并于2021年10月发布了补丁。

复现

POC地址

代码语言:javascript
复制
https://github.com/klinix5/ProfSvcLPE

截图来自网络

img

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无级安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 概述
      • 细节
        • 复现
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档