# CDN代理转发

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

## CDN代理转发

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

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFdfdiLbKIwP5EcSHQ6%2F-MFe3qMZRAd9JEo4O85C%2Fimage.png?alt=media\&token=f9a0462a-ca62-4aee-9fba-b1798ff74d52)

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFdfdiLbKIwP5EcSHQ6%2F-MFe43Wc5wSXhAdYAfQN%2Fimage.png?alt=media\&token=bee6fccc-5df0-438e-bc31-1f5912313465)

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

有一点需要注意的是

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFe4ZO3RsoftcJdMFI5%2F-MFe4xmbMmAH4vabBHcR%2Fimage.png?alt=media\&token=f2411d5e-7e3a-4e8e-a75e-d8fa9007793c)

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

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

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFexzdB5FWsLlR40UcI%2F-MFf1CI1yYsThYEB_xuJ%2Fimage.png?alt=media\&token=6864dbe0-441f-4b3b-b92f-449634b9086f)

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

## 域前置(Domain fronting)

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

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

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFf2eRMccJTp7EqeoIg%2F-MFfCaR8LHnsFmY0b3pA%2Fimage.png?alt=media\&token=b087b5bb-eee5-4914-a32d-58f3c79953e9)

演示

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFfF-fCKZj__fhvTgJv%2F-MFfFywLviDRyuBgJ_U1%2Fimage.png?alt=media\&token=a5bdb368-3340-4126-a511-788a9d910181)

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

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFfF-fCKZj__fhvTgJv%2F-MFfGM7K89WFPXdrgTpo%2Fimage.png?alt=media\&token=0c250742-d3b3-44d2-a3b8-2793a3409236)

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

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFfF-fCKZj__fhvTgJv%2F-MFfH03bZC3rUaOEqKdm%2Fimage.png?alt=media\&token=e2d93261-ddcd-4213-94e0-850a7a7e4b1d)

我们选择一个请求右键

![](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFfF-fCKZj__fhvTgJv%2F-MFfHWC8l2T3goo7XAtm%2Fimage.png?alt=media\&token=856a7112-5a82-4bf8-ade3-e3140c485d7a)

![仔细观察Host字段会发现这是我们设置的域名](https://3226329500-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDZyrMxFR2BnFjV82cS%2F-MFfF-fCKZj__fhvTgJv%2F-MFfHzrCWhiJJebtDthr%2Fimage.png?alt=media\&token=25bf59c8-7cfa-42a0-b645-e40d56d18cab)

关于使用域前置有几个地方需要注意：\
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的过滤设置之类的就不说了自行查看
