0%

Radis未授权访问漏洞复现

漏洞特征:

  • redis绑定在 0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网;
  • 没有设置密码认证(一般为空),可以免密码远程登录redis服务。 

漏洞危害:

  • 攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行flushall来清空所有数据;
  • 攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件;
  • 最严重的情况,如果Redisroot身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器

影响版本:

Redis 2.x,3.x,4.x,5.x

漏洞复现:

环境搭建:

下载并安装测试用的Redis,本次采用的是Centos7镜像:

1
wget http://download.redis.io/releases/redis-2.8.17.tar.gz

image
解压安装包,进入目录安装radis

1
2
3
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make

image
安装完成后,显示如下:
image
make结束后,进入src目录,将redis-serverredis-cli拷贝到/usr/bin目录下(这样启动redis-serverredis-cli就不用每次都进入安装目录了)

返回目录redis-2.8.17,将redis.conf拷贝到/etc/目录下:

1
2
3
4
cp redis-server /usr/bin
cp redis-cli /usr/bin
cd ..
cp redis.conf /etc/

使用/etc/目录下的reids.conf文件中的配置启动redis服务:

1
redis-server /etc/redis.conf

image
服务启动成功,我们克隆这台虚拟机,一台作为攻击机,一台作为靶机
靶机ip为192.168.3.130
image
攻击机ip为192.168.3.137
image

未授权访问复现

靶机启动radis服务:
image
使用redis客户端直接无账号成功登录redis

1
./redis-cli -h 192.168.3.130

image
从登录的结果可以看出该redis服务对公网开放,且未启用认证。

参考文章:

利用姿势可以参考这篇文章,感谢师傅的好文章!
https://www.cnblogs.com/bmjoker/p/9548962.html