前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis主从复制的一些利用方式

redis主从复制的一些利用方式

作者头像
Gamma实验室
发布2021-11-04 10:04:00
8880
发布2021-11-04 10:04:00
举报
文章被收录于专栏:Gamma安全实验室Gamma安全实验室

限制

大多数教程都是用的这个脚本直接实现的https://github.com/Ridter/redis-rce。不知道大家在使用脚本的时候有没有注意到一些限制。

限制1、目前github上的动态链接库都是so文件,这就说明基本只能在Linux使用。

限制2、网上都有讲主从复制要求redis版本是4.X和5.X才能利用。

突破限制

限制1、 在渗透的过程中遇到windows版的redis该怎么getshell(这是一道面试题)。我按照Linux的方式运行了一次脚本并把exp.so替换成了cs生成的dll文件,发现并不能上线,但是我在redis的安装目录下发现了这个dll文件,这说明了dll是被上传到了目标服务器。然后我通过手动执行MODULE load system.dll然后观察日志,发现日志中提升说不存在RedisModule_OnLoad这个函数,于是通过修改github上现有的redis模块源码实现了rce。

限制2、 在查看其他文章的时候发现有提到redis是在4.x加入了module功能。3.x不能使用主从复制的原因应该就是没有module这个功能。使用脚本尝试redis 3.2,同样发现将dll上传到了redis安装目录,但是报了unknown command system.exec,这应该就是文件上传成功了但是没有module命令所有没有加载。

既然能上传文件,就可以尝试能不能将文件上传到其他目录下,结果是可以的。用这种方式可以将把exe上传到windows的自启动目录,然后在用户重新登录桌面的时候就能运行(redis默认是network权限,可能没有权限去写),或者上传webshell到网站根目录下也可以。

redis6: redis6 加载的动态链接库其他用户必须要有可执行权限才能成功load,目前感觉是无解。但在提权的时候可能会用到。

测试版本实际效果

注意:在某些情况下会导致redis服务崩溃。 测试结果如下: v4.0.2-alpha :崩溃 v4.0.14:正常 v5.0.14:正常

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Gamma安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档