查找域的子域的最佳方法是什么?

信息安全 dns 侦察
2021-08-14 07:41:06

我需要找到一个域的大多数子域。我知道有很多选择。

我在 Kali Linux 中尝试过很多可用的:

dnsmap
dnsenum
dnsrecon
dnswalk
fierce
urlcrazy

他们中的大多数只找到 2 或 3 个工作子域,而使用这个在线工具,它会发现更多。

由于pentest-tools需要购买积分才能工作,我正在尝试找到一种可以检索类似结果的工具。到目前为止我还没有成功。

我怎样才能从这些工具中获得最佳结果?

2个回答

您链接的工具解释了他们的技术:

 DNS zone transfer
 DNS enumeration based on a specially chosen wordlist
 Public search engine queries
 Word mutation techniques

你提到的 Kali 工具可以做其中的一些事情,但也许不是全部。您可能需要组合它们或以不同方式配置它们。

如果不知道一种工具发现了另一种工具没有发现的细节,就很难设计出更具技术性的答案。

本质上,您需要寻找区域切割或权威的 NS 记录。NOERROR在尝试解析该子域的任何类型的资源记录时,可以通过检查 DNS 响应标头的状态来检测区域切割。可以通过询问名称服务器实际子域的区域列表(父域可能能够回答,但这并不能使其正确)来找到权威的 NS 记录。 来自 DNS 运营分析和研究中心的演示文稿阐明了这一点。

我能够通过比较资源记录查询的答案websecurity.symantec.com.symantec.com.注意当我询问权威名称服务器的 A 记录时,权威名称服务器如何为symantec.com.我提供权威名称服务器的 NS 记录websecurity.symantec.com.,即使答案存在,我能够证明这一点。

$ dig @8.8.4.4 IN NS symantec.com. | head -1
symantec.com.           3596    IN      NS      pdns1.ultradns.net.
*$ dig @8.8.4.4 IN NS websecurity.symantec.com. | head -1
websecurity.symantec.com. 542   IN      NS      k4.nstld.com.
$ dig @k4.nstld.com. IN A websecurity.symantec.com. | head -1
websecurity.symantec.com. 900   IN      A       155.64.49.125
*$ dig @pdns1.ultradns.net. IN A websecurity.symantec.com. | head -1
websecurity.symantec.com. 3600  IN      NS      j4.nstld.com.