一、这些一天,查了查redis未授权访问漏洞,原因是在之前面试的时候,总会被问道了没了解过redis未授权访问漏洞,当时一脸懵,面试完之后页没时间整理,今天抽空整理一遍。文章整体略显粗糙。
原理
一、Redis端口默认绑定在0.0.0.0:6379上,,如果没有设置信任IP访问,这样就会导致所有的IP都可以进行访问redis服务。还有就是Redis口令一般为空,所以会导致任意用户,在可以访问目标服务器的情况下,未授权访问 Redis 以及读取 Redis 的数据。
二、利用 Redis 自身的提供的config 命令,可以进行写文件操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务登录目标服务器。
复现过程
环境准备
一、攻击机:kali、192.168.17.132
Redis机器:ubantu:192.168.17.133
Redis安装包:wget http://download.redis.io/releases/redis-5.0.0.tar.gz
EXP:https://github.com/n0b0dyCN/redis-rogue-server
操作过程
1.下载Redis包
2.解压Redis包
3.编译Redis:make
4.修改配置文件
将bind:127.0.0.1修改为:0.0.0.0
将protected-mode yes修改为:protected-mode no
5.将启动服务复制到/usr/bin目录下
6.在将配置文件复制到/etc下
7.启动服务
8.攻击机kali,远程连接
9.利用redis本身的config写入文件
10.查看redis服务器/home/xx下是否有csa.php
11.利用EXP进行连接。
1.作用:使目标机redis主动连接攻击机4444端口