Agent Skills
返回列表
🔒

DNS重绑定攻击

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/dns-rebinding-attacks-v43g。

技能介绍

要解决的问题

浏览器同源策略(Same-Origin Policy)只检查协议、主机名和端口三元组,而不验证 DNS 解析后的 IP 地址。这意味着当攻击者控制某个域名的 DNS 服务器时,可以让同一域名在两次解析中返回不同 IP——第一次返回攻击者服务器(托管恶意 JS),第二次返回内网 IP。由于浏览器认为两次响应都来自同一个 hostname,恶意脚本可以自由读取内网服务的响应数据。这个技能解决的核心问题就是:如何在真实环境中构造并执行这类攻击链。

核心能力与关键步骤

  • TTL 操控:攻击者运行权威 DNS 服务器,交替返回攻击者 IP 与内网 IP,TTL=0 强制解析器不缓存结果。但浏览器自有 DNS 缓存会忽略低 TTL(Chrome 约 60 秒),需配合等待或多子域名策略绕过。
  • 攻击变体:涵盖经典 HTTP Rebinding(针对管理面板、REST API)、WebSocket Rebinding(连接建立后重绑定)、TOCTOU(服务端校验与连接复用间的竞态)、多 A 记录(最快变体)。
  • 高价值目标:云元数据(169.254.169.254,获取实例凭证)、Docker API(172.17.0.1:2375,容器创建→RCE)、Kubernetes API、Elasticsearch、Redis、Consul/etcd 等。
  • 工具链:Singularity(完整攻击框架)、rbndr.us(零配置快速服务)、whonow(动态重绑定服务器)、dnsrebinder(极简 Python DNS 服务器)。
  • 与 SSRF 的本质区别:DNS Rebinding 利用受害者浏览器作为跳板,访问受害者网络可达的服务并自动携带 Cookie/凭证;SSRF 则在服务端发起请求。

适用边界与注意点

  • 该技能明确区分 DNS Rebinding 与 SSRF,基础模型常混淆两者,使用时需注意攻击上下文是客户端还是服务端。
  • 浏览器缓存行为因引擎而异(Chrome/Edge 约 60 秒,Firefox 可调,Safari 较短),实际攻击需根据目标环境调整时间窗口。
  • IMDSv2 防护要求 X-aws-ec2-metadata-token 头,no-cors 模式下重绑定难以注入自定义头,云元数据攻击受此限制。
  • 防御方可通过 DNS pinning、Host 头校验、网络分段、PNA(私有网络访问预检)等手段缓解,技能也提供了相应的绕过思路。

使用场景

  • 安全工程师需要在渗透测试中绕过浏览器同源策略,读取受害者网络内管理面板的未授权响应。
  • 红队人员要针对云环境攻击,通过 DNS 重绑定访问 169.254.169.254 获取实例元数据凭证。
  • 研究人员在评估 WebSocket 长连接场景,验证 DNS 重绑定能否在连接建立后切换至内网 IP。
  • 安全团队要测试目标站点对 DNS pinning 和 Host 头校验的防御强度,并验证 PNA 预检是否启用。

适合人员

  • Web 渗透测试工程师,需要评估浏览器端同源策略的实际绕过可行性并出具报告。
  • 企业安全运维人员,负责在红队演练前验证内网服务对 DNS 重绑定攻击的防御能力。
  • 浏览器安全研究人员,研究 DNS 缓存行为差异和同源策略实现细节的工程师。
  • 云基础设施安全工程师,需要确认 IMDSv2 等元数据防护是否能有效抵御客户端侧攻击。