内容简介:近日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 并安装,安装完成后新建一个文本文件,名字任意。
然后利用 WinACE 进行压缩。
然后我们下载 acefile.py 脚本。
下载地址为:
https://github.com/droe/acefile/blob/master/acefile.py
使用命令 pyt hon acefile.py --headers liehu.ace 来读取该文件头信息。
根据漏洞的描述,问题是出现在 filename 中的。那主要就看下面的 header 吧。
用 010Editor 打开该文件。
需要看选中的部分。对比 acefile 解析的结果,并明白各个段对应的内容。
如果要修改 filename ,则需要修改上面标注这几处。第一处为 0x4e9a( hdr crc ), 第二处为 0x0044( hdr size ) ,第三处为 0x0025(filename 的长度),以及最后一处为 filenam e 。
修改顺序是由后到前。
这里修改 filename 为 d:\d:\liehu.txt
长度为 15 ,对应的 hex 为 0x000f
然后修改 hdr_size ,长度为 46 ,对应的 hex 为 0x002E 。
接下来就是修改 hdr_crc 了,这里有一个取巧的方法。
我们再次运行命令 python acefile.py --headers liehu.ace
程序中断并提示 CorruptedArchiveError: header CRC failed
定位到错误的位置
这里 ace_crc16(buf) 的值就是 ace 文件 0x4e9a 对应的值,直接打印出该值并将该位置的值修改即可。
对应的值为 63232 ,转换为 hex 为 0xF700 。
最后文件内容为
再次查看,可以正常解析,并看到 filename 已经修改成功
右键解压该文件,则会在 D 盘生成一个 liehu.txt 文件。
测试文件:
https://fuping.site/files/liehu.ace
解压后会在D盘生成一个liehu.txt文件
0x0 4 修复建议
有两种方式
1. 升级到最新版本 , WinRAR 目前版本是 5.70 Beta 1
2. 删除 UNACEV2.dll 文件
此时再次解压 恶意文件会提示如下错误:
0x0 5 参考
https://research.checkpoint.com/extracting-code-execution-from-winrar/
以上所述就是小编给大家介绍的《WinRAR 代码执行漏洞复现》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【漏洞复现】WordPress插件Quizlord 2.0 XSS漏洞复现与分析
- CVE-2010-3333漏洞复现
- CVE-2017-12149漏洞复现
- CVE-2017-12615漏洞复现
- 越权操作漏洞的思考与复现
- CVE-2017-0199漏洞复现过程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
随机密码生成器
多种字符组合密码
html转js在线工具
html转js在线工具