子域枚举是为域查找有效子域的过程,但我们为什么要这样做呢?我们这样做是为了扩大我们的攻击面,以尝试发现更多潜在的漏洞点。
SSL/TLS 证书
当 CA(证书颁发机构)为域创建 SSL/TLS(安全套接字层/传输层安全性)证书时,CA 会参与所谓的“证书透明度 (CT) 日志”。这些是为域名创建的每个 SSL/TLS 证书的可公开访问的日志。Certificate Transparency 日志的目的是阻止使用恶意和意外生成的证书。我们可以利用这项服务来发现属于某个域的子域,像 https://crt.sh 和 https://ui.ctsearch.entrust.com/ui/ctsearchui这样的网站 提供了一个可搜索的证书数据库,显示当前和历史的信息
搜索引擎(Google 语法)
搜索引擎包含指向超过十亿个网站的数万亿个链接,这可能是寻找新子域的绝佳资源。 在 Google 等网站上使用高级搜索方法,例如 site:filter,可以缩小搜索结果的范围。例如,“-site:www.domain.com site:*.domain.com”将只包含指向域名 domain.com 的结果,但不包括任何指向 www.domain.com 的链接;因此,它只向我们显示属于 domain.com 的子域名
例如:site:www.tryhackme.com site:*.tryhackme.com
DNS Bruteforce(DNS 爆破)
Bruteforce DNS(域名系统)枚举是一种从预定义的常用子域列表中尝试数十、数百、数千甚至数百万个不同的可能子域的方法。由于此方法需要很多请求,因此我们使用工具将其自动化以加快流程。在本例中,我们使用名为 dnsrecon 的工具来执行此操作
Sublist3r脚本
使用 Sublist3r 实现自动化
为了加快 开源情报 子域发现的过程,我们可以借助 Sublist3r等工具自动执行上述方法