> For the complete documentation index, see [llms.txt](https://wbglil.gitbook.io/cobalt-strike/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wbglil.gitbook.io/cobalt-strike/cobalt-strikekuo-zhan/dai-xie-1.md).

# CDN代理转发

关于这个CDN代理其实和上篇写的没啥区别原理上都是差不多的

## CDN代理转发

cloudflare前面的怎么添加域名就不说了。只需要确保\
1.DNS设置里域名开启了代理状态\
2.SSL设置里有启用证书并且有效

![](/files/-MFe3qMZRAd9JEo4O85C)

![](/files/-MFe43Wc5wSXhAdYAfQN)

当然了以上这些都不是强制的你可以随意更换服务商，SSL证书设置，DNS设置，我这里只是一个最简单的设置

有一点需要注意的是

![](/files/-MFe4xmbMmAH4vabBHcR)

关于SSL模式的设置如果你使用完全(严格)那么你Cobalt Strike C2配置使用的证书请务必是真实有效的证书。

监听器配置，打码的地方是域名

![](/files/-MFf1CI1yYsThYEB_xuJ)

原理和上篇写的重定向基本一样只不过转发服务器变为了cf的CDN，可以在一定程度上隐藏C2服务器

## 域前置(Domain fronting)

关于这个技术我就先简单介绍一下

**此技术的原理在于不同通信层使用不同的域名。**&#x5728;明文的DNS请求和TLS服务器名称指示（SNI）中使用可信的域名，而在HTTPS请求的Host字段中则是恶意C2域名（HTTPS请求的全部内容一般情况下对外界都是不可见的，但是对于接收HTTPS请求的转发服务器是可见的）

![](/files/-MFfCaR8LHnsFmY0b3pA)

演示

![](/files/-MFfFywLviDRyuBgJ_U1)

HTTP HOST Header就填写你自己的C2域名，然后生成一个Beacon运行并启动Wireshark(我这里设置了Wireshark显示域名默认是直接显示ip)

![](/files/-MFfGM7K89WFPXdrgTpo)

我们可以看见虽然请求的是cloudflare.com但是CS已经有会话回来了

![](/files/-MFfH03bZC3rUaOEqKdm)

我们选择一个请求右键

![](/files/-MFfHWC8l2T3goo7XAtm)

![仔细观察Host字段会发现这是我们设置的域名](/files/-MFfHzrCWhiJJebtDthr)

关于使用域前置有几个地方需要注意：\
1.你选择下服务商支持域前置\
2.你想仿冒的域名必须处于同一cdn服务商下\
3.[别忘了看CF端口规则](https://support.cloudflare.com/hc/zh-cn/articles/200169156-%E8%AF%86%E5%88%AB%E4%B8%8E-Cloudflare-%E7%9A%84%E4%BB%A3%E7%90%86%E5%85%BC%E5%AE%B9%E7%9A%84%E7%BD%91%E7%BB%9C%E7%AB%AF%E5%8F%A3)\
**4.CF对于https域前置是以封杀的请自行寻找服务商(我这里仅是作为演示使用的http而非https因为使用https一定会失败，这里只是为了一个效果因为http域前置并无意义)**

## 其他

关于C2 Server的各种安全设置端口设置过滤什么的或CF的过滤设置之类的就不说了自行查看
