整理 | 琥珀

出品 | 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)

精彩推荐

推荐阅读:

  • GAN性能不稳?这九大技术可“镇住”四类缺陷

  • NLP输出文本评估:使用BLEU需要承担哪些风险?

  • 如何用Python抠图?试试scikit-image

  • 这可能是史上最全的Python算法集!

  • 骚操作!代码写情诗 | 程序员有话说

  • 30 秒?!Chrome 插件带你速成编程学习 | 程序员硬核评测

  • 2019年中国IT市场趋势热点

  • 翟天临之后,大连博士细数区块链博士圈那些事……

  • 月入5万,程序员夫人们过上"贵妇"生活了吗?

点击“阅读原文”,查看历史精彩文章。

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

  1. WinRAR 曝 19 年前重大漏洞,可完全控制电脑!| 附解决方法

    整理 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 四大项目,挑战Python全栈工程师? https://edu.csdn.net/topic/python115?utm_sour ...

  2. 【IIS错误 - HTTP 错误 500.19】HTTP 错误 500.19- Internal Server Error 错误解决方法(二)...

    昨天在 windows 7 下用 IIS 7.5 运行一个以前用 .NET Framework 3.5 写的项目,发现总是出现 500.19 错误,如下: 百度了好久,没找到解决问题确切的答案,我也知 ...

  3. (19)ISE14.7软件生成bit失败永久解决方法(FPGA不积跬步101)

    名言:工欲善事必先利器. 1 问题描述 ISE14.7与win10 64位系统无法完美兼容,即使破解也会导致随机性生成bit文件失败. 之前笔者也尝试了好多解决方法,但是经过最近调试时,之前发布的解决 ...

  4. security center拒绝访问_Steam被曝出0day提权漏洞,但厂商拒绝修复

    近期,全球流行的Steam游戏客户端被曝出0day提权漏洞,影响全球一亿多Steam用户.该漏洞可让机器上的低权限用户以SYSTEM权限运行程序.这意味着恶意软件很可能利用这个漏洞对受害者的机器进行深 ...

  5. oracle 权限问题9017,泛微OA 曝出WorkflowCenterTreeData接口注入漏洞(限oracle数据库)

    玄蜂安全团队10月10日了解到.泛微OA又双叒叕曝出了一个高危漏洞.其存在点是企业使用Oracle数据库在其系统的WorkflowCenterTreeData接口处会因为内置SQL语句拼接不严导致的一 ...

  6. 刚刚出新的Kubernetes 却曝出了“高危”安全漏洞;亚马逊将推免费新闻视频服务,对标苹果 | 极客头条...

    关注并标星星CSDN云计算 每周三次,打卡即read 更快.更全了解泛云圈精彩news go go go  被宣布取消的AirPower(图片来源网络) [4月1日 星期一]云の声音 5G最极致的应用 ...

  7. 赛门铁克企业防火墙曝已存在30年漏洞

    赛门铁克企业防火墙曝已存在30年漏洞[@more@]8月22日消息,据国外媒体报道,网络安全机构NTA Monitor日前指出,赛门铁克的企业防火墙存在"用户枚举(username enum ...

  8. 苹果曝硬件级不可修复漏洞;IEEE Spectrum 2020年度编程语言排行榜出炉

    开发者社区行业周刊又和大家见面了,快来看看这周有哪些值得我们开发者关注的重要新闻吧. Python 再夺冠,上古语言 COBOL 大流行,IEEE Spectrum 2020年度编程语言排行榜出炉! ...

  9. xss防御补丁_Discuz论坛最新dom xss漏洞的解决方法

    无忧主机小编在日常处理客户网站问题时,经常遇到网站因为程序漏洞出现的问题.网站安全的发展,才能使得管理者放心营运.但是比较无奈的是,漏洞问题貌似屡见不鲜,就算再强大.再常用的程序,都会有诸如漏洞的问题 ...

最新文章

  1. 在react next 中使用rem_CSS中的rem:了解和使用rem单位
  2. 软件工程——团队作业3
  3. VTK:Filtering之Glyph2D
  4. slf4j与logback的结合使用
  5. 安装xmanager linux系统,安装Xmanager登陆Linux操作系统[图文]
  6. 浅谈面试中常考的两种经典布局——圣杯与双飞翼 1
  7. Ubuntu下部署SVN+SVNManager
  8. S3C2440时钟电源管理
  9. php 和 java_Java和php怎么选择??
  10. ET Reporter
  11. CRM系统提高企业核心竞争力
  12. AB实验的高端玩法系列4- 实验渗透低?用户未被触达?CACE/LATE
  13. 基于VUE使用Hbuilder工具开发的思维导图工具
  14. html5 swipejs,移动web最简洁的滑动效果Swipe JS(适合初学者)
  15. 1000瓶酒其中1瓶有毒,10只老鼠找出毒酒
  16. SVN安装步骤【详细】
  17. WPF DataGridTable
  18. 《战胜华尔街》书中的精髓:业余投资者如何根据行业特点选好股票,赚得比专业的投资者还要多?
  19. 基于Java(SSH 框架)+MySQL 实现的物流配送管理系统【100010488】
  20. 配置maven镜像不起作用 Unrecognised tag: ‘mirror‘ (position: START_TAG seen ...</mirror>

热门文章

  1. oracle # 表名加井号,SQL server 中表名前面的井号(#)
  2. python中的double 型数据_python有double类型吗
  3. Postman 测试接口的软件程序
  4. 智能手表哪款好?聊聊睡觉都舍不得摘下的荣耀手表2
  5. i713700f参数 i7 13700f性能怎么样酷睿i7 13700f属于什么水平
  6. 机器学习之——“损失函数”与“成本函数”的辨析
  7. 王者荣耀、微信读书、全民K歌等国民级产品引爆用户增长的六大方法论 | 免费直播课
  8. linux vim编辑矩阵乘,LM算法计算单应矩阵
  9. 阿里云ECS发送邮件到腾讯企业邮箱
  10. 《上古5》各样冷门却强力职业