DNS 域传送漏洞
1、域传送简介
DNS是整个互联网公司业务的基础,目前越来越多的互联网公司开始搭建自己的DNS服务器进行解析服务,同时由于DNS服务是一项非常重要的基础性服务,因此很多公司会对DNS服务器进行主备配置。为了保证DNS服务器主备之间数据的同步,DNS域传送因运而生。
2、DNS服务架设
测试机器为centos 6.6
安装bind服务
yum install bind -y
DNS服务刚安装好的时候只在本地监听,只允许本地查询,需要根据具体情况修改
vim /etc/named.conf #监听端口 listen-on port 53 { localhost; }; #允许查询的ip allow-query { localhost; };
配置test.com的正向解析
vim /etc/named.rfc1912.zones #test zone "test.com" IN { type master; file "test.com"; allow-update { none; }; }; cp -p /var/named/named.localhost /var/named/test.com vim /var/named/test.com $TTL 86400 @ IN SOA @ rname.invalid. ( 12 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 www IN A 192.168.5.6 test IN A 192.168.5.1 test1 IN A 192.168.5.2 test2 IN A 192.168.5.3 test3 IN A 192.168.5.4
启动服务,并加入开机自启动
/etc/init.d/named start chkconfig named on
如果有防火墙,需要调整防火墙规则
3、错误配置及利用
默认的bind允许任何人来同步数据,所有的dns解析记录都会被泄露,直接暴漏整体网络结构
win下DNS传送检测方法
4、实际案例
5、修复方法
只需要在相应的zone、options中添加allow-transfer限制可以进行同步的服务器就可以了,可以有两种方式:限制IP、使用key认证。
使用限制IP的方法:
vim /etc/named.conf #在options中添加 allow-transfer {192.168.5.6;};
或者
vim /etc/named.rfc1912.zones #对应的zone中添加 allow-transfer {192.168.5.1;};
6、漏洞发现
手工检测方法,使用dig直接请求
dig @192.168.5.6 test.com axfr
自动检测方法,调用nmap进行扫描
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=test.com -p 53 -Pn 192.168.5.6