扫描子域名总共分为两类:一个是利用公共资源,另一个就是利用工具爆破。

目录

  1. 利用公共资源
  2. 利用工具爆破
    1. 国外的:
    2. 国内的:
  3. 原理
    1. 1.利用现有搜索引擎:
    2. 2.进行爆破,而爆破又分为两种:
    3. 3.其他泄露信息:

利用公共资源

  • 搜索引擎(Google,Bing,Yahoo,Baidu等等)
  • https://virustotal.com/ - 在 Search 里输入 “domain:target.com”,然后 virustotal 会提供一份子域名列表,和其他一些辅助信息以帮助你观察子域名。
  • https://dnsdumpster.com - 名字说明了一切!你只需要输入目标域名,然后点击搜索按钮,完事。
  • https://crt.sh/?q=%25target.com - 有些时候 SSL 中会包含很多有用的信息,使用这个网站搜索 “%target.com” 即可得到你所需要的子域名信息。
  • https://censys.io - 不是非常好,但有时也会提供一些有用的信息。
  • http://searchdns.netcraft.com/ - 另一种选择。
  • https://www.shodan.io - 无需多言,不仅可以看到子域名信息,还会显示对应的服务器版本及其他更多数据。
  • 谷歌透明度报告 - 也是利用 SSL 证书发现子域名

利用工具爆破

国外的:

  • Subbrute - 快速枚举 DNS 记录和子域名。
  • dnscan - 使用 Python 写的基于字典查询 DNS 的子域名扫描器。
  • Nmap - 不仅仅只是端口扫描,可以使用脚本枚举子域名。使用 --script dns-brute 脚本。
  • Recon-Ng - Recon-Ng 框架是一个 Web 信息收集工具,其包含暴力枚举子域名的模块。
  • DNSRecon - 一个强大的 DNS 枚举脚本。
  • Fierce - 一个半轻量级的枚举子域名扫描器。
  • Gobuster - Go 语言编写的枚举目录和文件的工具,最新版支持 DNS 查询。
  • DNSenum - 提供多线程和递归枚举子域名。
  • AltDNS - 提供基于对已发现子域名进行置换的暴力枚举方式。

国内的:

  • wydomain2 - 猪猪侠的作品,好用不解释。
    从alexa、chaxunla、ilinks、google、sitedossier、netcraft、threatcrowd、threatminer爬取结果,再与openssl证书+字典穷举结果合并,生成最终的子域名集合。
  • subDomainsBrute - 曾经乌云核心白帽李劼杰的作品
  • Layer 子域名挖掘机 - 法师的作品,因为是用.NET写的,所以基本只能在Win下使用,也是相当好用的。

原理

子域名发现的原理无非就是以下几种:

1.利用现有搜索引擎:

  • 网页搜索引擎(如:谷歌等)
  • 空间搜索引擎(如:Shodan等)
  • SSL证书(如:crt.sh等),这个主要针对大站

2.进行爆破,而爆破又分为两种:

  • 直接访问子域名
  • 利用 DNS 请求

3.其他泄露信息:

  • 如 crossdomain.xml 文件等
  • 爬虫递归爬取等
  • DNS域传送漏洞等

子域名发现很多的时候还是靠字典,如果没有很好的子域名字典,这里在推荐一个国外组织统计的最受欢迎子域名列表:https://github.com/bitquark/dnspop