域名收集

信息收集上的花费要占到一次渗透测试很大的比例,域名收集则是信息收集重要的一环。

0x00 常用域名收集方法一览

  • 搜索引擎
  • github
  • fierce
  • dnsenum

0x01 搜索引擎

搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。
我们在进行域名收集时,借助搜索引擎是方便的一种方式,收集方式与一般访问无异,收集之后不会被目的服务器的安全策略记录为异常,但是收集完善性有限。如果目标网站有robot.txt中对搜索引擎的限制,则无法收集,不过我们可以通过访问其robot.txt,然后手动进行扫描或者写脚本进行扫描。
如我们收集西电相关的域名site:xidian.edu.cn
如图我们使用google搜索引擎和yandex搜索引擎进行收集:

0x02 github

gitHub是一个面向开源及私有软件项目的托管平台,功能十分强大,绝大多数开发人员都会使用。
在github的搜索框中键入目标官方域名,就可以得到很多相关项目,代码,网站等搜索结果。
如输入 xidian.edu.cn,在code选项卡可以看到很多结果:

0x03 fierce

fierce是一个域名扫描综合性工具。它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone Transfer)漏洞。如果不存在该漏洞,会自动执行暴力破解,以获取子域名信息。对获取的IP地址,它还会遍历周边IP地址,以获取更多的信息。最后,还会将IP地址进行分段统计,以便于后期其他工具扫描,如NMAP。
这里用西工大的官网进行测试
使用方法:

  • 基本扫描
  • 指明需要搜索的子域名
  • 在域名周围的连续快中遍历
  • 还有很多方法,我们可以在帮助文件中自行尝试

0x04 dnsenum

DNSenum是一款非常强大的 域名信息收集工具,目的是尽可能收集一个域的信息,它能够通过谷歌或者字典文件猜测可能存在的域名,以及对一个网段进行反向查询。它可以查询网站的主机地址信息、域名服务器、mx record(函件交换记录),在域名服务器上执行axfr请求,通过谷歌脚本得到扩展域名信息(google hacking),提取自域名并查询,计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。
同样用西工大的域名作为测试对象
使用方法:

  • 基本使用
  • 根据字典文件遍历子域名
  • 保存扫描结果

0x05 总结

域名收集的方式还有很多,比如利用DNS反相解析来收集域名,利用DNS Transfer来收集域名,利用zap来被动感知域名等等。
收集途径很多但没有什么优劣之分,在我们进行域名收集时,要根据自己的实际需求来做出恰当的选择。