redis未授权访问漏洞的三种场景复现以及加固思路

本文介绍了Redis未授权访问漏洞的原因、危害,通过三个场景演示了漏洞复现过程,包括反弹shell、写入webshell和SSH免密登录。同时,提出了加固策略,如升级Redis版本、设置认证密码、更改端口、防火墙过滤等。
摘要由CSDN通过智能技术生成

1.redis简介

redis是一个 非常快速 的,开源的,支持网络,可以基于内存,也可以持久化的日志型, 非关系型
的键值对数据库。并提供了多种语言的api。有java,c/c++,c#,php,JavaScript,perl,object-c,python,ruby,erlang等客户端,使用方便。

2.未授权访问漏洞的成因和危害

1.漏洞定义

redis未授权访问漏洞是一个由于redis服务器版本较低,并未设置登陆密码所导致的漏洞,攻击者可以直接利用redis服务器的ip地址和端口完成对redis服务器的远程登陆,对目标服务器完成后续的控制和利用。

2.漏洞成因

  • redis为4.x/5.x或以前的版本

  • redis绑定在0.0.0.0:6379,并且没有添加防火墙规则来避免其他非信任来源ip的访问,直接暴露在公网

  • 没有设置密码认证,可以免密码远程登录redis服务

3.漏洞危害

  • 攻击者可以通过redis命令向目标服务器写入计划任务,让服务器主动连接攻击者,实现反弹shell,完成对服务器的控制

  • 攻击者可以通过redis命令向网站目录写入webshell,完成对目标网站服务器的初步控制。即可以通过redis服务间接利用http服务。

  • 当redis以root身份运行时,攻击者可以给root用户写入ssh公钥文件,直接通过ssh远程登录受害服务器

3.漏洞复现

0.实验准备

实验环境,centos7两台,需要安装如下工具

yum -y install gcc gcc-c++ make vim net-tools nc wget

使用redis6.2.7版本,攻击机为redisC,靶机为redisS

两台centos关闭selinux安全子系统,iptables和firewalld。

靶机配置redis bind为0.0.0.0

#bind默认为 127.0.0.0 ,表示绑定的本机ip,修改为0.0.0.0表示任意主机可以连接
#这个改动是临时的,没有写入配置文件

127.0.0.1:6379&g
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值