域前置的一些问题
2020-07-12 11:27:17 Author: forum.90sec.com(查看原文) 阅读量:914 收藏

graph LR
A[client]--发送https的流量其中SNI显示位信任域名-->B[CDN]
B[CDN]--经过解析过后的恶意流量发送到c2-->C[cobalt strike]

客户端请求dns获取到cdn的域名,把https数据包发送给CDN。CDN打开HTTPS后根据host字段xxx.evile.com选择将包发给C2

你的域名和你想仿冒的域名必须处于同一cdn服务商下。

在这之前需要大家了解一些东西

具体原理网上很多这里就不重说占篇幅了。只说一点。
cdn怎么确定client访问的是哪个域名呢?他是怎么判断的?


可以通过这两张图对比可以看出来,cdn是通过http头部中的host字段来确认客户需要访问的网站是哪个。也就是说两个同样的网站访问的都是cdn的节点,区别只是host字段。

这里就不用某云特性了来实现域前置了,虽然好用。

首先你的域名和你想用的高信任域名必须处在同一cdn服务商。

其次cdn要使用tsl/ssl加密方式加密http包。如果不加密可以通过http包看到host头部字段暴露你自己的域名。(这个我没做到)

两处host字段填写你找到的高信任度域名(我这里是随便找了个域名)host header填写你自己的域名(4.0版本可以直接填写host字段,当然推荐使用profile,毕竟可以更改流量痕迹,我这里是偷了个懒--)

可以看到请求的域名不是我们的,但请求cdn的host头则是我们的域名。这样还是不行。所以需要ssl/tsl加密http流量。
但我这里没有成功利用cdn的https,根据抓包的分析。

http的beacon访问cdn的443端口是http协议,导致400的http错误代码。如果换成https的beacon,流量监测不到……就不知道怎么实习。原理明白了复现不了,这个是腾讯云,是因为腾讯云的问题还是我自身的问题啊。求大哥们带带。

https://xz.aliyun.com/t/2796


文章来源: https://forum.90sec.com/t/topic/1199/1
如有侵权请联系:admin#unsafe.sh