专栏首页AI科技大本营的专栏WinRAR曝遗留19年重大漏洞,可完全控制电脑(附解决方法)

WinRAR曝遗留19年重大漏洞,可完全控制电脑(附解决方法)

整理 | 琥珀

出品 | AI科技大本营(ID:rgznai100)

作为目前最受欢迎的电脑解压缩工具之一,WinRAR 号称在全球拥有 5 亿用户。不过最近的情况表明,如果你正在使用这款软件,建议立即升级到 5.70 Beta 1 版本,否则将有可能受到攻击者利用 WinRAR 的代码执行漏洞进行的对计算机的控制。

近日,安全公司 Check Point 安全研究员 Nadav Grossman 在一篇文中披露,WinRAR 中存在严重漏洞,可完全控制受害者的计算机。而且,该漏洞已经存在了近 19 年,并迫使 WinRAR 完全放弃对易受攻击 ACE 格式的支持。

传送门: https://research.checkpoint.com/extracting-code-execution-from-winrar/

目前这个漏洞存在于 WinRAR 的 UNACEV2.dll 代码库中,该代码库用于解析 ACE 格式,在解压处理的过程中存在一处目录穿越漏洞,允许解压过程中将文件写入启动文件夹中,导致系统重启后导致代码执行。然后,攻击者可制作一个 ACE 恶意文件,当被 WinRAR 打开时,会利用 UNACEV2.dll 的目标路径,将文件解压到攻击者选择的路径中。视频演示如下:

值得一提的是,早在此前,针对这种类型的漏洞,Zerodium 还给出了漏洞悬赏计划。

研究人员在文中具体介绍了 WinRAR 代码执行漏洞的发现过程。几个月前,他们先利用 Winafl fuzz 对 Windows 环境下的二进制文件进行了模糊测试。

传送门:https://github.com/googleprojectzero/winafl

以下为准备过程:

  1. 在 WInRAR 注函数内创建 hareness,使其能够模糊任何存在当类型而无需为每种格式构造单独的 harness。
  2. 消除用户交互的对话框等 GUI 元素。
  3. 使用奥卢大学 2005 年左右进行的一项有趣研究发布的超大型语料库。
  4. 在 WinRAR 命令行模式下使用 WinAFL 对程序进行模糊处理。

通过以上操作后,研究人员发现了 RAR、LZH、ACE 等压缩格式的崩溃,并且在解析 ACE 格式的崩溃时,WinRAR 使用名为 unacev2.dll 的 dll 来解析 ACE 格式文件。这个 dll 从 2006 年起就没有保护机制。

在漏洞利用过程中,研究人员试图将 ACE 恶意文件放到启动文件夹中以便在系统启动时执行。

示例:

研究人员将 .ace 扩展名更改为 .rar 扩展名,因为 WinRAR 会根据文件内容而不是扩展名测试格式。

下图为 acefile 的输出:

通过文件名字段中精心构造的字符串(绿色部分)触发漏洞

无论目标文件夹的路径是什么,该存档都将解压缩到 C:\some_folder\some_file.txt

那么真实的漏洞利用过程是怎样的?

研究人员表示,可以通过从 ACE 存档中提取压缩的可执行文件到其中一个启动文件夹(Startup Folders),从而获得代码执行。

制作一个将压缩文件提取到启动文件夹的 ACE 存档,在以下路径中至少有 2 个启动文件夹:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

第一个启动文件夹的路径需要高权限/高完整性级别。但是,WinRAR 默认以中等完整性级别运行。

第二个启动文件夹的路径需要知道用户的名称。

不过,研究人员向 WinRAR 报告这个代码执行漏洞之后, WinRAR 官方也对此进行了回应表示,目前给出的修复方法就是从软件包中删除 UNACEV2.dll,或者可以下载最新的 5.70 Beta 1 版本。

由于 UNACEV2.dll 自 2005 年以来就没有更新,尚无法访问其源代码,因此对于使用这个库来压缩 ACE 格式的用户来说,官方表示只能放弃对其支持。

官网默认下载的 5.61 版本并非最新版本

WinRAR 5.70 Beta 1 下载地址如下:

32 位:http://win-rar.com/fileadmin/winrar-versions/wrar57b1.exe 64 位:http://win-rar.com/fileadmin/winrar-versions/winrar-x64-57b1.exe

相关链接:

https://research.checkpoint.com/extracting-code-execution-from-winrar/

(*本文为 AI科技大本营整理文章,转载请联系微信 1092722531)

本文分享自微信公众号 - AI科技大本营(rgznai100)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Google 发布 Cloud AutoML 降低机器学习门槛,调参民工前景堪忧

    翻译 | AI 科技大本营(rgznai100) 参与 | 刘畅、林椿眄 编辑 | 周翔、Donna 本周三,Google 发布了最新的 Cloud Auto...

    AI科技大本营
  • 被捧上天的深度学习,遇到这些问题根本干不过简单模型

    今天我们来唱唱反调,推荐一篇Hacker News和Reddit的双料热文《何时该不用深度学习》。 作者 | Pablo Cordero 翻译 | reason...

    AI科技大本营
  • AAAI 2020论文解读:商汤科技提出新弱监督目标检测框架

    来源 | Object Instance Mining for WeaklySupervised Object Detection

    AI科技大本营
  • ACE - Reactor源码总结整理

    Aichen
  • ACE - Reactor实现I/O,Dispatch,Service三层完整服务器(完结)

    Aichen
  • ACE - ACE_Task源码剖析及线程池实现

    原文出自http://www.cnblogs.com/binchen-china,禁止转载。

    Aichen
  • ACE - ACE_Task源码剖析及线程池实现

    Aichen
  • ACE - 代码层次及Socket封装

    Aichen
  • ACE - 代码层次及Socket封装

    原文出自http://www.cnblogs.com/binchen-china,禁止转载。

    Aichen
  • 机器学习高斯混合模型:聚类原理分析(前篇)

    交流思想,注重分析,更注重通过实例让您通俗易懂。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来! 01 —...

    double

扫码关注云+社区

领取腾讯云代金券