redis未授权访问的利用方式
漏洞原理:
Redis<3.2默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的安全策略,比如添加防火墙黑白名单等等,这样会将Redis服务暴露在公网上。
如果在没有设置密码(默认为空)的情况下,会导致任意用户可以未授权访问Redis以及读取Redis的数据。攻击者利用Redis自身的提供的config命令,可以进行写文件操作,还可以将ssh公钥写入目标服务器./root/.ssh下的authotrized_keys 文件中,进而可以利用对应私钥直接使用ssh服务器登录目标服务器。
漏洞的产生条件有以下两点:
- Redis绑定在0.0.0.0:6379,且没有进行添加安全策略,直接暴露在公网
- 没有设置密码认证或者弱密码,可以免密登录redis服务
漏洞复现:
环境:
- 攻击机kali5.7.0 192.168.237.132
- 靶机1 Ubuntu16.04 192.168.237.128
- 靶机2 centOS7 192.168.237.133
- redis 2.8.17
靶机1开启redis-server,攻击机./redis-cli -h 尝试连接
由于靶机1没有开启安全策略且默认没有设置密码认证
造成攻击机可以未授权访问且执行命令获取敏感数据

利用方式一:webshell
攻击机进行未授权访问,利用redis的config set命令将webshell写入靶机2网站目录下(*Redis Config Set 命令可以动态地调整 Redis 服务器的配置)
config set dir #设置路径
config set dbfilename #设置文件名

本文详细介绍了Redis 3.2之前版本的未授权访问漏洞原理,涉及利用config命令进行文件操作、SSH公钥植入和crontab定时任务反弹shell等手段。同时,阐述了漏洞产生的条件和复现步骤,并提供安全防护建议。
最低0.47元/天 解锁文章
5761

被折叠的 条评论
为什么被折叠?



