CS 域前置的原理

1. 核心原理:CDN 的工作方式

要理解域前置,首先要理解 CDN 的工作原理

  • CDN(Content Delivery Network):CDN 的核心作用是加速内容分发。它在全球部署了大量的节点服务器,当用户访问一个网站时,CDN 会将用户的请求重定向到离用户最近的节点上。这样,用户就能更快地获取内容
  • 多域名共享 IP:一个 CDN 节点通常会为成百上千个不同的域名提供服务。这意味着,cdn.example.comcdn.attacker.com 两个域名,可能解析到同一个 IP 地址

2. 域前置的攻击过程

域前置利用了 CDN 的这个特性,将攻击流量伪装成正常流量。整个过程可以分为以下几步:

  1. 准备阶段
    • 攻击者域名:攻击者注册一个自己的域名,例如 attacker.com,并将其配置为 Cobalt Strike 的 C2 域名
    • CDN 加速:攻击者将 attacker.com 接入一个大型 CDN 服务,例如 Cloudflare、Akamai 等。这样,attacker.com 就能使用 CDN 的 IP 地址
    • 高信誉域名:攻击者选择一个在高信誉 CDN 上托管的、合法的、与自己无关的域名,例如 cdn.google.comcdn.bing.com。这个域名就是我们所说的“域前置”域名
  2. 流量伪装
    • 客户端请求:受害者的机器(被植入 Beacon 的主机)向 Cobalt Strike C2 发送请求
    • 隐藏真实 C2:在 HTTP 请求的头部,攻击者做了如下设置:
      • Host: cdn.google.com:这个头部告诉 CDN 服务器,客户端要访问的是 Google 的 CDN 服务。由于这个域名是高信誉的,防火墙会放行这个流量
      • X-Forwarded-For: cdn.attacker.com:这个头部告诉 CDN,真实的请求目标是 cdn.attacker.com。这是域前置的关键
  3. CDN 转发
    • 当 CDN 节点收到请求时,它会先查看 Host 头。因为 Host 头是 cdn.google.com,CDN 就会认为这个请求是合法的,并不会拦截
    • 然后,CDN 会根据内部的转发规则,将请求转发到 X-Forwarded-For 头指定的域名所对应的服务器上
    • 最终,请求被转发到了攻击者的 Cobalt Strike C2 服务器
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:58

results matching ""

    No results matching ""