Redis未授权访问漏洞

Redis 介绍

Redis 是非关系型数据库系统,没有库表列的逻辑结构,仅仅以键值对的方式存储数据。

Redis 数据库经常用于Web 应用的缓存。

Redis 可以与文件系统进行交互。

Redis 监听TCP/6379

漏洞原理

  1. Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上
  2. 如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。
  3. 攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器

漏洞危害

漏洞影响版本

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

Redis未授权主要是配置不当造成的所以不管哪个版本只要配置有问题就造成危害

Redis环境安装

官网地址:Redis

下载地址:Index of /releases/

漏洞复现

复现环境

攻击机kali(安装有redis3.2.0,192.168.110.236)

靶机(redis3.2.11 192.168.91.119)

攻击方法

要成功的利用Redis未授权访问的漏洞需要如下几点

  1. redis服务以root账户运行
  2. redis无密码或弱密码进行认证
  3. redis监听在0.0.0.0公网上或内网中

首先可以使用Kali Nmap的检测脚本 对 Redis进行未授权检测

nmap -A -p 6379 –script redis-info 192.168.91.119

连接数据库查看 info, 确定未授权访问

redis-cli -h 192.168.91.119 -p 6379

Linux 获取权限

SSH公钥

生成密钥在攻击机中

ssh-keygen -t rsa

将公钥导入key.txt文件(前后用\n\n换行,避免和Redis里其他缓存数据混合)

再把 key.txt 文件内容写入目标主机的缓冲里

再通过设置参数,写入指定文件

如上则为成功写入SSH密钥文件,攻击机可无需密码远程连接目标主机SSH

WebShell

当SSH不允许远程登录时,也可以通过写入 Web目录控制目标主机

定时任务

也可以通过写入定时任务反弹Shell,获取权限

攻击机监听端口
nc -lvvp 9999

Webshell

攻击成功的前提为:需要准确的知道Web目录位置
可通过 phpinfo 或者 网站报错得知

这里测试的目标路径为:/var/www/html

成功写入木马,并可连接控制服务器

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzyit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值