速转!漏洞预警丨压缩软件Winrar目录穿越漏洞-压缩文件管理器

WinRAR 是一款功能强大的压缩包管理器,它是档案工具RAR在Windows环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从 Internet 上下载的RAR、ZIP及其它类型文件,并且可以新建 RAR 及 ZIP 格式等的压缩类文件。

速转!漏洞预警丨压缩软件Winrar目录穿越漏洞

1、漏洞描述

2019年 2 月 20 日国外安全研究员Nadav Grossman发布了Winrar一个严重的Path Traversal漏洞,当用户解压压缩包时可以导致命令执行,目前官方已经推出beta版修复该漏洞。

影响版本:Winrar <= 5.61的版本均受影响

2、漏洞危害

1. 通过这个漏洞黑客可以将恶意程序放入用户启动项,当目标电脑重新启动时获取目标主机的权限。

2. 在拥有system权限下可以放入

c:/windows/system32/wbem/mof/nullevt.mof,直接在获取目标主机的权限。

3. 可以投放恶意dll文件进行dll劫持获取到目标主机的权限,或者覆盖用户主机上的文件等方式获取目标主机的权限。

3、漏洞细节

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

漏洞主要是由Winrar用来解压ACE压缩包采用的动态链接库unacev2.dll这个dll引起的。unacev2.dll中处理filename时只校验了CRC,黑客可以通过更改压缩包的CRC校验码来修改解压时候的filename来触发这个Path Traversal漏洞。但是Winrar本身检测了filename,有一些限制并且普通用户解压RAR文件时候不能将我们恶意的Payload解压到需要System权限的文件夹。

当用户将文件下载到默认的C:\Users\Administrator\Downloads目录下时,我们通过构造

C:\C:C:../AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\test.exe

经过Winrar的CleanPath函数处理会变成

C:../AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\test.exe

其中C:会被转换成当前路径,如果用Winrar打开那么当前路径就是C:\Program Files\WinRAR,要是在文件夹中右键解压到xxx\那么当前路径就是压缩包所在的路径。

当用户在文件夹中直接右键解压到xx那么我们恶意的payload解压地址就会变成

C:\Users\Administrator\Downloads../AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\test.exe

就是当前用户的启动项。这样一个利用完成了从一个Path Traversal到任意命令执行的过程。

4、修复建议

1. 将Winrar升级成5.70Beta 1;

2. 使用其他非unacev2.dll动态链接库来处理ace压缩包的压缩软件。

量检测类设备策略建议:通过的流量包中匹配Hex 000000902A2A4143452A2A,这个Hex是Ace压缩包的标志,然后匹配C:\C:C:..字符串可以检测到恶意的Ace压缩包。

来源:安恒应急响应中心

推荐阅读