CVE-2022-29072 7-Zip提权漏洞 0day

CVE-2022-29072 7-Zip提权漏洞 0day

关于 7-zip

7-Zip 是开源的免费压缩/解压软件。大部分代码都在 GNU LGPL 许可下。代码的某些部分在 BSD 3 条款许可下。代码的某些部分也有 unRAR 许可限制。阅读 7-Zip 许可证信息。

您可以在任何计算机上使用 7-Zip,包括商业组织中的计算机。您无需注册或支付 7-Zip。

CVE-2022-29072漏洞详情

Windows 上的 7-Zip 到 21.07版本 允许在扩展名为 .7z 的文件被拖到帮助>内容区域时进行提权和命令执行操作。

7-zip 软件中包含的零日漏洞是基于 7z.dll 的错误配置和堆溢出。7-zip软件安装后,HELP>contents内容中的帮助文件通过Windows HTML Helper文件工作,但命令注入后,7zFM.exe进程下出现子进程,

CVE-2022-29072 7-Zip提权漏洞 0day

这是在命令注入之后看到的,这很有趣,在这种情况之后,7-zip 和 WinAFL 进行了 fuzzing 过程。由于基于堆的溢出漏洞和错误授权,注意到当使用7z.dll文件的权力应用进程注入技术(在内存中)并再次调用命令提示符时,它被授权在cmd.exe 使用管理员模式。在这个过程之后开发的payload中,psexec.exe文件被用作原始文件;

由于命令“psexec -s cmd.exe -nobanner”,已经访问了 NT AUTHORITY\SYSTEM 权限。

在这个阶段,7-zip 表示该漏洞是由 hh.exe 引起的,但他们被告知如果有来自 hh.exe 的命令注入,则应该在 hh.exe 下创建一个子进程,所以特别是 heap-此漏洞的溢出端不会与社区共享。

漏洞的发现阶段;

众所周知,Microsoft HELPER 即” hh.exe 文件 — html help。全名 microsoft html 帮助可执行文件(microsoft html help executable)。打开带有 chm 扩展名的帮助文件的程序。” 被定义为:XXE、Command Execution等很多操作都是通过hh.exe文件进行的。在每个使用 hh.exe 接口的程序中都可能看到 XXE 或命令执行等漏洞。在发现 WinRAR 检测到的 XXE 漏洞后,我想到了这个问题。(https://www.exploit-db.com/exploits/47526) 虽然 7-zip 的开发者说微软现在应该修复从 hh.exe 获得的命令执行权限,但观察到最后,这要归功于 7zFM.exe 中的堆溢出和命令hh.exe中的执行功能,在管理员模式下提供权限提升。

poc视频:

CVE-2022-29072 POC代码

<html>
<head>
<HTA:APPLICATION ID="7zipcodeexec">
<script language="jscript">
var c = "cmd.exe";
new ActiveXObject('WScript.Shell').Run(c);
</script>
<head>
<html>

poc用法

复制代码另存为.html文件,拖入7zip的帮助页面即可提权.

缓解措施

第一种方法:如果 7-zip 没有更新,删除 7-zip.chm 文件就足以关闭漏洞。

第二种方法: 7-zip 程序应该只有读取和运行权限。(适用于所有用户)

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注