nslookup命令是已知域名的的解析记录下进行的查询。打个比方,已知sina.com这个域名有www.sina.com这条主机解析记录,就可以查询www.sina.com对应的ip以及其他相关信息。但是用这种方法并不能知道sina.com是否有blog.sina.com这条解析记录。对于渗透测试来说,拿到一个域名的所有解析记录是十分有必要的,这时候就需要进行字典爆破了。
先说区域传输,这个功能能够完成DNS服务器之间的数据库同步,一般只发生在DNS服务器之间。但是有些DNS服务器的系统管理员比较粗心,在配置时发生了一些小错误,导致任何一台主机都可以跟这台DNS服务器进行数据库同步。
这里以新浪作为例子:
首先要知道sina.com的ns记录:
可以发现,sina.com的ns记录一共有8条。
接下来随机选择一个服务器尝试进行数据库同步:
其中dig @ns1.sina.com.cn sina.com axfr这条命令就是同步命令了,@dns.example.com参数指定DNS服务器,example.com就是要查询的域名,而axfr是查询类型(Request for full zone transfer),即要求同步数据库。
很明显,新浪的DNS服务器拒绝了我们的同步请求。
使用host -T -l sina.com ns1.com.cn. sina.com这条命令可以达到相同的效果,其中-l就是发起axfr类型的请求。
当然了,一般情况下都不会有这么好的运气能够直接同步。这时候就可以使用字典爆破,即拿一个字典一个一个尝试,把对应的域名的解析记录全部暴力尝试出来。
介绍一下fierce
命令格式:fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist a.txt
参数:-dnsserver指定DNS服务器 -dns指定要查询的域 -wordlist指定字典
操作演示:
可以看到,正在从a-z爆破。
相关的工具还有很多,比如dnsdict6(现在在Kali Linux的默认工具包里没有了),dnsenum,dnsmap,dnssrecon等等。
不过工具也就是个工具,不用记住所有参数,用的时候找个男人问一问就知道了。