CVE-2023-21752 Windows 备份服务漏洞分析

admin 2023年3月23日11:37:24评论26 views字数 1787阅读5分57秒阅读模式
CVE-2023-21752 Windows 备份服务漏洞分析

简介

Windows备份服务为计算机提供备份和还原的功能。它依赖于Microsoft Windows备份引擎,提供了备份和还原的基本功能,例如备份系统镜像、文件、文件夹和应用程序数据等。CVE-2023-21752微软在2023年1月份修复的一个位于Windows备份服务中的任意文件删除漏洞。由于Windows备份引擎在文件夹权限验证时处理不当,攻击者可构造恶意代码实现任意文件删除,进而导致特权提升。

01:漏洞分析

sdengin2.dll是Microsoft Windows备份引擎的一个动态链接库文件,用于提供备份和还原功能的底层支持,漏洞出现在IsWritable函数中 :

CVE-2023-21752 Windows 备份服务漏洞分析

函数功能比较简单,该函数功能为判断文件或者文件夹是否可写,如果openFlag=7,说明该路径是文件夹,则调用GetTempFileNameW创建一个临时文件,并且删除该文件,如果删除成功则说明该文件夹可写。其次如果是文件,则尝试打开文件后调用DeviceIoControl函数向文件发送一个请求,判断文件是否可写。如果返回成功,则说明该文件可写。

这里我们可以可以去查看GetTempFileNameW的实现

CVE-2023-21752 Windows 备份服务漏洞分析

可以看到在最终的CreateFileW中,dwFlagsAndAttributes为0x80,也就是FILE_ATTRIBUTE_NORMAL,微软对其的解释是,该文件没有设置其他属性。此属性仅在单独使用时有效。也就是说,该临时文件并未被被锁住,我们可以在创建临时文件后,删除文件前的时间窗口内在其他线程内用机会锁锁住该临时文件,并且将其文件路径指到任意文件漏洞后释放机会锁,触发SxDeleteFile实现任意文件删除。所以这是一个由条件竞争引起的任意文件删除漏洞。

02:漏洞验证

对IsWritable函数进行交叉引用,可以找到一个比较方便的触发路径,也就是CSdCommonImpl::QueryStorageDevice,

CVE-2023-21752 Windows 备份服务漏洞分析

可以看出QueryStorageDevice是一个名为SdEngine2的com接口,而由于sdengin2.dll的特殊性,这个接口无法为我们直接使用,由于其本身是服务于SDRSVC备份服务,最终在sdrsvc.dll里面的CSdController::QueryDeviceProperties找到调用操作,函数中调用了ISdCommon2 COM接口中的方法,用于查询设备属性。

CVE-2023-21752 Windows 备份服务漏洞分析

而查看该函数的虚表,可知该函数为SdController中的ISdScheduledBackup com接口。

CVE-2023-21752 Windows 备份服务漏洞分析

那么我们可以通过调用ISdScheduledBackup com接口,从而触发漏洞函数。

这里我们通过ReadDirectoryChanges函数监控目标函数创建文件行为后创建机会锁锁住该文件,然后设置文件路径指向目标文件后释放机会锁,从而实现任意文件删除。

CVE-2023-21752 Windows 备份服务漏洞分析

03:漏洞修复

对sdengin2.dll进行diff,如下图所示。

CVE-2023-21752 Windows 备份服务漏洞分析

可以看到,在补丁更新后,原本的创建临时文件然后删除的流程被更改成了由CheckDevicePathIsWritable判断。

而在CheckDevicePathIsWritable中。

CVE-2023-21752 Windows 备份服务漏洞分析

可以看到创建文件依然存在,但只是dwFlagsAndAttributes属性变为0x4000080,查询文档后得知加入了FILE_FLAG_DELETE_ON_CLOSE属性,即:该文件将在其所有句柄关闭后立即删除,其中包括指定的句柄和任何其他打开或重复的句柄。

这就意味着,该补丁将创建和删除文件操作合并为一步,从而消除了条件竞争的问题。

参考文献

[1] https://github.com/Wh04m1001/CVE-2023-21752

[2] https://paper.seebug.org/2045/

CVE-2023-21752 Windows 备份服务漏洞分析

绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。

研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。

原文始发于微信公众号(M01N Team):CVE-2023-21752 Windows 备份服务漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月23日11:37:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-21752 Windows 备份服务漏洞分析http://cn-sec.com/archives/1622126.html

发表评论

匿名网友 填写信息