漏洞
漏洞存在于负责可通过 RPC 访问的 ClipboardChange 事件的代码中。本地用户可以向RPC服务器发送数据,然后写入C:\Sysmon目录(默认ArchiveDirectory),之后删除。在 14.11 之前的版本中,Sysmon 不会检查目录是否由低权限用户创建,或者它是否是一个可以被滥用以在 NT AUTHORITY\SYSTEM 用户的上下文中执行任意文件删除/写入的连接(有点受限,因为您只能写入字符串) . 在 14.11/14.12 版本中,初始修复后,Sysmon 将检查目录是否存在,如果目录存在,将拒绝写入/删除文件。通过让 Sysmon 首先创建 C:\Sysmon 目录(使用 CreateDirectory API)并在调用 SetFileSecurity 并更改 C:\Sysmon 目录上的 DACL 之前打开它的句柄来绕过这个补丁。
开发
所有测试均在 Windows 10 上完成。
在我的 PoC 中,我链接了任意文件删除/写入,首先删除打印机驱动程序的设置信息文件,然后写入修改后的 .INF 文件(因为后台处理程序服务默认启用,低权限用户可以在 Windows 客户端上重新安装打印机驱动程序)。安装信息文件可以被滥用来执行所有类型的操作,如服务创建、注册表修改、文件复制等。我选择复制一些打印机默认 DLL 在 c:\windows\system32 中并设置权限,以便低权限用户可以修改它,这是使用 CopyFiles 指令完成的(https://learn.microsoft.com/en-us/windows-hardware/drivers/install/inf-copyfiles-directive). 一旦文件被复制,它就会被 DLL 覆盖,从而产生提升的 cmd.exe 进程。可以通过滥用 Windows 安装程序行为来滥用 LPE 的任意文件删除(由@KLINIX5发现并由 ZDI 在此处记录的技巧https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-文件删除到升级权限和其他大技巧)。
易受攻击的版本和先决条件
所有测试均在版本 13.34-14.12 上完成。我不知道容易受到攻击的最低版本,但我相信版本 12.0 - 14.12 容易受到攻击,因为在版本 12.0 中引入了 ClipboardChange 事件。为了利用此漏洞,不应启用使用 ArchiveDirectory 的事件(我认为是 ClipboardChange 和 FileDelete),就好像使用了这两个事件一样,然后将创建 ArchiveDirectory 并具有安全权限。
解决方法
如果您使用的是易受攻击的版本并且无法更新,您可以创建 ArchiveDirectory(默认为 C:\Sysmon)并设置只允许访问 NT AUTHORITY\SYSTEM 帐户的权限。
时间线
2022/06/13 - 向微软报告漏洞
2022/06/16 - 漏洞确认。
2022/11/08 - 补丁和 CVE 发布。
2022/11/08 - 向 Microsoft 报告绕过。
2022/11/11 - Microsoft 无法重现漏洞,要求提供不同的 PoC。
2022/11/11 - 我发送了相同的 PoC,并建议 sysmon 未安装在测试 VM 上或安装已损坏。
2022/11/15 - 微软确认绕过。
2022/11/28 - 微软发布 v14.13 修复漏洞(CVE 将于 12 月补丁星期二发布)
原文:https://github.com/Wh04m1001/SysmonEoP#vulnerability
链接与资源
https://itm4n.github.io/fuzzing-windows-rpc-rpcview/
https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks