一、漏洞介绍
Redis因配置不当可以导致未授权访问,被攻击者恶意利用。当前流行的针对Redis未授权访问的一种新型攻击方式,在特定条件下,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器,可导致服务器权限被获取和数据删除、泄露或加密勒索事件发生,严重危害业务正常服务。 部分服务器上的Redis 绑定在 0.0.0.0:6379,并且没有开启认证(这是Redis 的默认配置),以及该端口可以通过公网直接访问,如果没有采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,将会导致 Redis 服务直接暴露在公网上,可能造成其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。
二、测试环境
靶机 centos7 192.168.1.27
攻击机 kali 192.168.1.138
三、测试过程
1.启动redis服务
2.服务器开启SSH服务
3.查看root目录下创建.ssh
4.攻击机也配置redis,并开启服务
5.查看root目录下.ssh是否存在
7.在本地生成密钥文件,公钥文件默认路径为:/root/.ssh/id_rsa.pub
8.公钥文件已生产,并把公钥写入key.txt
9.将公钥文件key.txt写入到服务器key中
10.修改redis的dir目录和dbfilename,为了save的rdb文件覆盖写入redis服务器/root/.ssh/authorized_keys文件
11.公钥已传入服务器中
12.登录redis服务器,获取root权限