WebLogic UniversalExtractor反序列化漏洞(CVE

访客3年前关于黑客接单730

1.1 状态

完成漏洞挖掘条件分析、漏洞复现。

1.2 简介

WebLogic 是美国 Oracle 公司的 Java 应用服务器,确切说是一个中间件,被用于WEB应用、数据库应用等的集成开发部署。WebLogic 的 T3 协议易被利用,从而采用 JNDI 注入、反序列化 *** 达到远程代码执行的目标。存在安全缺陷的版本:WebLogic12.2.1.4.x,【JDK版本:6u211以下;7u201以下;8u191以下】。本文使用JDK1.8.0_181。

1.3 漏洞挖掘能力条件

认为应掌握JNDI注入 *** ,并清晰WebLogic的coherence源码的逻辑功能。

1.4 利用 ***

1.4.1 环境

在 WIN10 的 WSL2 下用 docker 镜像 weblogic122140jdk8u181new:latest、ubuntu 创建三个容器,称为weblogic122140jdk8u181new、ubuntu-JNDI、ubuntu-gongji,作用分别为WebLogic 服务器、JNDI服务器、攻击机。对于 weblogic122140jdk8u181new 容器【ip:172.17.0.2】的生成过程,需要进入【WeblogicEnvironment】文件夹,参照【https://github.com/QAX-A-Team/WeblogicEnvironment】 *** 即可生成,命令是:
对于由 ubuntu 镜像生成的 ubuntu-JNDI 容器【ip:172.17.0.3】,将 jdk-8u181-linux-x64.tar.gz、JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar拷贝至容器内,参照【https://www.cnblogs.com/hellojesson/p/11684299.html】安装好jdk,执行命令:
?对于由ubuntu镜像生成的ubuntu-gongji容器【ip:172.17.0.4】,将jdk-8u181-linux-x64.tar.gz、CVE-2020-14645.jar拷贝至容器内,参照【https://www.cnblogs.com/hellojesson/p/11684299.html】安装好jdk。1.4.2 目标在 WebLogic 服务器执行代码【touch /tmp/CVE】,从而在 tmp 文件夹下生成 CVE 文件。?
1.4.3 复现ubuntu-JNDI 容器会输出可利用的 LDAP 链接,本次输入结果如下:1606117572_5fbb68c4285cf5939422a.png!small?1606117572515










则在攻击机 ubuntu-gongji 容器中输入转发类命令如下:1606117590_5fbb68d6edf52e7d06439.png!small?1606117591177注意标红位置 LDAP 链接尾部是随机产生的,每次均不一样。weblogic122140jdk8u181new 容器会出现经代码执行后生成的文件:1606117603_5fbb68e39300df339af15.png!small?1606117603837
1.4.4 分析 *** 【省略部分代码分析】程序运行时,会跳转至下图红框中的 coherence 库中执行部分功能。1606117616_5fbb68f057d5ea645176e.png!small?1606117616683
com.tangosol.util.extractor.UniversalExtractor?类中:protected transient String m_sNameCanon;private transient TargetReflectionDescriptor m_cacheTarget;private transient boolean m_fMethod;com.tangosol.util.extractor.UniversalExtractor#extract? *** 中的?com.tangosol.util.extractor.UniversalExtractor#extractComplex *** 中:
初步认为,进入?else?分支中,即可调用任意 *** ,前提是?fProperty?为false。经研究,fProperty?由?!this.m_fMethod?决定,其赋值如下?init()?函数:
fProperty?方面,当?sCName?不是无参函数且非空时,fProperty?为?true。继续分析?String sCName=this.getCanonicalName();,追溯到类com.oracle.common.internal.util.CanonicalNames?的 *** com.oracle.common.internal.util.CanonicalNames#computeValueExtractorCanonicalName(java.lang.String, java.lang.Object[]):
综上,有三种 *** 。
  • *** 1:寻找以 “get”/“is” 开头的函数名。【机会较小】
  • *** 2:使?fProperty?为?false,则需寻找以“get”/“is”开头的无参函数。【机会很小】
  • *** 3:观察?extract?在?compare?函数中被调用了两次,会导致一些值发生变化,从而产生缺陷。【经验证无效】
对于 *** 1,可找到合规函数名,再找可序列化的对象(例如,控制dataSource,就能控制javax.sql.rowset.BaseRowSet#getDataSourceName,进行JNDI注入。?

1.5 补丁分析

暂无。?

1.6 docker复现

加载容器tar为镜像,例子:
设置局域网及容器ip、启动容器,例子:(1)自定义 *** 
(2)启动 docker 容器
当容器【ubuntu-JNDI1106】的ip是172.17.0.3、容器【ubuntu-gongji1106】的ip是172.17.0.5、容器【weblogic122140jdk8u181new1106】的ip是172.17.0.4时,启动 weblogic 服务。进入容器【weblogic122140jdk8u181new1106】,输入命令
启动成功,如下图。1606117663_5fbb691f38aa2e52d9148.png!small?1606117663881启动 JNDI 服务。进入容器【ubuntu-JNDI1106】,依次输入命令
可知适用于 jdk1.8 的 JNDI 访问链接为【ldap://172.17.0.3:1389/usns1q】,如下图。1606117673_5fbb69292ebbe4ebcca9c.png!small?1606117673622发起攻击。进入容器【ubuntu-gongji1106】,依次输入命令
“172.17.0.3:1389/usns1q”部分为JNDI链接,攻击成功会返回weblogic版本,如下图。1606117683_5fbb69335fd2aa078a335.png!small?1606117683769攻击成功后,容器【ubuntu-JNDI1106】会显示传输信息,如下图。1606117692_5fbb693c5d3dec416fce2.png!small?1606117692820攻击成功后,weblogic服务器会生成【CVE】文件,如下图。1606117699_5fbb6943d82bedec81030.png!small?1606117700204

1.7 参考资料

  • https://www.chainnews.com/articles/884170141841.htm
  • https://www.freebuf.com/vuls/251540.html
  • https://github.com/QAX-A-Team/WeblogicEnvironment
  • https://paper.seebug.org/1012/#weblogic
  • https://cloud.tencent.com/developer/article/1608010
  • https://badcode.cc/2018/05/20/WebLogic-%E5%8A%A8%E6%80%81%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/
  • https://paper.seebug.org/1280/#cve-2020-14645
  • https://www.anquanke.com/post/id/210724

转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。


相关文章

一篇文章搞懂“增长黑客”的来龙去脉

一篇文章搞懂“增长黑客”的来龙去脉

红极一时的“增长黑客”如今逐渐淡出人们的视野,是被代替?照旧完成了本土进化?你知道它是从哪儿来,如今又到哪儿去了吗?本文作者对“增长黑客”的来龙去脉展开了梳理阐明,与各人分享。 实际上,“增长”这个...

第一张嘴零食可靠吗?加盟怎么样?

第一张嘴零食可靠吗?加盟怎么样?

要说此刻加盟商选择哪个项目举办加盟创业较量好,那么我们必然要来看看第一张嘴零食加盟项目,第一张嘴零食加盟品牌创立多年,品牌形象早就已经深入人心,深受宽大消费者的喜爱与追捧,选择加盟的话,长短常不错的,...

头疼头晕(头疼头晕怎么解决)

头疼头晕(头疼头晕怎么解决) 脑袋疼晕是人们熟知的脑部功能性障碍,也是常见的症状之一。有头晕、头胀痛、眼花、头重脚轻的感觉出现,不仅百思特网如此,头晕症状也会单独出现,而且可能伴随着头痛。引起脑袋疼...

如果黑客在空岛战争(如果黑客在空岛战争会怎么样)

如果黑客在空岛战争(如果黑客在空岛战争会怎么样)

请问:有入侵别国军事网络可行性吗? 他们的做法是违法的,是不道德的,他们窃取多国机密,想要挑唆这些国家的关系。面对境外网络攻击,我们应该怎么做?这些境外网络组织是有预谋的,是专业的,他们搞乱网络秩序,...

杨超越为什么火-杨超越根本不是农村的

孟美岐为何火?许多 朋友都十分好奇心这个问题,在创造营之中,孟美岐的歌唱和民族舞蹈并算不上出色,可最后却结团成名,而且其发展趋势在几人之中算作最好是的了,这几年的時间里,孟美岐报名参加了许多娱乐节目,...

黑客帮人(黑客帮找人)

黑客帮人(黑客帮找人)

本文导读目录: 1、什么是黑客? 2、介绍黑客给别人干一些可能犯法的事,介绍人算犯法? 3、黑客帝国先知为什么要帮助人类 4、身边有个黑客朋友是种怎样的体验呢? 5、计算机黑客是什么?...