-
Notifications
You must be signed in to change notification settings - Fork 3
Description
总之就是1小时22分速通GFW
直连CF网站、X、Facebook、Instagram、Threads、WhatsApp,当然不直连也行,通过代理时也能开ECH
前言
大概三个月前发现CF可以强制开ECH
一个多月前 @JonSnowWhite 在 #529 提到的论文
As discovered by Mücke et al. (https://dl.acm.org/doi/pdf/10.1145/3744969.3748401)
It is also possible to discover ECH configurations of TLS servers by handshaking with them using a non-valid ECH extension (https://www.ietf.org/archive/id/draft-ietf-tls-esni-25.html#section-6.1.6).
研究提出了一种如何探测 ECH 部署情况的方法,利用TLS的HelloRetryRequest来获取ECH配置,结果发现 Meta(Facebook) 正在偷偷测试 ECH ,并且没有在 HTTPS 记录中发布 ECH 配置,仅可以通过该方法获取
当时见到 FB 的几个 SNI 应该早就被封,过了一个月再看,发现有一个没被封,而且 FB 目前的测试 ECH 并没有轮换密钥AEj+DQBEAQAgACAdd+scUi0IYFsXnUIU7ko2Nd9+F8M26pAGZVpz/KrWPgAEAAEAAWQVZWNoLXB1YmxpYy5hdG1ldGEuY29tAAA=
那就容易了,结果一试,好家伙,Meta系也能强制ECH
既然过了一百天GFW都没封cloudflare-ech.com,还有白票怪的各种什么ECH workers,那么就有必要去利用它了
正片
之前尝试的方法,要么是采用MitM强制开启ECH,引入自签根证书的风险,要么是在本地路由的DNS服务上强制修改HTTPS记录,有一定的搭建成本
那么为什么不利用大善人的互联网基础设施直接搭建修改HTTPS记录的公共DoH服务呢?
等了辣么久还没人去搞,那么今天我来打个样
还是搭在Cloudflare Workers,
需求喂给LLM:
(其他Prompt略)
通过ip4/ip6参数传递CF优选IP
path不要用/dns-query
默认页面伪装404
Workers无法访问CF的IP段,采用Google的DoH服务
Chrome开启DoH后会并行查询A AAAA HTTPS记录,HTTPS记录仅用于获取alpn和ECH
ECH Fronting:
通过其他域名的HTTPS记录获取ECHconfig并修改
CF的ECHconfig从cloudflare-ech.com获取
Mata的ECHconfig目前固定为AEj+DQBEAQAgACAdd+scUi0IYFsXnUIU7ko2Nd9+F8M26pAGZVpz/KrWPgAEAAEAAWQVZWNoLXB1YmxpYy5hdG1ldGEuY29tAAA=
DNS记录的修改逻辑:
X会负载均衡到自有IP/fastly,且不支持IPv6访问,如果是X的域名则直接返回CF优选IP的A 记录,AAAA记录返回空,并且HTTPS记录采用CF ECH
查询 A AAAA 记录如果任意记录是 CF IP 则返回 CF 优选IP,否则直接转发
查询HTTPS记录时,向源DoH查询A和AAAA,如果有任意返回 CF IP 则转发CF ECH,如果有任意返回Meta IP,则转发固定alpn和Meta ECH
CF和Meta的IP段:
(参见geoip,略)
调研1小时,拷打 LLM 22分钟,部署workers,绑域名,就可以用了
打开Chrome浏览器,设置安全DNS,填写https://你绑定的域名/doh-ech-test?&ip4=104.18.10.118,104.18.11.118&ip6=2606:4700::6812:a76,2606:4700::6812:b76
可替换为优选IP,如果cloudflare-ech.com故障或CF让其不返回ECH,后面增加&ech=可以获取的域名,CF Free Plan站点都有ECH
吐槽一下Meta的IPv6都有一段face:b00c,真实写在脸上....
结论
就是提前体验ECH全面部署的状况,至少目前CF和Meta(一些IP)还是可以直连的,目前没有迹象表明CF会轮换outerSNI,当然压力全部给到outerSNI了
如果后续其他CDN跟进部署,也可以用上述的方法探测到ECHconfig,并自己添加HTTPS记录
因为没有用Meta系的东西,没测试是否所有Meta CDN的资源都能ECH直连,似乎是都可以
绕地球一圈回国测试直连太麻烦了吧
如果不直连也可利用ECH防止代理看到真实SNI,总之可以提升隐私保护
至于如果全面强制ECH的话,喜欢分流的同学,可能不喜欢ECH,但换个角度或许也是利好分流,规则更简单?一条ech.google就不会漏了?
欢迎各种ytber转载,给你们贡献收益,反正都是LLM写的
致敬一下直连老英雄们,在赛博大善人的帮助下,现在twitter.com真的可以直连了
也多亏各种标准和协议的推动,让GFW千疮百孔,希望明年ECH转正