我的 ISP 似乎正在对 DNS 查询进行 MITM 攻击,有人能从技术上解释一下他们是如何做到的吗

我的 ISP 似乎正在对 DNS 查询进行 MITM 攻击,有人能从技术上解释一下他们是如何做到的吗

我遇到这个问题是因为 raw.githubusercontent.com 似乎在我的国家被屏蔽了,DNS 服务器是 8.8.8.8 或 1.1.1.1,它被解析为 202.83.21.15,这是我的 ISP 的 IP,而不是 raw.githubusercontent.com

$ dig +dnssec @8.8.8.8 raw.githubusercontent.com 

; <<>> DiG 9.18.10 <<>> +dnssec @8.8.8.8 raw.githubusercontent.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33984
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;raw.githubusercontent.com.     IN      A

;; ANSWER SECTION:
raw.githubusercontent.com. 10   IN      A       202.83.21.15

;; Query time: 0 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Fri Jan 06 11:00:10 IST 2023
;; MSG SIZE  rcvd: 84

错误 IP 的 Whois

whois -H 202.83.21.15
% [whois.apnic.net]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

% Information related to '202.83.21.0 - 202.83.21.254'

% Abuse contact for '202.83.21.0 - 202.83.21.254' is '[email protected]'

inetnum:        202.83.21.0 - 202.83.21.254
netname:        CableLite
descr:          Broad Band Internet Service Provider, India
country:        IN
geoloc:         12.984080 77.579818
admin-c:        IA145-AP
tech-c:         IT120-AP
abuse-c:        AC1823-AP
status:         ALLOCATED NON-PORTABLE
mnt-by:         MAINT-IN-ACT
mnt-irt:        IRT-CABLELITE-IN
last-modified:  2021-01-15T11:13:16Z
source:         APNIC

irt:            IRT-CABLELITE-IN
address:        Atria Convergence Technologies Pvt Ltd
address:        # 1, 2nd Floor, Indian Express Building,
address:        Queen's Road, Bangalore - 560 001
e-mail:         [email protected]
abuse-mailbox:  [email protected]
admin-c:        IA145-AP
tech-c:         IT120-AP
....

同一个网站,当我通过 DoH 查询时,我得到了正确的 IP

curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=raw.githubusercontent.com&type=A' 2>/dev/null | jq .Answer[0]
{
  "name": "raw.githubusercontent.com",
  "type": 1,
  "TTL": 446,
  "data": "185.199.111.133"
}

答案1

从技术上讲他们是如何做到的

定义转发数据包的路由的能力是核心功能路由器,例如 ISP 使用的路由器。通常,ISP 的路由器会通过 BGP 从其他 ISP 学习所有路由,但 ISP 可以轻松定义一条静态路由,将所有“8.8.8.8”数据包转发到不同的方向 - 例如转发到他们已设置并指定 8.8.8.8 作为 IP 地址的本地 DNS 服务器。(您可以在家中使用 来完成此操作ip route add。)

还有几种其他方法可以做到这一点;例如,路由器可能支持 DNAT(实际上可以更改数据包上的目标 IP 地址)——这就是“端口转发”在家庭网关中的工作方式,但是路由器可以在路径上的任何地方使用相同类型的 DNAT 将发往一个 IP 地址的数据包重定向到另一个 IP 地址(例如,将“8.8.8.8”重写为“9.9.9.9”)。

答案2

从您的回复可以看出,github.com不使用 dnssec。

因此,答案无需验证,您的 ISP 可以自由地回复他们想要的查询内容。

您可以使用他们的 DNS 服务器、重写来自其他 DNS 服务器的答案或将所有 DNS 流量转移到他们的 DNS 服务器来完成此操作。

相关内容