【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅

渗透技巧 2年前 (2022) admin
1,380 0 0

关注公众号回复“漏洞”获取研究环境或工具




漏洞信息


近日,Oracle官方通报了WebLogic存在多个T3反序列化漏洞,其中一个编号为CVE-2022-21350,影响版本如下:


  • WebLogic 12.1.3.0.0

  • WebLogic 12.2.1.3.0

  • WebLogic 12.2.1.4.0

  • WebLogic 14.1.1.0.0


这显然是一个可以绕过黑名单的新利用链。最近看到有小伙伴放出了简要分析,在此基础上,本文将完整Gadget的构造过程分享给大家。




Gadget分析


我们知道经典的cc5 Gadget是通过`BadAttributeValueExpException`反序列化来触发`toString`函数。CVE-2022-21350的Gadget类似,这里使用的是`weblogic.servlet.internal.session.FileSessionData#toString`:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


进入`isDebuggingSession`函数:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


这里会调用`getAttribute`函数,读取名为`wl_debug_session`的对象(`AttributeWapper`类型),跟进:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


继续跟进`getAttributeInternal`函数:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


这里会调用`AttributeWrapperUtils.unwrapObject`:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


跟进`unwrapEJBObjects`:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


当`unwrappedObject`为`BusinessHandle`类型时,将进入`BusinessHandle#getBusinessObject`:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


进入`getEJBHome`:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


这里定义了一个`Context`对象,并调用了`lookup`。




Gadget构造


回顾前面的分析过程,梳理完整调用链如下:


javax.management.BadAttributeValueExpException->readObject  weblogic.servlet.internal.session.FileSessionData->toString    weblogic.servlet.internal.session.FileSessionData->isDebuggingSession      weblogic.servlet.internal.session.FileSessionData->getAttribute        weblogic.servlet.internal.session.FileSessionData->getAttributeInternal          weblogic.servlet.internal.session.AttributeWrapperUtils->unwrapObject            weblogic.servlet.internal.session.AttributeWrapperUtils->unwrapEJBObjects              weblogic.ejb.container.internal.BusinessHandleImpl->getBusinessObject                weblogic.ejb20.internal.HomeHandleImpl->getEJBHome                  javax.naming.InitialContext->lookup


最终生成Gadget利用链的示例代码如下:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


有需要源代码的小伙伴请点击关注公众号后私聊。



构建T3协议发包程序,将上述序列化的Gadget发送至WebLogic,成功到达`getEJBHome`,效果如下:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅


完整函数调用栈如下:


【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅

关注公众号回复“漏洞”获取研究环境或工具

原文始发于微信公众号(且听安全):【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅

版权声明:admin 发表于 2022年1月28日 上午5:59。
转载请注明:【最新漏洞预警】CVE-2022-21350 WebLogic T3反序列化漏洞Gadget分析与构造之旅 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...