Redis未授权访问漏洞复现的(三种方式)

Redis未授权访问漏洞详解与防护措施
本文详细介绍了Redis未授权访问漏洞的原理、危害及复现过程,包括三种利用方式:反弹shell、写入SSH公钥和写入webshell。同时,提供了修复建议,如限制访问IP、设置密码和修改默认端口。

Redis未授权访问漏洞复现(三种方式)

一、Redis介绍
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

二、漏洞简介及危害
漏洞简介

Redis因配置不当就会导致未授权访问。在默认情况下,Redis会绑定在 0.0.0.0:6379。如果没有采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样 Redis 服务直接暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问到目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,还可以利用 Redis 自身提供的config 命令进行写文件操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务登录目标服务器。

该漏洞的产生条件有以下两点:

1.redis绑定在 0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网;
2.没有设置密码认证(一般为空),可以免密码(认证)远程登录redis服务。

漏洞危害:
(1) 攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行flushall来清空所有数据;
(2) 攻击者可通过执行lua代码,或通过数据备份功能往磁盘写入后门文件;
(3) 最严重的情况,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器;

三、漏洞复现
漏洞靶机(Centos7):192.168.6.15
攻击机(kali):192.168.6.100

1、安装redis
创建安装redis的目录
mkdir /usr/local/redis
cd /usr/local/redis/
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
tar xzf redis-3.2.0.tar.gz
cd /usr/local/redis/redis-3.2.0
make #编译安装
在这里插入图片描述
安装完成之后需要修改配置文件,配置允许可以远程访问。

vim redis.conf #修改默认配置文件

在bind 127.0.0.1前面加上#号进行注释,并将protected-mode设置为no。
在这里插入图片描述
然后进入src目录,将redis-server和redis-cli拷贝到/usr/bin目录下(这样启动redis-server和redis-cli就不用每次都进入安装目录了),并将redis.conf拷贝到/etc/目录下。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值