通过Alexa和Google来搜索肯定不全面,考虑到每个域名都要正常解析才能被访问到,所以查询DNS记录是最好的办法。
搜索到了查询DNS记录的方法,通过域名的NS服务器可以用”ls http://domain.com“的方式查询所有域名相关记录,但是可惜,现在的DNS服务器大都禁用了这个功能以提高安全性。所以,除了穷举没别的办法了。
参考:
利用公共资源
- 搜索引擎(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下使用,也是相当好用的。
原理
子域名发现的原理无非就是以下几种:
- 利用现有搜索引擎:
- 网页搜索引擎(如:谷歌等)
- 空间搜索引擎(如:Shodan等)
- SSL证书(如:crt.sh等),这个主要针对大站
- 进行爆破,而爆破又分为两种:
- 直接访问子域名
- 利用 DNS 请求
- 其他泄露信息:
- 如 crossdomain.xml 文件等
- 爬虫递归爬取等
- DNS域传送漏洞等
最后补一句,子域名发现很多的时候还是靠字典,如果你没有很好的子域名字典,我这里在放一个国外组织统计的最受欢迎子域名列表:bitquark-subdomains-popular
可以在搜索引擎中键入site:+域名
比如,在百度中输入site:http://baidu.com
直接在alexa官网也可以,http://www.alexa.com,不仅可以看到子域名,还可以看到这些子域名各自占到总流量的百分比
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/212606.html