Redis未授权访问漏洞复现
- 1.1 Redis环境配置
- 1.2 靶机CS的环境部署及攻击机Kali的战斗部署
- 2.1漏洞复现过程中可能出现的一些问题
- 2.2漏洞利用的小姿势
1.1 Redis环境配置
漏洞靶机(Centos7.9):192.168.55.136
攻击机(kali):192.168.55.129
1、安装redis
①首先可以创建用于安装redis文件配置的目录
mkdir /usr/local/redis
②进入redis文件并下载redis安装包
cd /usr/local/redis/
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
其中wget是一个下载文件的工具,它用在命令行下,通常在我们经常要下载一些软件或从远程服务器恢复备份到本地服务器时使用;
tar xzf redis-3.2.0.tar.gz
在当前地址进行解压,生成redis-3.2.0文件夹
③ 进入解压后的redis-3.2.0文件夹
cd /usr/local/redis/redis-3.2.0
make
编译安装
注:
make工具是一个根据makefile文件内容,针对目标(可执行文件)进行依赖性检测(要生成该可执行文件之前要有哪些中间文件)并执行相关动作(编译等)的工具
。而这个makefile文件类似一个脚本,其中内容包含make所要进行的处理动作以及依赖关系。
另外make的一个好处就是当你对某个源文件进行了修改,你再次执行 make 命令,它将只编译与该源文件相关的目标文件而不是整个代码工程,结果生成.o和可执行文件:
④编译后出现如下界面显示成功,编译好了redis文件;
⑤vim redis.conf —>修改默认配置文件
注意一下这一步:按小编的配置路径的话:
redis在 /usr/local/redis/redis-3.2.0 src文件夹是在/usr/local/src
对文件路径绕混的小伙伴可以看,页面的home文件下–>other locations–>usr–>~~
redis安装完成,我们需要修改配置文件,配置允许可以远程访问。
⑥配置文件详情(特别注意)
两种方法:
①一处:在bind 127.0.0.1前面加上#号进行注释,并将protected-mode设置为no。
②一处#去掉,二处开启bind 127.0.0.1回环地址(保留地址),意思就是可以连接本机,用redis连接本机也有效;
开启192.168.55.136是由于可以使目标机索引本机ip,不可能别人连接你的回环地址吧;同时也要将protected-mode设置为no;
修改文件时vi命令模式时查询的命令 /xx,n向下查询N向上查询,查找那个protected-mode开关;
1.2 靶机CS的环境部署及攻击机Kali的战斗部署
一,对靶机CS的环境部署
1,想要启动redis-server和redis-cli不用每次都进入安装目录,可以复制执行的这两个文件放到etc文件下,但不是特别建议,毕竟为系统配置文件夹,少放点好,只是为了实验方便。
cd src
cp redis-cli /usr/bin
cp redis-server /usr/bin
cp redis.conf /etc/
2,启动redis-server
redis-server /etc/redis.conf
显示如下界面就成功了
3,验证是否成功启动了redis服务
netstat -nulpt|grep 6379/redis
ps -ef | grep redis
①
②
二,攻击机对kali系统的战斗部署
4,配置安装(启动redis)好环境,俺们都是大聪明_,那直接上原先的代码
mkdir /usr/local/redis
cd /usr/local/redis/
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
tar xzf redis-3.2.0.tar.gz cd /usr/local/redis/redis-3.2.0 进入redis
make
redis-server /etc/redis.conf
5,大快人心的时刻,验证未授权访问
首先在攻击机kali上扫描靶机开启的端口情况
nmap -p 6379 --script redis-info 192.168.55.136
-->验证Redis未授权访问漏洞
扫描结果:扫描出来靶机CS(centos7)在6379端口开启了redis服务;
6,开始战斗模式啦
./redis-cli -h 192.168.55.136 -p 6379
2.1漏洞复现过程中可能出现的一些问题
num1–>连接不上,被靶机redis拒绝访问
这时查看centos防火墙是否关闭,并查看1、安装redis的第三步③是否正确配置;
防火墙的开关:(1)关闭防火墙:systemctl stop firewalld
(2)检查防火墙状态:systemctl status firewalld
想要了解关于防火墙命令的小知识请看俺的其他小文章哦~~~
num2–>Could not connect to Redis at 192.168.1.103:6379:No route to host
应该是centos的防火墙还没有开启6379端口,所以无法进行访问。这里需要打开端口模拟真实环境才能正常连接。
firewall-cmd --zone=public --add-port=6379/tcp --permanent
开放6379端口
firewall-cmd --reload
配置立即生效
绕后再次连接即可成功了;
num3–>出现以下页面,同num1处理方式一样,得开放本机ip被远程连接;
2.2漏洞利用的小姿势
主要是需要了解Redis的常见基本命令
① info 查看redis版本信息、一些具体信息、服务器版本信息等等:
②获取默认的redis目录、和rdb文件名:
CONFIG GET dir
CONFIG GET dbfilename
其他利用姿势有待后续学习更新~
各位道友学习后有疑问互相探讨哦,星海中探寻知识!!!