关于 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进程下出现子进程,
这是在命令注入之后看到的,这很有趣,在这种情况之后,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中的执行功能,在管理员模式下提供权限提升。
简单步骤演示:
该示例只是利用原理打开cmd窗口,具体详细教程,请参考https://github.com/kagancapar/CVE-2022-29072
新建7zip.httml
,代码参考隐藏内容
打开z-zip的帮助页面
将文件挪到这里面,即可弹出cmd窗口
缓解措施
第一种方法:如果 7-zip 没有更新,删除 7-zip.chm 文件就足以关闭漏洞。
第二种方法: 7-zip 程序应该只有读取和运行权限。(适用于所有用户)
暂无评论内容