Redis 4.x/5.x 未授权访问漏洞

  • A+
所属分类:漏洞复现
摘要

Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。

0x01Redis是什么?

Redis是数据库,一个高性能的key-value存储系统,是使用ANSI C语言编写的。

0x02Redis未授权访问漏洞

Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。

0x03影响版本

影响版本Redis未授权访问在4.x/5.0.5版本以下

0x04攻击手段

  1. 直接未授权访问,对redis数据库的操作
  2. ssh免密钥登录(有思维导图)
  3. 对redis数据库写马子拿shell,与第二点条件和思路差不多
  4. 写进反弹shell,设置反弹时间反弹。
  5. 利用现有exp

0x05漏洞复现(利用现有exp)

poc地址:

Redis 4.x/5.x 未授权访问漏洞

编译

Redis 4.x/5.x 未授权访问漏洞

攻击

Redis 4.x/5.x 未授权访问漏洞

Redis 4.x/5.x 未授权访问漏洞

修复方案

  1. 禁止一些高危命令(重启redis才能生效)
  2. 以低权限运行 Redis 服务(重启redis才能生效)切身体会
  3. 为 Redis 添加密码验证(重启redis才能生效)
  4. 禁止外网访问 Redis(重启redis才能生效)
  5. 修改默认端口
  6. 保证 authorized_keys 文件的安全
  7. 设置防火墙策略
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: