Files
2025-09-25 03:56:33 +08:00

26 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### CS 域前置的原理
**1. 核心原理:CDN 的工作方式**
要理解域前置,首先要理解 CDN 的工作原理
- **CDNContent Delivery Network**CDN 的核心作用是加速内容分发。它在全球部署了大量的节点服务器,当用户访问一个网站时,CDN 会将用户的请求重定向到离用户最近的节点上。这样,用户就能更快地获取内容
- **多域名共享 IP**:一个 CDN 节点通常会为成百上千个不同的域名提供服务。这意味着,`cdn.example.com``cdn.attacker.com` 两个域名,可能解析到**同一个 IP 地址**
**2. 域前置的攻击过程**
域前置利用了 CDN 的这个特性,将攻击流量伪装成正常流量。整个过程可以分为以下几步:
1. **准备阶段**
- **攻击者域名**:攻击者注册一个自己的域名,例如 `attacker.com`,并将其配置为 Cobalt Strike 的 C2 域名
- **CDN 加速**:攻击者将 `attacker.com` 接入一个大型 CDN 服务,例如 Cloudflare、Akamai 等。这样,`attacker.com` 就能使用 CDN 的 IP 地址
- **高信誉域名**:攻击者选择一个在高信誉 CDN 上托管的、合法的、与自己无关的域名,例如 `cdn.google.com``cdn.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 服务器