第115篇 AI全栈 · 流量对抗-域前置基础设施搭建
原创
陈看山
陈看山
安全诸子
2026年11月1日 09:01
上海
去阅读
最近在梳理红队基础设施的时候,好几个朋友都问到一个问题:手里有C2,但域名和IP一上线就被标记,流量根本出不去。换端口、换VPS,撑不过一天。实际上,这类问题的核心不在于C2本身,而在于流量在出口和入口这两个环节长得太“可疑”。
如果你对CDN的转发原理有一定了解,会发现一个成熟的做法:让流量看起来是在访问一家大型云厂商的合法节点,而实际上数据被转发到了你自己的服务器。这个思路就是常说的流量对抗-域前置基础设施搭建。
这篇文章不聊玄乎的理论,直接给你一套在当前网络环境下仍然可行、以学习研究和授权测试为目的的搭建流程。文章会覆盖HTTPS和HTTP两种通信方式的优劣、具体配置步骤、验证方法,以及最容易踩的坑。
这套方案解决什么问题,适合谁
先说清楚,这套方案解决的是:让你的C2回调流量在链路上看起来像是在访问一个高信誉域名,比如政府站点或大型企业门户,从而避开流量层面的封锁和告警。
适合的人群很明确:
- 在做企业授权红队评估时,需要稳定的C2回连链路。
- 在研究流量对抗技术,需要搭建自己的实验环境。
- 安全防御人员想理解这类流量特征,以便更好排查。
不适合谁?如果你是想拿来做未授权攻击,或者没有目标企业的书面授权,那这篇文章到此为止。技术本身是中性的,但使用场景必须有边界。
前置准备:你需要什么
在开始之前,把下面这些东西准备好,缺一不可。基于当前可见信息,这套流程对前置条件的要求比较明确。
| 资源 | 数量 | 用途 | 备注 |
|---|---|---|---|
| 一个域名 | 至少1个 | 绑定CDN、配置回源 | 有备案更好,没有也行,但节点选择会受限 |
| 一台VPS | 至少1台 | 运行C2服务端 | 建议选择海外节点,带宽和稳定性要好 |
| CDN服务商账号 | 1个 | 添加域名、配置加速 | 华为云、阿里云、腾讯云均可 |
| C2框架 | 1套 | 生成Payload、管理会话 | 如CS、Sliver等 |
还有一个关键条件:你需要找到一个支持自定义Host回源的CDN服务商。不同厂商对域名验证的严格程度不一样,这直接决定了你的搭建难度。
有域名怎么做:HTTPS域前置完整流程
这是目前效果最好的一种方式,流量全程TLS加密,在链路上几乎无特征。整个流程的核心在于:SNI指向可信域名,Host头指向你自己绑定的CDN域名。
第一步:在CDN控制台添加域名
以华为云为例,登录CDN控制台,添加加速域名。这里有几个关键选择:
- 加速区域选“中国大陆境外”,除非你的域名有备案,否则不要选中国境内。
- 业务类型选“全站加速”。
- 回源方式选“协议跟随”。
- 回源地址填你VPS的IP。
- 回源端口填你C2监听的端口,比如43904。
添加成功后,系统会分配一个CNAME地址。这个地址就是后续流量的入口。
第二步:关闭缓存,保证指令实时下发
在缓存配置里,把缓存过期时间改为0秒。否则受害者机器请求的URL被CDN缓存后,你下发命令会延迟甚至不生效。如果你担心流量成本,可以对特定目录配置缓存,但建议在测试阶段全部关掉。
第三步:配置访问控制,过滤非预期请求
在访问控制里开启User-Agent白名单。只允许你指定的UA访问,其他请求一律拒绝。这一步能有效防止蓝队或者扫描器对你的CDN域名进行探测和反制。
第四步:寻找高可信域名作为前置
等CDN配置生效(约3-5分钟),拿到CNAME后,用在线工具做全国PING,获取多个CDN节点的IP。然后对这些IP进行反向查询,找一个高信誉的域名。
举个例子,你反查到某个IP绑定了“香港政府网”的域名,而且这个域名的HTTPS证书是合法的,那就可以用它作为SNI。这一步是整个HTTPS域前置的关键,前置域名的可信度决定了流量被审查的风险。
第五步:配置C2监听器
以CS为例,添加一个HTTPS监听器。配置映射关系如下:
- HTTPS Hosts:填写你找到的可信域名。
- HTTPS Host(Stager):同样填写可信域名。
- HTTPS Port(C2):443,这是CDN对外服务的端口。
- HTTPS Port(Bind):43904,这是CDN回源到你VPS的端口。
- HTTPS Host Header:填写你在CDN上添加的域名。
第六步:验证连通性
打开CS的Web Log,在命令行执行:
curl \"https://cloudvideo.news.gov.hk/test\" -H \"Host: xxx.work\" -v -k
这里的cloudvideo.news.gov.hk是你找的可信域名,xxx.work是你绑定CDN的域名。如果Web Log里收到了请求,说明CDN转发正常。
第七步:抓包验证流量特征
生成stageless载荷模拟上线。用Wireshark抓包,你会看到:
- 所有通信都是TLSv1.2加密。
- SNI字段显示的是可信域名。
- DNS请求解析的也是可信域名。
把样本上传到微步沙箱分析,通信域名显示为可信域名,通信IP为CDN节点。你的真实C2地址和Host完全隐藏在加密流量后面。
没有域名怎么做:HTTP域前置的变通方案
不是每个人都有闲置域名,特别是现在域名注册都需要实名。这种情况下,可以考虑HTTP方式的域前置,但需要找不验证域名解析权的CDN厂商。
找合适的CDN厂商
部分香港或境外的小型CDN厂商不验证域名所有权。找到之后,添加你想伪装的域名。
举个例子:假设www.sisimanhua.com绑定在某家CDN上,你在这家CDN添加api.sisimanhua.com作为自己的加速域名。这样,www.sisimanhua.com就是前置域名,api.sisimanhua.com就是回源Host。
配置HTTP监听器
在C2中创建HTTP监听器,端口设置为CDN对外端口,回源端口指向你的VPS。将Host Header设置为api.sisimanhua.com。
验证流量特征
模拟上线后抓包,你会看到:
- 请求域名是
www.sisimanhua.com。 - 解析IP是CDN节点。
- Host字段是
api.sisimanhua.com。
因为通信是明文,整个流量过程会暴露可信域名、Host和CDN节点。风险比HTTPS方式高,但比裸奔的IP直连要好得多。
HTTPS和HTTP域前置的对比
| 对比维度 | HTTPS域前置 | HTTP域前置 |
|---|---|---|
| 流量加密 | TLS加密,无法分析 | 明文,可读 |
| 前置条件 | 需要域名和合法证书 | 需要能找到不验证的CDN厂商 |
| 暴露面 | 仅暴露可信域名和CDN节点 | 暴露可信域名、Host、CDN节点 |
| 抗检测能力 | 强,SNI和Host分离 | 弱,可通过UA和路径特征检测 |
| 适用场景 | 长期隐蔽通信 | 短期应急,或配合Profile伪造 |
| 搭建难度 | 中等 | 较低 |
常见错误和排查方法
CDN配置后长时间不生效
DNS解析需要时间。如果超过10分钟还没生效,检查CNAME是否复制完整,或者本地DNS缓存需要刷新。
回源失败,Web Log没有请求
检查两点:一是回源端口是否和C2监听端口一致;二是C2的Listener是否正常运行。部分CDN厂商只支持特定回源端口,需要查阅文档确认。
流量能通,但下发命令延迟严重
大概率是缓存没关。回到CDN控制台,确认缓存过期时间已设置为0秒。
前置域名证书过期或不合法
如果前置域名本身HTTPS证书失效,整个通信会失败。务必确认你选的可信域名证书有效。
风险提示和防御视角的补充
需要明确一点:域前置流量有一个显著特征,就是SNI和Host不相等。防守方可以部署HTTPS解密设备,对比SNI和Host字段是否一致。如果不一致,就会触发告警。这也是MITRE ATT&CK框架中推荐的检测方式。
另外,Cloudflare、AWS CloudFront、Google Cloud CDN等主流厂商已经禁用或限制域前置行为。实际操作中,你需要不断寻找新的CDN厂商和新的可信域名。
从防御角度看,如果你是在企业内网做检测,可以重点关注:
- TLS握手时SNI和Host不一致的会话。
- 访问高信誉域名但流量走向异常的连接。
- User-Agent与你业务特征不匹配的请求。
给读者的实践建议
如果你打算动手搭建,从这个清单开始:
- 准备一个域名和一台海外VPS,这是最基础的配置。
- 先在有域名的条件下跑通HTTPS域前置,这是效果最好的方式。
- 找CDN节点IP并反查可信域名时,重点关注政府、教育、大型企业站点,这些域名信誉度最高。
- 每次配置变更后,务必curl测试连通性,再生成载荷上线。
- 上线后立刻抓包确认SNI和Host分离,以及流量加密状态。
域前置不是一个新技术,但在当前红蓝对抗中仍然有效。关键在于你的前置域名是否足够可信,以及你的C2 Profile是否能配合流量伪装。把基础流程跑通后,再逐步优化细节,比如证书伪造、Profile定制、多节点负载均衡等。
如果你在搭建过程中卡在某个环节,欢迎在评论区留言,我会尽力协助排查。下一篇计划拆解C2 Profile的流量伪装技巧,让HTTP通信也具备更强的抗检测能力。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论