WinRAR漏洞CVE-2025-8088的逆向工程与路径遍历利用分析

8 阅读8分钟

逆向工程第2讲 by KK TAN ~ 真实案例研究 CVE-2025–8088 [经验分享]

Press enter or click to view image in full size

Division Zero (Div0) 再次设立了动手实践的Shell GYM,以提升我们的网络安全技能。感谢div0,一个由志愿者驱动的网络安全社区,汇集了网络安全专业人士、从业者和爱好者,共同让这个社区变得更好。

KK Tan | LinkedIn 作为 CounterShell 的创始人,投入时间指导我们进行真实世界的漏洞利用——WinRAR漏洞 CVE-2025–8088,该漏洞曾被俄罗斯APT组织“ROMCOM”利用。

如果你对CVE-2025–8088的蓝队思维也感兴趣,可以尝试HTB上的这个Sherlab —— RomCom。

你也可以查看KK TAN的Write-up:www.countershell.com/blogarchive…

免责声明:仅限教育分享,不对滥用负责

我仅出于教育目的分享此经验,我们不纵容或认可任何非法、危险或有害的活动。任何个人或实体使用此信息参与此类活动,风险自负,我们明确拒绝对由此产生的损害、行为或后果承担任何责任。我们尊重知识产权,如果您认为此平台上共享的任何内容侵犯了您的版权,请立即通知我们。

前言

CVE-2025–8088 (WinRAR)
CVSS 3: 8.8 高危
受影响版本:WinRAR 7.12 及以下

这是一个影响Windows版WinRAR的路径遍历漏洞,允许攻击者通过构造恶意压缩包执行任意代码。

在今天的主题中,我们涵盖了WinRAR漏洞利用的POC,更多是关于如何利用备用数据流(ADS) 和RAR头部,将头部中的payload(恶意文件)目标路径进行修改,从而使RAR文件将隐藏文件解压到你指定的位置。

目录

0x01 工作流程
0x02 NTFS 与 数据流
0x03 Python 预安装
0x04 概念验证 (POC)
0x05 使用工具进行逆向工程

0x01 工作流程

在今天的课程中,我们使用 github.com/sxyrxyy 提供的开源代码重新创建了 CVE-2025–8088 的 POC。
来源:github.com/sxyrxyy/CVE…

  • RAR 头部:RAR包含元数据,例如内容应解压到哪个路径。通过将占位符“xxxx”修改为目标路径,我们能够进行目录遍历。
  • 诱饵文件:用于将payload内容隐藏在数据流中。
  • 占位符:用于在诱饵文件上占据隐藏流的位置。

Press enter or click to view image in full size

诱饵文件 pika.pdf 里面有什么?

pika.pdf 的隐藏数据流是“mspaint”,它也是“payload.bat”中payload的内容。

Press enter or click to view image in full size

什么是CRC32?

CRC32 是RAR头部的完整性校验。任何修改都会改变RAR文件的头部,这就是为什么在POC脚本中需要重新计算CRC32以适应更改。

0x02 NTFS 与 数据流

什么是文件系统?

文件系统帮助以结构化方式存储数据,使系统能够轻松管理和修改文件。想象一下如果你把所有东西都放在一个地方,当你需要时,就像在山上搜索数据。Windows 98之前,使用的是FAT32系统。

NTFS 不仅提供更好的性能,还提供更好的安全性和可靠性,例如日志功能可以记录文件日志,使系统能够在崩溃后恢复文件。此外,文件权限加密有助于提前保护你的文件和隐私。

数据流

数据流实际上是一个数据序列,记录你对文件的流向。一个文件可以由一个或多个数据流组成。当你打开一个 note.txt 时,你可以看到文档中的任何文字,那是主数据流。除此之外,我们还有隐藏数据流,黑客也用它来隐藏恶意内容,或者情侣用来写秘密信件?

现在我们创建一个文件 homework.txt,你可以在里面写任何内容。

Press enter or click to view image in full size

  1. 我们可以在文件目录中输入 cmd 来打开当前文件位置的cmd。
  2. 现在我们使用 echo 命令创建一个包含内容的文件,并输入命令读取文件,检查文件是否创建正确。
# 创建文件
echo we have to finish 1 geography and 1 science today > homework.txt

# 读取homework的内容
type homework.txt

Press enter or click to view image in full size

一开始看起来很普通,神奇之处在这里开始。

通过在文件后面添加 :<Stream name>,我们将能够创建一个备用数据流 (ADS)

echo Let's meet at Bugis at 06:00 PM this saturday > homework.txt:secret

现在输入 dir /r 来检查隐藏的数据流。

dir /r

Press enter or click to view image in full size

不带 /Rdir 命令不会显示数据流,所以不用担心你父亲用普通的 dir 检查你的文件。

现在我们可以使用 more 命令读取数据流。这个命令很容易记忆,想象一下有人在你们两人之间充当电灯泡并说“tell me more!”

more < homework.txt:secret

Press enter or click to view image in full size

0x03 Python 预安装

当我们谈论Python时,会立刻想到“Pycharm”,这是一个自动设置的Python就绪编码环境,或者Kali Linux,它已经有运行环境。所以在处理Windows时,我们需要从官网安装Python包:www.python.org/downloads/

下载后,安装到我们的虚拟机 (VM) 中,并设置变量:

  1. 右键点击Python图标(如果你不知道确切的文件路径),选择“打开文件位置”,直到找到文件。复制你的目录,稍后可能需要。
  2. 在左下角,在搜索栏中输入“变量”,直到看到环境变量设置。
  3. 选择“Path”并点击编辑,你会看到很多目录,只需添加一个 ; 来分隔并粘贴你的目录。
# 示例 #记得添加在 ; 后面
C:\Windows\system32;C:\Users\Window10_Pro\AppData\Local\Programs\Python\Python313

我不太擅长解释这个。想象你刚接触一个RPG游戏,有时会找不到目标,会有一个任务指针告诉你去哪里,这对系统来说是一样的。当系统不知道在哪里找到你的二进制文件时,这个路径就是它们的指针。

除此之外,当你在系统上进行漏洞测试时,你肯定需要一个旧版本的应用,比如RAR的7.12版本,但同时你又有最新版本,所以将默认路径改为7.12版本对你很有帮助。

0x04 概念验证 (POC)

首先,我们准备一个测试文件,最好小于30KB作为诱饵文件夹。其次,我们输入命令:

  • --rar:我们想要使用的rar.exe(使用存在漏洞的7.12版本)
  • --decoy:诱饵图片或txt文件
  • --drop:恶意软件的投放位置
  • --out:恶意RAR文件
python poc.py --rar rar.exe --decoy pika.jpg --payload payload.bat --drop C:\Programdata --out testrar.rar

Press enter or click to view image in full size

得到恶意RAR文件后,使用以下命令运行它:

rar x testrar.rar

Press enter or click to view image in full size

最后,我们成功在指定的目标文件夹下生成了payload。

0x05 使用工具进行逆向工程

之后,KK TAN老师提出了一个挑战:对RAR文件进行加密以绕过杀毒软件,但不会破坏POC的结构,这样RAR文件头部仍然可以被路径遍历注入替换。

这部分更多是关于工具的使用,我尚未能理解工具的工作流程,所以我建议你阅读CounterShell的这篇博客:www.countershell.com/blogarchive…

一如既往,KK TAN告诉我们要尽可能简单~

在这个故事的结尾,让我们向那个幕后调试了10000次的人致敬:台上一分钟,台下十年功。

补充

如果你对恶意软件分析的世界感兴趣,更多动态研究请访问 intelligence.any.run/
或者你可以在这里找到相关的CVE-2025–8088动态分析:app.any.run/tasks/d1fd5…
未来我可能会写更多关于逆向工程的话题。

广告~~
如果你也对逆向工程第1讲感兴趣,请查看此页面:Sharing personal Experience @ Reverse Engineering without assembly tools - Shell Gym Episode organized by Div0 | by Cy3erS@up | Sep, 2025 | Medium

如果你想知道蓝队思维如何一步步追踪payload,请阅读这篇HTB-ROMCOM write-up:medium.com/@Cy3erSoup/…

#网络安全 #逆向工程 #CVE-2025-8088 #KK TAN #CounterShell #WinRAR #winrar7.12 #POC #DIV0 CSD0tFqvECLokhw9aBeRqpNzLTXFlojmzFn6OlyTg9WZHadWe/kB1nGg4DjhL0Vso6DF7lsirXhR8Tluktiu95lpuCsP0hKjyoa1+o4J5x5eQK2NS63Wx6yKUN5EQ+rZnmbRblJW0u4OXy+jD4gyTT74Tuq7/Z2YIzpeq4hvTjKLmbUFvjAtEXsF4ChbcW/e