中间件漏洞测试——weblogic

注意:下列漏洞复现是使用Ubuntu+docker实现的环境完成的,其中提到的IP通过Ubuntu虚拟机中的ifconfig命令查看,端口不变,需要环境的可通过docker相关环境下载

一、XML反序列化漏洞

1、漏洞简述&影响版本

       Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令、getshell等危害。

       影响版本:Weblogic < 10.3.6

2、攻击步骤

2.1  访问页面http://192.168.137.128:8060/wls-wsat/CoordinatorPortType11,若如下图所示则可能存在该漏洞

2.2  刷新页面使用burpsuite抓包,对其构造POST XML数据,利用反序列化漏洞写入后门文件test.jsp

注意:一句话木马在String时有特殊字符存在,在解析XML时会出现报错,必须加上<![CDATA[<>]]>来转义

2.3  访问http://192.168.137.128:8060/bea_wls_internal/test.jsp,jsp小马上传成功,可以利用该小马上传任意文件

2.4  使用冰蝎连接,成功getshell

3、加固建议

临时解决方法 :

1、\bea\wlserver_10.3\server\lib目录下,删除文件wls-wsat.war 2、\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\.internal目录下,删除文件wls-wsat.war 3、\bea\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal目录下,删除文件夹wls-wsat

根本解决方法:在https://support.oracle.com上搜索CVE-2017-10271下载补丁或将weblogic更新至10.3.6或更高版本

二、T3反序列化漏洞

1、漏洞简述&影响版本

       攻击者可利用该漏洞在未授权的情况下发送数据,通过T3协议在Weblogic Server中执行反序列化操作,利用RMI机制的缺陷,通过 JRMP 协议达到执行任意反序列化 payload 的目的。可能导致:远程执行代码、获取敏感业务数据、植入木马等危害。

       影响版本:Oracle WebLogic Server10.3.6.0、12.2.1.2、12.2.1.3、12.1.3.0

2、攻击步骤

2.1  使用nmap扫描:nmap -p 8061 -v -n --script weblogic-t3-info 192.168.137.128,当在真实环境中发现使用t3服务时,则可能存在T3反序列化漏洞

2.2  可以直接使用脚本: https://github.com/zhengjim/loophole/blob/master/CVE-2018-2628/CVE-2018-2628.py 检测是否存在T3反序列化漏洞

3、加固建议

临时解决方法:需要禁用t3协议,但是不能禁死,对于受管节点或有需求的特定节点,需要放开限制,参考官方链接:http://download.oracle.com/docs/cd/E12839_01/web.1111/e13711/con_filtr.htm#i1029357

根本解决方法:由官方提供的过滤器彻底过滤t3和t3s协议,在现有的攻击Poc上从源头阻止构建攻击代码,连接筛选 器填:weblogic.security.net.ConnectionFilterImpl,筛选规则填取: 7001 deny t3 t3s并重启

三、任意文件上传漏洞(CVE-2018-2894)

1、漏洞简述&影响版本

        WebLogic管理端未授权的页面/ws_utc/config.do存在任意上传getshell漏洞,可直接获取权限。利用该漏洞,可以上传任意jsp、php等文件,并获取服务器权限。可能导致:远程执行代码、上传shell文件getshell等危害。

        影响版本:Oracle WebLogic Server10.3.6.0、12.2.1.2、12.2.1.3、12.1.3.0

2、攻击步骤

2.1  访问192.168.137.128:8062/hello/file.jsp?path=/etc/password,下载passwd文件

2.2  访问192.168.137.128:8062/hello/file.jsp?path=security/SerializedSystemIni.dat,使用burpsuite抓包,右键copy to file就可以生成一个文件

2.3  访问192.168.137.128:8062/hello/file.jsp?path=config/config.xml,同时开启burpsuite抓包,node-manager-password-encrypted>的值可以看到加密后的管理员密码

2.4  通过解密可以得到密码

2.5  访问http://192.168.137.128:8062/console,输入用户名weblogic,密码N7aDceHG即可登录至后台

2.6  点击base_domain的配置,在“高级”中开启“启用 Web 服务测试页”选项并保存

2.7  访问http://192.168.137.128:8062/ws_utc/config.do,设置Work Home Dir为     /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL    _internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css并提交

2.8  点击安全,添加,然后上传webshell,上传时使用burpsuite抓包查看时间戳,放包后可以看到成功上传,需要保存这个时间戳,因为需要在/ws_utc/css/config/keystore/时间戳_文件名才能访问上传的webshell

2.9  访问http://192.168.137.128:8062/ws_utc/css/config/keystore/1595402017324_shell.jsp即可执行shell.jsp文件

2.10  使用冰蝎连接,成功getshell

3、加固建议

  • 下载Oracle官方补丁:http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
  • 升级到最新版本:https://www.oracle.com/middleware/technologies/fusionmiddleware-downloads.html

四、SSRF漏洞(CVE-2014-4210)

1、漏洞简述&影响版本

        Weblogic提供uddiexplorer作为应用发布和服务查找,这个功能中存在operator可以写入url地址,但因为没有限制IP信息导致ssrf漏洞。可能导致:敏感数据泄露、内外网主机应用程序漏洞的利用、内外网web站点漏洞的利用等危害。

        影响版本:Oracle Weblogic  Server 10.0.2 ~ 10.3.6.0

2、攻击步骤

2.1  访问存在漏洞的页面http://192.168.137.128:8063/uddiexplorer/SearchPublicRegistries.jsp,输入内容并进行查询,使用burpsuite抓取提交的数据包

2.2  点击search并使用burpsuite抓包,将operator修改为服务器地址,访问开放的端口8063,返回404说明8063端口开放

2.3  任意访问一个不存在的端口,无法找到该服务,说明该端口未打开

通过上述测试即可发现目标存在ssrf漏洞

3、加固建议

  • 下载官方发布的对应更新包:http://www.oracle.com/technetwork/topics/security/cpujul2014-1972956.html
  • 删除server/lib/uddiexplorer.war下的相应jsp文件:jar -xvf uddiexplorer.war;rm jsp-files;jar -cvfM uddiexplorer.war uddiexplorer/
  • 更新到最新版本:     https://www.oracle.com/middleware/technologies/fusionmiddleware-downloads.html

五、管理界面弱口令

1、漏洞简述&影响版本

       Weblogic存在后台管理界面用于进行weblogic管理以及应用管理,若设置成弱口令并且未开启足够的账号防护,则可以进入后台进行管理甚至是上传webshell。可能导致:敏感数据泄露、后台上传shell文件getshell等危害。

       影响版本:全版本

2、攻击步骤

2.1  访问http://ip_addr:7001 出现Error 404—Not Found可判定目标是weblogic

2.2  然后访问http://ip_addr:7001/console 进入weblogic后台登录界面,用burp抓取登录数据包

2.3  使用burpsuite的intruder进行密码暴力破解,用户名一般为weblogic、admin、oracle

2.4  登录后台,点击部署-安装进入部署流程

2.5  点击上传文件按钮,选择我们打包好的Webshell的war文件,后续一直下一步直到完成,则完成部署

2.6  直接访问检查是否上传成功,因为是菜刀马使用蚁剑进行连接,检查是否能正常执行

3、加固建议

  • 点击域名结构一级标题,找到“启用控制台”,将勾去除,保存并重启服务

  • 点击安全领域->myrealm,找到用户封锁,将启用封锁打勾,保存并重启服务

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值