Redis未授权访问漏洞解析与防护措施

创始人
2024-12-30 15:24:42
0 次浏览
0 评论

Redis未授权访问漏洞总结

Redis未授权访问漏洞摘要:当Redis服务未设置密码且客户端能够通过远程连接成功连接时,可能会出现未授权访问漏洞。
例如,使用ping命令检查连接,例如“redis-cli-h127.0.0.1-p6379-amypassping”。
如果密码正确,将返回“PONG”。
要重现此漏洞,首先需要在攻击机器上安装Redis。
在Ubuntu中,这包括下载、解压、编译和配置。
安装成功后,攻击者机器可以无密码登录Redis,然后执行恶意操作,例如编写webshel​​l或SSH公钥。
要利用该漏洞编写Webshel​​l,需要创建适当的命令,例如“redis-cli-hsetshell.php\r\n”,并确保有换行符才能正确执行。
攻击者可以看到目标服务器的“/var/www/html/shell.php”中写入的shell内容。
写入SSH公钥的原理是将本地公钥插入到Redis数据库中,并修改默认路径,使其保存在目标服务器的“/root/.ssh/authorized_keys”中。
通过攻击机流程完成公钥导入和写入。
此外,攻击者还可以使用Redis编写计划任务,将恶意代码存储为计划任务,然后在特定时间运行,从而实现回归包装器。
攻击者监听服务器的网络连接,并通过Redis进程执行定时任务,从而获得攻击机上的弹跳shell。
所有这些操作都需要Redis权限控制存在漏洞,因此确保服务密码设置、限制远程连接、定期检查安全设置是防止此类漏洞的重要措施。

Redi未授权访问的两种利用方式

默认情况下,Redis服务器绑定到0.0.0.0:6379。
如果没有制定防火墙策略来限制不受信任的IP访问,服务将暴露在公共网络中。
无需密码认证,任何用户都可以在未经授权的情况下访问Redis并读取数据。
攻击者可以通过Redis配置命令写入文件,将SSH公钥写入目标服务器的/root/.ssh/authorized_keys,并使用对应的私钥直接登录。
注意环境配置中的gcc版本。
如果低于5.3,编译时会出现错误。
启动服务并尝试连接。
如果报错,必须禁用RedisSentry模式。
创建一个外壳文件。
请记住,Redis可能会在文件的开头或结尾添加信息,并在设置文件内容时执行换行符。
文件上传后,访问查看上传结果。
使用计划任务功能写入文件并触发任务。
Kali接收SSHshell并执行反弹。
在此过程中,重点是识别和利用Redis服务中的漏洞,特别是未经授权的访问和文件写入能力,以及相关的环境配置和脚本编写技能。
如需了解更多网络安全知识,建议咨询专业平台或社区,获取深入知识和实践指导。

redis未授权访问漏洞复现利用

redis未授权访问漏洞Redis服务默认绑定在0.0.0.0:6379,如果没有实施防火墙策略允许其他不受信任的IP访问,则可以从公网访问该服务。
如果未配置密码验证(默认为空),则任何用户可能无法访问Redis并读取数据。
攻击者在未经授权的情况下使用config命令将SSH公钥写入目标服务器上的/root/.ssh/authorized_keys文件中,然后使用相应的私钥直接SSH到服务器。
该漏洞的产生条件包括服务器未限制IP访问或配置密码认证。
漏洞风险包括敏感信息泄露、恶意执行flashall清除数据、通过EVAL执行lua代码或写入后门文件的备份功能。
在最严重的情况下,黑客可以将SSH公钥文件写入root帐户和日志。
直接通过SSH连接。
Redis是一个非关系型数据库,支持字符串、哈希、列表、集合、有序集合等多种数据结构类型。
实验环境包括Windows、Linux和Mac操作系统。
安装与运行:Windows使用GitHub提供的安装包,Linux使用apt-get或者wget和tar命令的组合,Mac使用brew。
基本命令包括连接、查看、删除键等。
使用过程:连接目标服务器,使用config命令更改备份路径和文件名,写入SSH公钥,使用私钥登录。
修复包括限制IP访问和配置密码身份验证。
总结:谨慎环境配置和权限管理,避免非法访问和数据泄露的风险。
确保您的密码安全,限制服务器访问范围,并定期审查和更新您的安全策略。
热门文章
1
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...

4
MySQL查询加速秘籍:PolarDB ... mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...

5
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

6
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

7
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

8
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

9
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

10
Linux Redis操作指南:安装、配... Linux系统进入redis并查询值1.进入redisredis-cli2.获取...