通过NS服务器收集域名

其技术原理是向dns发送一个解析请求,看是否有返回ns信息,如果有的话将会使用该ns信息与历史沉淀下的dns数据信息进行交叉对比,最后返回一个n个不同的域名使用同一个ns服务器的列表。

这种域名收集方式比较适合有自建DNS服务器且有大量一级域名的大型企业。比如,BAT。

利用手段

以百度为例

首先通过nslookup,查询到一些已知域名的NS服务器。

1
2
nslookup
set type=ns

通过已知的一些一级域名,查询出该公司在使用的一些ns服务器。

%E9%80%9A%E8%BF%87NS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%94%B6%E9%9B%86%E5%9F%9F%E5%90%8D%2031be770fd2084612a3ee7be03b60ee08/Untitled.png

%E9%80%9A%E8%BF%87NS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%94%B6%E9%9B%86%E5%9F%9F%E5%90%8D%2031be770fd2084612a3ee7be03b60ee08/Untitled%201.png

%E9%80%9A%E8%BF%87NS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%94%B6%E9%9B%86%E5%9F%9F%E5%90%8D%2031be770fd2084612a3ee7be03b60ee08/Untitled%202.png

当然也要注意有些一级域名可以并不是用的自己的NS服务器,还需要进一步判断

%E9%80%9A%E8%BF%87NS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%94%B6%E9%9B%86%E5%9F%9F%E5%90%8D%2031be770fd2084612a3ee7be03b60ee08/Untitled%203.png

%E9%80%9A%E8%BF%87NS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%94%B6%E9%9B%86%E5%9F%9F%E5%90%8D%2031be770fd2084612a3ee7be03b60ee08/Untitled%204.png

然后整理收集到的NS服务器

1
2
3
4
5
6
7
8
dns.baidu.com
ns1.baidu.com
ns2.baidu.com
...
sv1.bdydns.cn
sv2.bdydns.cn
sv3.bdydns.cn
...

然后利用ns服务器历史解析记录的调用接口一一查询

%E9%80%9A%E8%BF%87NS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%94%B6%E9%9B%86%E5%9F%9F%E5%90%8D%2031be770fd2084612a3ee7be03b60ee08/Untitled%205.png

然后,整理,去重,验证是否真的是该公司资产。

最后

  1. 越大型的互联网公司,效果越好
  2. 大部分ns服务器都有命名规律,如ns1,ns2……
  3. 有时候公司虽然有自己的dns服务器,但是仍然会使用一些服务器厂商的dns
  4. 存在并不是该公司的资产,但仍然解析到该公司dsn服务器的情况。(数量不多)
  5. 因为存在上面两种情况,所以写自动化脚本递归查询时需要增加验证。

评论