多级代理如何做一个 CDN 进行中转
步骤一:准备 C2 服务器
首先,你需要一台公网服务器作为你的 C2 服务器
- 购买一台云服务器:选择一个知名云服务商,比如 AWS、Azure、Google Cloud 或 Linode
- 配置 C2 框架:安装你的渗透测试框架,例如 Cobalt Strike、Metasploit 或 Sliver
- 配置监听器:在 C2 框架中设置一个 HTTP/HTTPS 的监听器。确保监听的端口是 80 或 443,这是 CDN 默认支持的端口,也是最常见的 Web 流量端口
步骤二:配置 CDN 服务
接下来,你需要配置一个 CDN 服务来指向你的 C2 服务器。这里我们以 Cloudflare 为例,因为它是最常用且免费的选项
- 注册域名:你需要一个自己的域名。可以是任何后缀,比如
.com
、.net
或.xyz
- 将域名解析到 Cloudflare:
- 在域名注册商那里,将域名的 DNS 服务器修改为 Cloudflare 提供的 DNS 服务器
- 在 Cloudflare 中,添加你的域名
- 创建 DNS 记录:
- 在 Cloudflare 的 DNS 设置页面,创建一个 A 记录,将你想要的子域名(例如
cdn.yourdomain.com
)指向你的 C2 服务器的真实 IP 地址 - 关键步骤:确保这个记录的代理状态(Proxy status)设置为 “已代理”(Proxied),即那个云朵图标是亮的。这是告诉 Cloudflare 将流量通过它的网络中转,而不是直接解析到你的 IP
- 在 Cloudflare 的 DNS 设置页面,创建一个 A 记录,将你想要的子域名(例如
- 配置 SSL/TLS:
- 在 Cloudflare 的 SSL/TLS 设置页面,将模式设置为 “完全 (严格)”(Full (strict))。这会确保从客户端到 Cloudflare 的流量是加密的,同时从 Cloudflare 到你的服务器的流量也是加密的
- 你需要在你的 C2 服务器上为你的域名安装一个有效的 SSL 证书。可以使用 Let's Encrypt 免费生成
步骤三:在目标机器上执行
现在,你已经有了一个通过 CDN 中转的 HTTPS 流量通道
- 生成 payload:使用你的 C2 框架生成一个 payload,其回调地址(Callback URL)就是你刚才配置的 CDN 子域名(例如
https://cdn.yourdomain.com/
) - 执行 payload:将这个 payload 部署到目标机器上并执行
- C2 通信:当 payload 在目标机器上运行时,它会向
cdn.yourdomain.com
发送 HTTPS 请求。这个请求首先会到达 Cloudflare 的边缘节点,Cloudflare 识别到这是一个代理流量,然后将它转发到你后台配置的 C2 服务器的真实 IP 地址。这样,C2 服务器就能与目标机器建立连接