如何在网站上查找子域名(以及为什么要这样做)
这是一份关于如何查找网站子域名的指南。我将介绍什么是子域名、为什么要搜索子域名以及如何找到它们。
假设知识:
- 基本 Linux/Unix 命令
什么是子域名?
表面上看,子域名只是域名前面附加的一个部分。例如,“ dev.mytotallysecurewebsite.com ”中,“ mytotallysecurewebsite.com ”是根域名,“ dev ”是子域名。
作为开发者,创建子域名可以让你创建一个完全独立的网站,但仍使用你的根域名。例如,你通常会创建一个子域名来测试尚未准备好在官方网站上部署的新功能。
开发子域名通常用于“隐藏”新的和未经测试的功能。普通用户仅仅访问mytotallysecurewebsite.com根本无法知道类似dev.mytotallysecurewebsite.com这样的域名存在。
我为什么要查找子域名?
通常,开发/测试子域名是开发人员的秘密。许多公司会投入大量资金和精力来确保其根域名尽可能安全,但却完全忽视了子域名,因为他们认为这些子域名永远不会被发现。
但如果没有防火墙等适当的控制措施,子域名最终还是会被发现。你无法对谷歌——或者对那些特别好奇的黑客——隐瞒任何事情。
如果您是拥有“隐藏”子域名的开发者,最好使用一些子域名枚举器来运行您的网站。因为如果您能找到它,其他人可能已经找到了。
作为一名渗透测试人员,子域名枚举将成为你侦察工作的关键部分。子域名可能比根域名包含更多的漏洞。在决定如何测试一个网站时,我首先要做的事情之一就是搜索子域名。
使用 Google 查找子域名
我不知道你为什么要这么做,而不是直接用自动化工具。不过方法如下。
使用 Google 的“site:”过滤器,我们可以看到 Google 为某个网站发现的一些子域名。
然后我们可以添加“-inurl:”过滤器来排除我们已经找到的子域,从而让我们看到更多。
您可以不断重复此操作,直到子域名用完,或者觉得无聊就改用自动化工具。市面上有数百个不错的子域名枚举工具,所以我不会一一列举,而是只列出我常用的工具。如果我漏掉了您最喜欢的工具,请不要责怪我!
免责声明:部分工具属于暴力破解工具,会触发警报。警报在某些情况下可能有效,但在其他情况下则不理想。
Censys.io
Censys.io是一款非常棒的工具,可以为您提供大量有关网站的信息。它可以用来通过以下搜索字符串查找子域名:https://censys.io/certificates? q=.examplesite.com
Github 上还有一个不错的工具,可以自动查找具有 Censys.io 证书的子域。
渗透测试工具
Pentest-Tools是另一个用于查找子域名的 Web 应用。它使用起来非常简单——只需输入根域名,然后点击“扫描”。
Aquatone
Aquatone-discover是我最喜欢的子域名工具之一。它运行起来需要一些时间,但通常非常稳定,并且能够产生很多结果。通常,我会先运行 Aquatone-discover,然后在等待 Aquatone 完成的同时运行其他工具。
Sublist3r
Sublist3r真的很棒。Sublist3r 使用开源智能技术来查找子域名,通常几分钟内就能给出结果。它非常适合那些迫不及待想要开始使用 Sublist3r 的人。当我的其他工具运行完毕时,我通常已经快速浏览过 Sublist3r 提供的所有域名了。
清除
面对现实吧——你可能不是最优秀的黑客。你做的任何事情,别人可能已经做得更好了。
我喜欢尝试的一件事是谷歌搜索“site:github.com hosts example.com”,或者直接搜索“site:github.com”,并加上一两个我已经发现的子域名。如果你运气好,可能已经有人为你正在测试的网站制作了子域名转储(或者运气不好,如果这是你自己的网站)。
除了在 Github 中搜索,Pastebin 也能提供搜索结果。如果你正在做漏洞赏金项目,并且很多渗透测试人员已经访问过该网站,那么 Pastebin 是一个可以省去不少精力的好方法。
整合起来
如果您是一名 Web 开发者,并且拥有子域名,那么对您的网站进行扫描是检查其暴露程度的好方法。不要以为仅仅因为您配置了 robots.txt,就没有人能找到您的子域名。
如果你是一名渗透测试人员,这是了解目标攻击面的关键一步。如果你正在进行范围广泛的漏洞赏金计划,有时甚至值得完全忽略官方域名,只专注于子域名。
祝您黑客愉快!
这篇文章最初发表在explainhownow.com上
文章来源:https://dev.to/ctrlshifti/how-to-find-subdomains-and-why-you-should-3he1