发掘子域是研究组织的重要组成部分,在公司主域的后面,还有许多其他子域可以提供有关组织的结构,技术和业务实践的有用信息。
子域发现是安全研究人员的一项基本技能,如果知道如何查找子域,则发现有关组织使用的IP地址,技术和服务的信息将变得更加容易。
但是,查找子域并不总是那么简单。常见的子域(例如mail.example.com或cpanel.example.com)很容易找到,但大型组织可以将数百甚至数千个子域作为其数字资产的一部分。如何才能找到所有这些呢?
可以使用类似crt.sh[1]之类的站点进行子域发现。这些站点非常适合发现子域,因为它们在发布时会解析SSL证书中的详细信息。但是当处理非常大的域时,浏览此类信息的页面既无效又不切实际。自动化工具是在任何规模上执行此操作的唯一方法,我们常常都会看到许多工具都包含来自crt.sh和类似站点的信息。
有许多可用的工具,但是它们的工作方式略有不同,所需的技术专业知识水平也有所不同。有些具有良好的Web界面,而另一些只能从命令行运行。除当前记录外,有些还包含历史记录子域记录,有些还可以从字典中暴力破解可能的子域名称,以尝试发现组织中难以寻找的部分。
为了比较这几个子域发现工具之间的差异,下面进行一个简单的比较测试,以评估baidu.com域。百度公司的互联网足迹巨大,有成千上万的子域等待发现。每个发现工具的工作方式不同,返回的结果也略有不同。
Security Trails[2]以清晰的图形格式呈现结果,易于浏览。它还显示每个子域的IP地址,以便知道它的托管位置。它还提供了历史性的子域记录,因此可以查看子域随时间的变化。在未使用类似Cloudflare等CDN服务之后,这通常是一种发现服务的真实IP地址的方法。
对于baidu.com域,此处发现了7,365个子域及其关联的IP地址。
与Security Trails一样,DNS Dumpster[3]通过Web界面运行,以易于阅读的格式显示结果。结果还包含有用的其他信息,例如子域的IP地址,并可以透视和浏览共享相同IP地址的其他域。
DNS Dumpster以流程图格式显示信息,这利于可视化并且还可以导出为CSV格式。
但是它返回的结果很少。没有帐户,只能查看前100个结果,即使使用帐户,也只能为baidu.com找到501个子域。与其他工具返回的结果相比,这个数字要小得多。
DNS Recon[4]是用于OSINT和网络故障排除的功能强大的DNS发现工具。可以使用它来查询域的DNS记录,它通常会返回有用的附加信息,例如
SRV记录
以及A记录,MX记录等。
DNS Recon可以挖掘子域,但是使用的两种方法与其它工具略有不同。一旦DNS Recon识别出了主域使用的IP范围,它便可以执行反向IP查找,在其中进行检查以查看哪些其他域(或子域)共享相同的IP地址。这可能会花费很长时间,但是在查找其它工具遗漏的子域时非常有效。
第二种方法子域暴力破解。这涉及获取常用子域名的预定义列表,并检查它们是否存在于目标域中。这个过程很慢,但有时可以找到其它程序无法找到的结果。
为了测试,将DNS Recon指向IP范围180.149.143.0-180.149.143.255,某些百度服务使用该IP范围。它在此IP范围内发现了38个子域,花了约3分钟。对于挖掘子域名的深度和细节而言,这已经足够了。
Sublist3r[5]是用于子域枚举的快速而强大的命令行工具。它查询子域信息的常见来源,例如SSL证书,搜索引擎和证书透明度记录(例如crt.sh)。
它非常快速且易于使用。如果时间充裕,它还允许子域暴力破解。当检查baidu.com时,Sublist3r在不到2分钟的时间内发现了3,195个唯一的子域。
Findomain[6],它非常快速,可一次搜索多个域。它查询与Sublist3r所使用的资源相似,但也提供高级功能,例如
子域监视
和通知
。也可以通过添加API密钥来增加数据源的数量。
在本练习中,Findomain花了22秒的时间为baidu.com查找了7,467个唯一的子域(未使用API密钥)。
Amass[7]是由OWASP开发的功能强大的命令行
OSINT
工具。它具有广泛的功能,编写良好的Wiki,还支持大量的API以丰富搜索结果。结果也可以添加到数据库以帮助可视化。
Amass允许通过被动和主动方式进行子域发现。大多数子域发现方法是被动的,并且依赖于查询第三方资源。如果需要高度安全性,这将具有优势,因为目标将不会意识到你的查询或研究。
Amass还提供了一种主动的枚举模式,它将在其中找到属于目标域的SSL证书,并从中获取子域名。这种模式涉及与目标域的主动联系,这可能是一些研究人员所担心的,但是它具有确保信息准确和最新的优势。
因时间关系,Amass发现了baidu.com的857个子域。它还在结果中显示关联的IP地址和ISP详细信息。
不好意思,没有最好的!每种工具都是不同的,并且都有其各自的优点和缺点。每种工具强调的都是不同的东西,可以根据需要选择一种。
[1]
crt.sh: https://crt.sh/[2]
Security Trails: https://securitytrails.com/[3]
DNS Dumpster: https://dnsdumpster.com/[4]
DNS Recon: https://github.com/darkoperator/dnsrecon[5]
Sublist3r: https://github.com/aboul3la/Sublist3r/[6]
Findomain: https://github.com/Findomain/Findomain[7]
Amass: https://github.com/OWASP/Amass/blob/master/doc/install.md
文章转自墨攻安全
关注公众号后台回复数字 1126 获取 应急响应实战笔记,1127 - ctf工具集合,1230 - 内网工具,3924 - 弱口令爆破工具。