今天我们来学习一下什么是Redis未授权访问漏洞,以及各种利用方法。
一、Redis未授权访问漏洞介绍
Redis因配置不当可以导致未授权访问,被攻击者恶意利用。当前流行的针对Redis未授权访问的一种新型攻击方式,在特定条件下,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器,可导致服务器权限被获取和数据删除、泄露或加密勒索事件发生,严重危害业务正常服务。部分服务器上的Redis 绑定在 0.0.0.0:6379,并且没有开启认证(这是Redis 的默认配置),以及该端口可以通过公网直接访问,如果没有采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,将会导致 Redis 服务直接暴露在公网上,可能造成其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作
产生条件
1.redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源IP访问,直接暴露在公网
2.没有设置密码认证,可以远程登录redis服务
漏洞危害
1、攻击者可以不用认证访问到内部数据,可能导致敏感信息泄露,黑客也可以执行攻击代码清空所有数据
2、黑客可以通过eval执行lua代码,或者通过数据备份功能往磁盘写入后门文件
3、如果redis以root身份运行,黑客可以给root用户写入ssh公钥文件,直接通过ssh远程登录服务器。
redis常用命令
config set dir /home.test 设置工作目录
config set dbfilename redis.rdb 设置备份文件名
config get dir 检查工作目录是否设置成功
coonfig get dbfilename 检查备份文件名是否设置成功
save 进行备份操作
漏洞复现
攻击机kali:192.168.1.128
redis 服务器:120..........
redis服务器:192.168.1.151
redis环境安装
安装编译依赖包
yum -y install gcc* tcl tcl-devel
yum -y install make
下载redis 软件包
wget http://download.redis.io/releases/redis-