WinRAR 代码执行漏洞复现

栏目: 编程工具 · 发布时间: 5年前

内容简介:近日Check Point团队爆出了一个关于WinRAR存在19年的漏洞,用它来可以获得受害者计算机的控制。攻击者只需利用此漏洞构造恶意的压缩文件,当受害者使用WinRAR解压该恶意文件时便会触发漏洞。该漏洞是由于 WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,没有任何的基础保护机制(ASLR, DEP 等)。动态链接库的作用是处理 ACE 格式文件。而WinRAR解压ACE文件时,由于没有对文件名进行充分过滤,导致其可实现目录穿越,将恶意文件写入任意目录,甚至可以写入文件至开机

0x01  漏洞描述

近日Check Point团队爆出了一个关于WinRAR存在19年的漏洞,用它来可以获得受害者计算机的控制。攻击者只需利用此漏洞构造恶意的压缩文件,当受害者使用WinRAR解压该恶意文件时便会触发漏洞。

该漏洞是由于 WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,没有任何的基础保护机制(ASLR, DEP 等)。动态链接库的作用是处理 ACE 格式文件。而WinRAR解压ACE文件时,由于没有对文件名进行充分过滤,导致其可实现目录穿越,将恶意文件写入任意目录,甚至可以写入文件至开机启动项,导致代码执行。

0x0 2   漏洞 影响

影响版本:

WinRAR < 5.70 Beta 1

Bandizip    < = 6.2.0.0

好压(2345压缩)    < = 5.9.8.10907

360压缩    < = 4.0.0.1170

0x0 3   漏洞复现

该漏洞的实现过程:首先新建一个任意文件,然后利用 WinACE 进行压缩,修改 filename 来实现目录穿越漏洞,可以将文件解压到任意目录中。

主要所需工具 WinACE 010Editor

下载 WinACE 并安装,安装完成后新建一个文本文件,名字任意。

WinRAR 代码执行漏洞复现

然后利用 WinACE 进行压缩。

WinRAR 代码执行漏洞复现

然后我们下载 acefile.py 脚本。

下载地址为:

https://github.com/droe/acefile/blob/master/acefile.py

使用命令 pyt hon acefile.py --headers liehu.ace 来读取该文件头信息。

WinRAR 代码执行漏洞复现

根据漏洞的描述,问题是出现在 filename 中的。那主要就看下面的 header 吧。

010Editor 打开该文件。

WinRAR 代码执行漏洞复现

需要看选中的部分。对比 acefile 解析的结果,并明白各个段对应的内容。

WinRAR 代码执行漏洞复现

如果要修改 filename ,则需要修改上面标注这几处。第一处为 0x4e9a( hdr crc ), 第二处为 0x0044( hdr size ) ,第三处为 0x0025(filename 的长度),以及最后一处为 filenam e

修改顺序是由后到前。

这里修改 filename d:\d:\liehu.txt

长度为 15 ,对应的 hex 0x000f

WinRAR 代码执行漏洞复现

然后修改 hdr_size ,长度为 46 ,对应的 hex 0x002E

WinRAR 代码执行漏洞复现

接下来就是修改 hdr_crc 了,这里有一个取巧的方法。

我们再次运行命令 python acefile.py --headers liehu.ace

程序中断并提示 CorruptedArchiveError: header CRC failed

定位到错误的位置

WinRAR 代码执行漏洞复现

这里 ace_crc16(buf) 的值就是 ace 文件 0x4e9a 对应的值,直接打印出该值并将该位置的值修改即可。

WinRAR 代码执行漏洞复现

对应的值为 63232 ,转换为 hex 0xF700

WinRAR 代码执行漏洞复现

最后文件内容为

WinRAR 代码执行漏洞复现

再次查看,可以正常解析,并看到 filename 已经修改成功

WinRAR 代码执行漏洞复现

右键解压该文件,则会在 D 盘生成一个 liehu.txt 文件。

WinRAR 代码执行漏洞复现

测试文件:

https://fuping.site/files/liehu.ace

解压后会在D盘生成一个liehu.txt文件

0x0 4   修复建议

有两种方式

1. 升级到最新版本 WinRAR 目前版本是 5.70 Beta 1

2. 删除 UNACEV2.dll 文件

WinRAR 代码执行漏洞复现

此时再次解压 恶意文件会提示如下错误:

WinRAR 代码执行漏洞复现

0x0 5 参考

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


以上所述就是小编给大家介绍的《WinRAR 代码执行漏洞复现》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

沸腾十五年

沸腾十五年

林军 / 中信出版社 / 2009-7 / 59.00

覆雨翻云的中国网事; 荡气回肠的产业传奇;虚拟世界的真实讲述;万象网络的还原走笔。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本书记录了一群在中国创造属于自己历史的人和他们的故事,他们是中国互联网自1995年兴起的波澜壮阔中的弄潮儿和财富新贵的代表:马化腾、丁磊、张朝阳、马云、陈天桥、李彦宏、史玉柱、田溯宁、张树新、王志东、王峻涛、雷军、......一起来看看 《沸腾十五年》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具