前言

weblogic常占用端口7001/7002,常见漏洞:弱口令之部署war包getshell、SSRF漏洞及反序列化类漏洞.

一、weblogic弱口令之getshell

1.1、环境搭建

参考"weblogic基础"

1.2、漏洞描述

此漏洞主要是weblogic中web控制台存在弱口令导致攻击者可以通过部署war包完成上传恶意文件并导致服务器权限被黑;

1.3、受影响版本

所有版本;

1.4、漏洞实践

账户:weblogic
密码:12345678

1.4.1、登陆web控制台

1.4.2、点击“锁定并编辑”—>“部署”

1.4.3、点击“安装”

1.4.4、上传我们构造好的webshell

jar命令:jar cvf cat.war ./cat/*

1.4.5、选择war文件

1.4.6、一直保持下一步,命名默认即可也可修改

1.4.7、部署完成后,启动即可,如未启动会出现如下报错信息

1.4.8、启动完成

1.4.9、访问webshell

1.5、修复建议

1、修改默认账户
2、配置密码复杂度

二、 WebLogic之CVE漏洞

2、weblogic反序列化(CVE-2018-2628)

1.1、环境搭建

参考"weblogic基础"

2.2、漏洞描述

CVE-2018-2628,当地时间4月17日,北京时间4月18日凌晨,Oracle官方发布了4月份的关键补丁更新CPU(Critical Patch Update),其中包含一个高危的Weblogic反序列化漏洞(CVE-2018-2628),通过该漏洞,攻击者可以在未授权的情况下远程执行任意代码;

2.3、影响版本

以下版本将会受到影响:
Weblogic 10.3.6.0
Weblogic 12.1.3.0
Weblogic 12.2.1.2
Weblogic 12.2.1.3

2.4、漏洞实践

2.4.1、漏洞利用工具

EXP和PoC工具网上很多,这里主要介绍两个,一个是jar版、python版.

EXP
PoC

2.4.2、工具执行

2.4.3、命令执行

2.4.4、PoC执行截图

配置URL.txt文件添加目标地址和端口.

2.5、修复建议

1、更新Oracle官方发布的最新补丁,同时升级jdk更新版本.
2、如以上两种策略都无法采用,则可以考虑用更改代码的方式.以10.3.6.0为例,在weblogic.utils.io.oif.WebLogicFilterConfig的黑名单DEFAULT_BLACKLIST_CLASS中添加”java.rmi.server.RemoteObjectInvocationHandler”,编译并更新swlclient.jar、wlthint3client.jar这两个用到该类的包[4].

3、weblogic反序列化(CVE-2018-2893)

3.1、环境搭建

参考"weblogic基础"

3.2、漏洞描述

Oracle官方发布了7月份的关键补丁更新CPU(Critical Patch Update),其中包含一个Oracle的高危远程代码执行漏洞(CVE-2018-2893),通过该漏洞攻击者可以在未授权的情况下远程执行任意代码.该漏洞通过JRMP 协议利用RMI机制的缺陷达到执行任意反序列化代码的目的.攻击者可以在未授权的情况下将payload封装在T3协议中,通过对T3协议中的payload进行反序列化,从而实现对存在漏洞的WebLogic组件进行远程攻击,执行任意代码并可获取目标系统的所有权限;

3.2.1、T3协议

WebLogic Server 中的RMI通信使用T3协议在WebLogic Server和其他 Java程序(包括客户端及其他 WebLogic Server 实例)间传输数据(序列化的类).由于WebLogic的T3协议和Web协议共用同一个端口,因此只要能访问WebLogic就可利用T3协议实现payload和目标服务器的通信.

3.2.2、JRMP协议

RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信;JRMP协议是专为Java的远程对象制定的协议.

3.3、影响版本

以下版本将会受到影响:
Weblogic 10.3.6.0
Weblogic 12.1.3.0
Weblogic 12.2.1.2
Weblogic 12.2.1.3

3.4、漏洞实践

3.4.1、漏洞利用工具

PoC

3.5、修复建议

1、关注Oracle官方CPU更新补丁
2、控制T3协议的访问 此漏洞产生于WebLogic的T3服务,因此可通过控制T3协议的访问来临时阻断针对该漏洞的攻击,当开放WebLogic控制台端口(默认为7001端口)时,T3服务会默认开启.

3.5.1、具体操作

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.保存后需重新启动,规则方可生效.

还有部分WebLogic的CVE没有介绍,后面补上吧.

三、 WebLogic之SSRF

3.1、环境搭建

参考"weblogic基础"

3.2、漏洞描述

SSRF(Server-Side Request Forgery:服务器端请求伪造) 由于很多web应用都提供了从其他的服务器上获取数据的功能;使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等;如果对用户提交的URL没有做好判断,攻击者就可以通过该机器代理攻击内网服务器。且由攻击者构造恶意输入并由服务端发起请求的一个安全漏洞。so,SSRF攻击的目标是从外网无法访问的内部系统中获取想要资源;

SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取某一内网中主机中网页文本内容,加载指定地址的图片,下载或获取加密文件等;容易导致SSRF漏洞的Web功能有分享功能、手机转码、图片相关等等,总之在请求的参数中存在URL的时候都需要敏感一些.

下图一个简单的SSRF漏洞发现:

3.3、影响版本

以下版本将会受到影响:
Weblogic 10.3.6.0
Weblogic 12.1.3.0
Weblogic 12.2.1.2
Weblogic 12.2.1.3

3.4、漏洞实践

3.4.1、漏洞利用工具

PoC

3.4.2、工具检测SSRF

首先同目录下新建domain.txt保存待测域、端口

3.4.3、内网端口探测(备注:更多关于SSRF后面专门整理一份发出学习学习)

漏洞位置:/uddiexplorer/SearchPublicRegistries.jsp

构造请求探测服务器内开放端口:
?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor= Business+location&btnSubmit=Search&operator=http://172.16.144.153:7001

如下图:404报错(备注:根据具体情况查看报错信息进行判断).

WebLogic之SSRF和XSS可参考以下链接
https://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cve-2014-4.html

3.4.4、修复建议

1.如果业务不需要UDDI功能,就关闭这个功能。可以删除uddiexporer文件夹,可以可在/weblogicPath/server/lib/uddiexplorer.war解压后,注释掉上面的jsp再打包
2.安装oracle的更新包。http://www.oracle.com/technetwork/topics/security/cpujul2014-1972956.html

跟着各位大佬的脚步继续学习...

© Copyright 2019  

Powered by  si1ent  

皖ICP备19004273