-
-
DNS服务系列之二:泛域名解析的安全案例
-
发表于: 2013-8-27 14:42 781
-
http://www.2cto.com/Article/201308/239156.html
DNS服务系列之二:泛域名解析的安全案例2013-08-27 11:45:23
通配符的作用(wildcard)
DNS的泛域名解析也可以理解为带通配符的解析记录,带通配符的解析记录是用来为不存在的子域提供解析请求响应的方法。 例如:存在一个域example.com,如果我们设置通配符记录*.example.com,对所有example.com域中不存在的子域,例如:abcd.example.com、efgh.example.com的请求都会指向example.com。对一个网站进行安全渗透测试过程中,收集信息阶段最重要的是确定子域和ip地址的对应关系,介绍通配符的功能来缩写目标范围。
绕过通配符解析记录
如果某个域存在带通配符的解析记录,可以绕过通配符来暴露出子域的信息,绕过的方法就是通过暴力破解子域信息了。我们可以建立一个庞大的字典,字典里包含很多可能存在的子域名,然后一条条对应着去检测,接着去ping所有这些子域,如果这些子域解析得到一个与域(example.com)ip地址不同的ip,就可以肯定子域是确实存在的。不过在进行暴力破解之前,最好先检测一下到底是不是真的有带通配符的解析记录,可以ping一些随机的子域,例如 123123.example.com、abcdef.example.com来判断example.com域的ip是不是和随机子域的主机ip一样。如果存在这些随机的子域,就可以清楚的判定带通配符的解析记录是存在于example.com这个域的。
DNS的区域传送漏洞
之前的一篇博客已经解释区域传送的原理并且分析了一个区域传送漏洞的安全案例,再以上次的例子演示一下
这次发现区域传输漏洞已经不存在了,提示DNS拒绝将linux520.com这个域传送给我这台主机,显然已经拒绝了对不信任的主机进行区域传送。
DNS暴力破解
由于DNS的区域传送漏洞很少存在,大多数的DNS服务器的配置都比较安全,都不会允许对任何一个客户端提供区域传送的功能,难道就到此为止了?束手无策了?答案当然不是,还可以用最原始的方法-----暴力破解。步骤是准备一个庞大的数据字典,先检查是否有带通配符的解析记录,通过查看随机的子域(abc123.example.com)解析出的ip是否和example.com解析出的ip一致。如果一致,说明设置了泛域名解析。用字典里的每条记录都去查询这个域,如果字典里存在一条记录vip,那么就做对vip.example.com的请求,如果解析出的ip地址不同,那说明子域确实存在,这样我们就能获取子域的域名和ip地址了。如果没设置泛域名解析,可以用同样的方法查看是否可以从任意子域收到请求的响应。如果收到请求返回,我们可以肯定子域存在。最终我们能获得的是这个域的大量信息。
按照以上的分析思路,用perl脚本实现检测的过程:
perl force.pl -dns linux520.com -wordlist hosts.txt
可以看出通过暴力破解的方法同样获得了子域的域名和其ip的对应信息,所以在使用泛域名解析(通配符)时要考虑到可能存在的安全问题
DNS服务系列之二:泛域名解析的安全案例2013-08-27 11:45:23
通配符的作用(wildcard)
DNS的泛域名解析也可以理解为带通配符的解析记录,带通配符的解析记录是用来为不存在的子域提供解析请求响应的方法。 例如:存在一个域example.com,如果我们设置通配符记录*.example.com,对所有example.com域中不存在的子域,例如:abcd.example.com、efgh.example.com的请求都会指向example.com。对一个网站进行安全渗透测试过程中,收集信息阶段最重要的是确定子域和ip地址的对应关系,介绍通配符的功能来缩写目标范围。
绕过通配符解析记录
如果某个域存在带通配符的解析记录,可以绕过通配符来暴露出子域的信息,绕过的方法就是通过暴力破解子域信息了。我们可以建立一个庞大的字典,字典里包含很多可能存在的子域名,然后一条条对应着去检测,接着去ping所有这些子域,如果这些子域解析得到一个与域(example.com)ip地址不同的ip,就可以肯定子域是确实存在的。不过在进行暴力破解之前,最好先检测一下到底是不是真的有带通配符的解析记录,可以ping一些随机的子域,例如 123123.example.com、abcdef.example.com来判断example.com域的ip是不是和随机子域的主机ip一样。如果存在这些随机的子域,就可以清楚的判定带通配符的解析记录是存在于example.com这个域的。
DNS的区域传送漏洞
之前的一篇博客已经解释区域传送的原理并且分析了一个区域传送漏洞的安全案例,再以上次的例子演示一下
这次发现区域传输漏洞已经不存在了,提示DNS拒绝将linux520.com这个域传送给我这台主机,显然已经拒绝了对不信任的主机进行区域传送。
DNS暴力破解
由于DNS的区域传送漏洞很少存在,大多数的DNS服务器的配置都比较安全,都不会允许对任何一个客户端提供区域传送的功能,难道就到此为止了?束手无策了?答案当然不是,还可以用最原始的方法-----暴力破解。步骤是准备一个庞大的数据字典,先检查是否有带通配符的解析记录,通过查看随机的子域(abc123.example.com)解析出的ip是否和example.com解析出的ip一致。如果一致,说明设置了泛域名解析。用字典里的每条记录都去查询这个域,如果字典里存在一条记录vip,那么就做对vip.example.com的请求,如果解析出的ip地址不同,那说明子域确实存在,这样我们就能获取子域的域名和ip地址了。如果没设置泛域名解析,可以用同样的方法查看是否可以从任意子域收到请求的响应。如果收到请求返回,我们可以肯定子域存在。最终我们能获得的是这个域的大量信息。
按照以上的分析思路,用perl脚本实现检测的过程:
perl force.pl -dns linux520.com -wordlist hosts.txt
可以看出通过暴力破解的方法同样获得了子域的域名和其ip的对应信息,所以在使用泛域名解析(通配符)时要考虑到可能存在的安全问题
赞赏
看原图
赞赏
雪币:
留言: