Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/absholi7ly/cve-2025-6218-winrar-directory-traversal-rce
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试Payload 开发二进制利用
GitHubabsholi7ly/cve-2025-6218-winrar-directory-traversal-rce

CVE-2025-6218-WinRAR-Directory-Traversal-RCE

CVE-2025-6218 是 WinRAR 中的一个目录遍历漏洞,当用户解压特制的

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
181121年前尚未审核
分享

CVE-2025-6218-WinRAR-目录遍历-远程代码执行

CVE-2025-6218 是 WinRAR 中的一个目录遍历漏洞,当用户解压一个特制的 .rar 压缩包时,攻击者可以将文件放置到预期解压目录之外。利用此漏洞,攻击者可以将恶意文件投放到敏感位置,如果该文件被系统或用户执行,则可能导致远程代码执行 (RCE)。


概念验证

---

受影响版本

  • WinRAR 版本 ≤ 7.11 存在漏洞。
  • 版本 ≥ 7.12 Beta 1 已包含修复此问题的补丁。
  • 请始终验证已安装的 WinRAR 版本(通过 WinRAR.exe --version)。

为什么目录遍历漏洞是危险的

目录遍历漏洞允许攻击者操纵文件路径,将文件写入非预期的位置。在 WinRAR 的上下文中,这意味着本应解压到 C:\Temp 的文件可能被放置到敏感目录中,例如 Windows 启动文件夹(C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)。如果将恶意可执行文件或脚本放置在这样的位置,它可能自动运行,使攻击者能够控制受害者的系统。

实际影响

攻击者可以:

  • 将恶意脚本(例如 .bat 文件)放入启动文件夹,以便在系统启动时执行代码。
  • 覆盖 C:\Windows\System32 等目录中的关键系统文件,从而破坏系统功能或提升权限。
  • 在用户不知情的情况下交付勒索软件、间谍软件或后门等有效载荷。
  • 结合社会工程学(例如诱骗用户解压恶意压缩包)实现远程代码执行。

  • 2. 根本原因解释

    WinRAR 如何未能清理文件路径

    该漏洞源于 WinRAR 未能正确验证和清理存储在 .rar 压缩包中的文件路径。在解压文件时,WinRAR 信任压缩包中的文件路径元数据,而没有充分检查 ..\ 或 ../../ 等路径遍历序列。这使得攻击者可以制作一个压缩包,其中文件的路径指向预期解压目录之外。

    ..\..\..\ 序列如何欺骗解压过程

    • 路径遍历基础:文件路径中的 ..\ 序列指示系统向上移动一级目录。通过链接多个 ..\ 序列(例如 ..\..\..\..\..),攻击者可以从解压目录(例如 C:\Temp\Test)导航到驱动器的根目录(C:\),然后到达任何想要的位置,例如 C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup。
    • WinRAR 的缺陷:存在漏洞的 WinRAR 版本(≤ 7.11)不会阻止或清理这些序列,允许解压过程将文件放置在相对于解压点的任意位置。

    为什么文件能够落到敏感位置

    • 启动文件夹:放置在 C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 中的文件会在用户登录时自动执行。这里的恶意 .bat 或 .exe 文件可以运行任意命令。
    • System32 或其他敏感目录:覆盖或向 C:\Windows\System32 中添加文件可能破坏系统完整性或实现权限提升。
    • 无需用户交互:如果文件被放置在自动执行的位置(如启动文件夹),有效载荷将在解压后自动运行,无需用户进一步操作。

    可视化示意图:预期解压路径与实际解压路径

    root@kitploit:~
    预期解压(安全):
    - 用户将压缩包解压到:C:\Temp\Test
    - 压缩包包含文件:payload.bat
    - 预期结果:C:\Temp\Test\payload.bat
    
    实际解压(被利用):
    - 用户将压缩包解压到:C:\Temp\Test
    - 压缩包包含路径为:../../../../Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat 的文件
    - 实际结果:C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
    

    3. 手动利用指南

    本节提供逐步说明,指导如何在安全、隔离的实验室环境中使用虚拟机(无网络连接)手动复现 CVE-2025-6218 漏洞。目标是创建一个 .rar 压缩包,将无害的 .bat 文件放置到 Windows 启动文件夹中,该文件将在用户登录时启动计算器(calc.exe)。

    前提条件

    • 运行 Windows 10 且已安装 WinRAR 版本 ≤ 7.11 的虚拟机。
    • 主机上安装了用于创建压缩包的 WinRAR(≤ 7.11)。
    • 文本编辑器(例如记事本)用于创建有效载荷。
    • 虚拟机无网络连接以确保安全。

    逐步说明

    1. 准备测试文件夹:

      • 在主机上创建一个名为 exploit_test 的文件夹(例如 C:\exploit_test)。
      • 此文件夹将存放有效载荷和压缩包所需的文件夹结构。
    2. 创建简单有效载荷:

      • 打开记事本并创建一个新文件,内容如下:
        root@kitploit:~
        @echo off
        start calc.exe
        
      • 将该文件保存为 payload.bat,放在 C:\exploit_test 中。
      • 此批处理文件是无害的,执行时会打开 Windows 计算器。
    3. 创建用于路径遍历的文件夹结构:

      • 在 C:\exploit_test 内部,创建一个反映目标路径的文件夹结构:
        root@kitploit:~
        C:\exploit_test\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
        
        将 <用户名> 替换为虚拟机上的目标用户名(例如 absholi7ly)。
      • 将 payload.bat 移动到 Startup 文件夹中:
        root@kitploit:~
        C:\exploit_test\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
        
    4. 使用 WinRAR 制作恶意 RAR 压缩包:

      • 在主机上打开 WinRAR(版本 ≤ 7.11)。
      • 导航到 C:\exploit_test。
      • 选择 Users 文件夹(它包含 payload.bat 的完整路径)。
      • 右键点击并选择添加到压缩包...。
      • 在 WinRAR 对话框中:
        • 将压缩包名称设为 exploit.rar(例如 C:\exploit_test\exploit.rar)。
        • 选择 RAR 作为压缩包格式。
        • 将压缩方式设置为存储或标准。
        • 确保未启用高级选项(例如密码保护)。
      • 点击确定创建压缩包。
      • 通过打开 exploit.rar 来验证压缩包内容。你应该看到:
        root@kitploit:~
        Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
        
    5. 将压缩包传输到虚拟机:

      • 将 exploit.rar 复制到虚拟机可访问的共享文件夹或 USB 驱动器。
      • 在虚拟机中,将 exploit.rar 移动到 C:\ 驱动器根目录:
        root@kitploit:~
        C:\exploit.rar
        
    6. 在虚拟机上解压压缩包:

      • 在虚拟机中,打开 WinRAR(版本 ≤ 7.11)。
      • 导航到 C:\。
      • 右键点击 exploit.rar 并选择解压到当前文件夹。
      • 由于目录遍历漏洞,这应尝试将 payload.bat 解压到:
        root@kitploit:~
        C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
        
    7. 验证漏洞利用是否成功:

      • 在虚拟机中打开 Windows 资源管理器,导航到:
        root@kitploit:~
        C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
        
      • 检查该文件夹中是否存在 payload.bat。
      • 如果存在,则目录遍历成功。
    8. 测试有效载荷执行:

      • 在虚拟机中注销当前用户会话,然后以 用户名 身份重新登录。
      • 或者,重启虚拟机。
      • 如果漏洞利用成功,Windows 计算器(calc.exe)应自动启动。
      • 要手动测试,双击启动文件夹中的 payload.bat,确认它打开计算器。

    4. 验证

    检查被投递的有效载荷

    • 在虚拟机中打开 Windows 资源管理器。
    • 导航到:
      root@kitploit:~
      C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
      
    • 查找 payload.bat。如果存在,则目录遍历漏洞利用成功。
    • 在记事本中打开 payload.bat 以验证其内容:
      root@kitploit:~
      @echo off
      start calc.exe
      

    确认文件路径

    • 右键点击启动文件夹中的 payload.bat,选择属性。
    • 检查位置字段,确认它匹配:
      root@kitploit:~
      C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
      
    • 如果文件在其他位置(例如 C:\payload.bat 或子文件夹如 C:\Users\用户名\AppData\Roaming\...),则漏洞利用未按预期工作。

    确认有效载荷执行

    • 注销虚拟机并以用户 用户名 身份重新登录。
    • 或者,重启虚拟机。
    • 观察计算器是否自动打开。
    • 如果没有,手动双击启动文件夹中的 payload.bat 以验证其是否工作。

    5. 可选的自动化说明

    对于希望简化流程的研究人员,上述手动步骤可以使用 Python 脚本实现自动化。

    下载工具