CVE-2024-21006-weblogic远程命令执行漏洞

前端 0

目录

前言

一、漏洞利用原理

二、影响范围

三、环境搭建及漏洞复现

四、检测与修复


前言

        Oracle WebLogic Server 存在远程命令执行漏洞(CVE-2024-21006),该漏洞源于T3/IIOP协议存在缺陷,未经身份验证的攻击者可通过T3/IIOP协议受影响的服务器发送恶意的请求,利用LDAP工具执行任意代码。

一、漏洞利用原理

        该漏洞存在于在weblogic.application.naming中。MessageDestination引用实例会调用weblogic.application.naming,可以控制MessageDestinationObjectFactory#getObjectInstance方法的obj参数,最终在MessageDestinationReference#lookupMessageDestination方法中进行JNDI攻击。攻击者通过ldap服务向weblogic注入经过base64编码恶意代码,后续对context.lookup(“xxx”)进行调用,此操作将触发在 JNDI 上下文中查找绑定对象 (messageDestinationReference),该查找操作经由恶意LDAP服务器处理则会触发任意代码执行。

二、影响范围

Weblogic 12.2.1.4.0,14.1.1.0.0

三、环境搭建及漏洞复现

  1. 构建weblogic漏洞环境
    1. 准备java环境,所需java版本为<=jdk 1.8_191 (版本过高无法利用成功)
    2. 官网下载weblogic 14.1.1.0.0/12.2.1.4.0安装文件或拉取docker镜像(部署过程参考Weblogic部署项目三种方式 - 疯子110 - 博客园 (cnblogs.com))

  2. 下载IDEA,构建环境,用于运行exp
    1. 将运行该exp需要weblogic源码的jar包,若单独将weblogic.jar添加为依赖执行不成功,需要下载整个weblogic源码。

    2. exp下载链接:https://pan.baidu.com/s/1gaP2SK-b9pJ5AT7XWuhk_w?pwd=68tg 
      提取码:68tg

    3. 打开exp项目,将weblogic.jar添加为项目依赖

    4. 修改攻击目标

    5. 可修改需要执行的命令,当前命令为calc.exe,base64编码。修改LDAP恶意服务器IP

  3. 下载LDAP恶意服务器工具(链接:https://github.com/WhiteHSBG/JNDIExploit)
  4. 运行工具,同时在IDEA启动exp项目

    java -jar JNDIExploit-1.4-SNAPSHOT.jar -i <监听IP>

    成功在目标机器弹出计算器,攻击结果如下:

四、检测与修复

本地检测:

使用如下命令对 WebLogic 版本和补丁安装的情况进行排查:

$ cd /Oracle/Middleware/wlserver_10.3/server/lib$ java -cp weblogic.jar weblogic.version

在显示结果中,如果没有补丁安装的信息,则说明存在风险。

升级系统,参考官网:https://www.oracle.com/security-alerts/cpuapr2024.html


也许您对下面的内容还感兴趣: