首页 最新 国内 国际 数据泄露 网络战 行业 报告 观点 预警 安全意识 人工智能 招聘 云计算 大数据 程序员 系统 专家 融资 人物 工具 安全基础设施 推广 公告 教育

Winrar目录穿越漏洞预警

1. 漏洞描述

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

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

2. 影响范围

其中受影响版本为:

Winrar <= 5.61

3. 漏洞危害

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

在拥有system权限下可以放入

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

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

4. 漏洞细节

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\Start Menu\Programs\Startup\test.exe

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

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

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

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

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

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

5. 修复建议

1.将Winrar升级成5.70Beta 1;

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

6. 产品策略建议

网络流量检测类设备策略建议:

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

7. POC

使用Winace生成正常文件

Winrar目录穿越漏洞预警-E安全

通过Winhex等工具修改filename

Winrar目录穿越漏洞预警-E安全

之后通过acefile.py获得修改后的crc

➜ /tmp/acefile git:(master) ✗ >python acefile.py --headers dbapp.ace 

0x1e74

0x1e74

0x69d4

0xab0c

将D469修改成0CAB即可

Winrar目录穿越漏洞预警-E安全

将dbapp.ace修改成dbapp.rar通过让目标下载后右键直接解压压缩包成功将dbapp.exe放在启动项,内容就是Hacked by dbapp

利用过程见poc.gif

Poc见poc.rar

将Poc放在C:\Users\{username}\Downloads\下右键直接解压压缩包

然后在

C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup下可以见到dbapp.exe


本文转自 安恒应急响应中心