THM-子域名收集

子域枚举是为域查找有效子域的过程,但我们为什么要这样做呢?我们这样做是为了扩大我们的攻击面,以尝试发现更多潜在的漏洞点。

SSL/TLS 证书

当 CA(证书颁发机构)为域创建 SSL/TLS(安全套接字层/传输层安全性)证书时,CA 会参与所谓的“证书透明度 (CT) 日志”。这些是为域名创建的每个 SSL/TLS 证书的可公开访问的日志。Certificate Transparency 日志的目的是阻止使用恶意和意外生成的证书。我们可以利用这项服务来发现属于某个域的子域,像 https://crt.shhttps://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是一个python工具,旨在使用OSINT枚举网站的子域。它可以帮助渗透测试人员和错误猎人收集和收集他们所针对的域的子域。Sublist3r使用许多搜索引擎(如Google,Yahoo,Bing,Baidu和Ask)枚举子域。Sublist3r 还使用 Netcraft、Virustotal、ThreatCrowd、DNSdumpster 和 ReverseDNS 枚举子域。

为了加快 开源情报 子域发现的过程,我们可以借助 Sublist3r等工具自动执行上述方法

爆破子域名

某些子域并不总是托管在可公开访问的 DNS 结果中,例如 Web 应用程序或管理门户的开发版本。相反,DNS 记录可以保存在私有 DNS 服务器上,或者记录在开发人员机器上的 /etc/hosts 文件(或 Windows 用户的 c:\windows\system32\drivers\etc\hosts 文件)中,该文件将域名映射到IP 地址。

因为当客户端请求网站时,Web 服务器可以从一台服务器托管多个网站,因此服务器可以从 Host 标头中知道客户端想要哪个网站 。我们可以通过更改此主机标头并监视响应以查看我们是否发现了新网站来利用此主机标头。

与 DNS Bruteforce 一样,我们可以通过使用常用子域的单词列表来自动执行此过程。

使用ffuf工具爆破子域名

 ffuf -w 字典 -H "Host: FUZZ.acmeitsupport.thm" -u 目标地址

上面的命令使用-w开关来指定我们将要使用的单词列表。-H开关添加/编辑标题(在本例中为主机标题),我们在子域通常所在的空间中有FUZZ关键字,这是我们将尝试单词列表中所有选项的地方

因为上面的命令总是会产生一个有效的结果,所以我们需要过滤输出。我们可以通过使用带有-fs开关的页面大小结果来做到这一点。编辑以下命令,将 {size} 替换为先前结果中出现次数最多的大小值

ffuf -w 字典 -H "Host: FUZZ.acmeitsupport.thm" -u 目标地址 -fs {size}


posted @ 2023-02-22 18:01  Junglezt  阅读(195)  评论(0编辑  收藏  举报