电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 3119 人浏览分享

域前置之“中外差异”

[复制链接]
3119 0
前言

域前置已经不是新鲜的话题 本篇文章介绍的是国内外对其理解偏差与我们如何从流量中抓取相关行为。

QQ截图20210511171611.png

基础定义

维ji百科中对域前置的定义说的很明白。在明文的DNS请求和TLS服务器名称指示SNI中使用无害的域名来初始化连接
公布给审查者而实际要连接的被封锁域名仅在创建 加密的HTTPS连接后发出使其不以明文暴露给网络审查者。
最基础的实现代码为 curl -v https://fastly.net -H  Host: cn.nytimes.com

QQ截图20210511171730.png

可以看到sni与host的差异性。同样的在流量行为里我们也可以看到sni也就是server_name字段。

QQ截图20210511171814.png

此时 从流量监测方看到我们只是在与 https://fastly.net 进行通信行为。只有server端拿到明文的请求以后才
会看到我们的真实host是 cn.nytimes.com,然后再去其对应的源站进行拉取信息一类操作。
之所以造成此类行为能够正常交互 就是因为fastly.net与cn.nytimes.com接入了同一家CDN厂商
而回源是根据http header host进行回源操作。

国内的 域前置

看了很多的文章。介绍的 域前置 是这样的:

99.png

只是把CNAME接入的IP ping一下 然后填写到CS的IP里。再去修改profile文件 然后指定host为某host。
先不说http的算不算得上域前置。如果按照这个思路的话 其实我们应该这么写:

29.png

(CDNIP与域名都是我乱写的cloudflare已经不支持域前置)

因为4.x版本的CS已经支持在新建监听器时候直接指定 http/https host header了。
并且该字段的优先级要比在profile中指定的要高。

所以我们为什么还每次去修改profile文件呢?并且http/https Host stager是为了二次下载载荷用到的与hosts的属
性一致别人的域名没有解析到上面的IP 也没有与你用同款CDN。直接写别人的域名真的可以正常下发载荷吗?
所以我个人认为这个并不能算作域前置 只能算作是CDN非法接入 因为我国政策强制要求提供国
内CDN接入必须在备案所以选择这种方式的话可以不备案使用国内CDN。并且CDN上也可以设置回
源host字段也可以设置成已经备案过的域名。

CDN非法接入流量特征

此处不讨论http相关内容 直接看https的。按照 CDN非法接入 的做法 我们可以很轻易的抓到
他CS生成的木马会和https hosts https host  stager中填写的内容进行ssl握手 所以此时的情
形类似于这样的此处我以腾讯云做例子。

28.png

从流量里可以很明显的看到 直接访问 https://ip 是没有 server_name字段的所以访问到的是
默认证书也就是*.cdn.myqcloud.com

26.png

此处可以作为重要特征。发送的https请求没有server_name 且接受的证书是CDN默认证书。

域前置的国内实现

CDN非法接入进一步配置即可实现真正意义上的域前置我们需要知道CDN上都有哪
些域名在解析可以借助VT 微步等平台进行查询。

22.png

然后就可以测试发送https请求 然后就得到了一个包含servername的请求与正常握手。

21.png

在CS里我们只要这样配置:

20.png

即可完成真正意义上的 域前置。不过弊端同时也会暴露。会产生不必要的DNS请求。

域前置如何禁止?

这点站在CDN厂商的角度来说 有几部分需要做。

禁止空的server_name握手
这个可以很好实现。此处借鉴cloudflare做法 将默认证书直接配置错误。
例如我在nginx做如下配置:
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers MD5;

11.png

md5算法只在TLSv1.3中可以使用 所以此时就会握手失败。
禁止server_name与host不同的回源
这个 暂时不清楚具体实现。
加强CNAME验证
已经有很多CDN厂商在做了。可以禁止掉非法接入 但是接入自己的合法域名后还是可以使用域前置所以重点
还是1.2两部分。不过如果这点加强以后 攻击者就必须使用自己的域名 增加了溯源的可能性。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.