第四篇:SSRF 结合 Gopher 协议攻击内网 Redis|内网穿透渗透思路解析
摘要即使 Redis 部署在内网也可借助 SSRF 漏洞 Gopher 协议作为跳板攻击内网 Redis。本文讲解 Gopher 协议攻击原理、payload 构造方式同时给出对应的防御手段破除 “内网服务无需安全防护” 的误区。前言很多网站存在 SSRF 漏洞网站服务器可以访问内网资源外部攻击者无法直接访问内网。 内网 Redis 经常不设密码只监听内网攻击者可以利用 SSRF Gopher 协议构造 Redis 指令数据包通过网站服务器代发指令攻击内网 Redis实现写公钥、写 webshell。一、什么是 Gopher 协议Gopher 是一种旧协议可以发送任意 TCP 原始数据包。SSRF 漏洞支持 gopher 协议时可以向内网任意端口发送自定义 TCP 报文我们就可以构造 Redis 命令发给内网 6379 端口。二、攻击流程网站存在 SSRF 漏洞支持 gopher 协议网站服务器内网可以访问内网 Redis192.168.x.x:6379攻击者构造 gopher 协议的 Redis 指令 payload访问 SSRF 接口网站服务器代为发送数据包给内网 RedisRedis 执行命令写入公钥 /webshell。关键点攻击者不能直接连内网 Redis借网站服务器当跳板。三、Payload 示例gopher://192.168.1.10:6379/_%0D%0Aset%20test%20hello%0D%0Asave%0D%0AURL 编码后的 Redis 指令通过 SSRF 发送到内网 Redis。四、防御方案SSRF 漏洞修复过滤内网 IP、禁用 gopher、dict 等危险协议内网 Redis 同样需要设置密码不能因为在内网就裸奔内网网络隔离业务服务器和缓存服务器之间做访问控制Redis 高危命令禁用。五、思考很多运维有误区内网服务不用做安全。 SSRF、代码漏洞都可以作为跳板从外网打入内网内网安全同样不能松懈。免责声明文章仅安全学习禁止非法测试。