当前位置:首页  常见问题  网络安全

漏洞预警 Winrar目录穿越漏洞

时间:2019-02-22浏览:57

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

  一漏洞描述

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

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

二 漏洞危害

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

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

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

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

三 漏洞细节

  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到任意命令执行的过程

四 修复建议

1. 将Winrar升级成5.70Beta 1;

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


量检测类设备策略建议:

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