Redis未授权访问导致可远程获得服务器权限
2018-02-01 09:07
405 查看
近日,魔方安全团队监控到针对Redis未授权访问的一种新型***方式,在特定条件下,可远程导致服务器沦陷,魔方安全团队及时对该***方式进行了研究及威胁评估,并通过魔方矩阵情报系统在第一时间通知了部分用户进行修补,以下是漏洞原理以及复现的过程。漏洞原理及复现在复现前,先介绍两个基本所要了解的基础知识: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的默认路径以及数据库缓存文件。方法如下:
然后通过redis-clis远程连接到目标redis服务器,执行以下命令
漏洞修复该漏洞的修补方法如下:
转载地址http://www.freebuf.com/vuls/85021.html
config set dir /xxx config set dbfilename xxxxset xxxx "xxx"save上述两种常见的运维方法结合,在以下条件下:
1.Redis服务使用ROOT账号启动 2.Redis服务无密码认证或者使用的是弱口令进行认证 3.服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器。如下图:首先在本地生成一对密钥:
然后通过redis-clis远程连接到目标redis服务器,执行以下命令
config set dir /root/.ssh/config set dbfilename authorized_keysset xxxx "\n\n\nssh-rsa key_pub\n\n\n",其中key_pub为上图生成的公钥,即可将公钥保存在远端服务器,使得登录时不需要输入账号与密码。目前魔方安全团队已经检测到部分客户的Redis已经因该漏洞被***,并在其缓存数据库中发现被写入的公钥,建议用户马上对内部网络进行排查。
漏洞修复该漏洞的修补方法如下:
1)禁止使用 root 权限启动 redis 服务; 2)对 redis 访问启用密码认证,并且添加 IP 访问限制; 3)尽可能不对公网直接开放 SSH 服务。隐藏重要命令Redis 无权限分离,其管理员账号和普通账号无明显区分。***者登录后可执行任意操作,因此需要隐藏以下重要命令:
FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, EVAL。另外,在 Redis 2.8.1 及 Redis 3.x (低于 3.0.2) 版本下存在 EVAL 沙箱逃逸漏洞,***者可通过该漏洞执行任意 Lua 代码。 设置为空,即禁用该命令;也可设置为一些复杂的、难以猜测的名字追加下列命令到
redis.conf。
rename-command CONFIG "" rename-command flushall "" rename-command flushdb "" rename-command shutdown shotdown_test 等等保存后,执行
/etc/init.d/redis-server restart重启生效。
转载地址http://www.freebuf.com/vuls/85021.html
相关文章推荐
- redis未授权访问导致远程登陆服务器
- Redis未授权访问导致服务器被控制
- SpringBoot远程访问redis服务器问题剖析
- redis未授权访问致远程植入挖矿脚本
- redis未授权访问导致的安全问题
- Redis未授权访问缺陷让服务器沦为肉鸡
- Win10下, 远程访问文件夹cache用户权限导致网站访问权限错乱
- 阿里云部署redis服务器,以及远程访问
- XAMPP设置MySql服务器用户名密码及远程访问权限
- 要登录到这台远程计算机,你必须拥有这台计算机上的“终端服务器用户访问”权限,在默认情况下,“远程桌面用户”组的成员拥有这些权限。如果你不是“远程桌面用户”组或其他拥有这些权限的组的成
- 操作必须使用一个可更新的查询;HTTP 500 - 内部服务器错误; 您未被授权查看该页;您不具备使用所提供的凭据查看该目录或页的权限;HTTP 错误 401.3 - 访问被资源 ACL 拒绝
- Redis 未授权访问缺陷可轻易导致系统被黑
- 操作必须使用一个可更新的查询;HTTP 500 - 内部服务器错误; 您未被授权查看该页;您不具备使用所提供的凭据查看该目录或页的权限;HTTP 错误 401.3 - 访问被资源 ACL 拒绝
- 访问远程服务器Redis失败解决方法
- 误修改/etc目录下所有文件权限导致无法远程访问
- Redis未授权访问缺陷让服务器沦为肉鸡
- 您未被授权查看该页 您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对 Web 服务器上的该资源进行了配置
- 服务器安装mysql后配置远程访问权限
- Redis服务器安装和配置远程访问
- Win Server 2003远程桌面提示:要登录到这台远程计算机,您必须拥有这台计算机上的终端服务器用户访问权限提示的解决办法