本文档涵盖了在安全评估的侦察阶段发现子域的方法和技术。子域枚举是通过识别目标组织主域之外的额外入口点来扩展攻击面的关键步骤。有关网络发现技术,请参阅 网络发现,有关利用子域接管,请参阅下文的Web攻击面部分。
来源: Methodology and Resources/Web Attack Surface.md1-12
子域枚举是识别目标域的有效子域的过程。这可以扩展潜在的攻击面,并揭示可能不如组织主要网络属性安全的系统。
来源: Methodology and Resources/Web Attack Surface.md5-10
以下部分概述了发现子域的不同方法。为获得全面的结果,应结合使用这些技术。
一些在线服务和数据库会收集可以查询的子域信息
暴力破解涉及系统地测试目标域上潜在子域名的列表,以识别有效的子域名。
来源: Methodology and Resources/Web Attack Surface.md7
证书透明度 (CT) 日志是证书颁发机构颁发的 SSL/TLS 证书的公共记录。可以搜索这些日志来发现子域。
来源: Methodology and Resources/Web Attack Surface.md8
DNS解析涉及查询域名的DNS服务器,而区域传输(在允许的情况下)可以提供完整的DNS记录列表。
来源: Methodology and Resources/Web Attack Surface.md9
一旦发现了子域,技术指纹识别就可以帮助识别每个子域上运行的软件、框架和服务,这可能会揭示特定的漏洞。
来源: Methodology and Resources/Web Attack Surface.md10
子域接管漏洞发生于子域的 DNS 记录指向一个不再使用的服务时。攻击者可以注册同一个服务,从而有效地控制该子域。
易受子域接管攻击的常见服务
来源: Methodology and Resources/Web Attack Surface.md11
下表概述了流行的子域枚举工具
| 工具 | 类别 | 描述 |
|---|---|---|
| Sublist3r | 聚合器 | 结合了包括搜索引擎、DNS数据库在内的多个来源 |
| Amass | 主动/被动 | 使用各种技术的全面工具 |
| Subfinder | 被动 | 使用CT日志、DNS数据库等被动源 |
| Assetfinder | 被动 | 查找与给定域相关的域和子域 |
| Knockpy | 暴力破解 | 基于字典的子域暴力破解器 |
| dnsrecon | DNS | DNS枚举工具 |
| massdns | DNS | 高性能DNS解析器 |
| altdns | 排列 | 生成和测试子域排列 |
| SubBrute | 暴力破解 | 快速子域暴力破解器 |
| findomain | 被动 | 快速子域查找器 |
全面的子域枚举方法结合了被动、主动和分析技术。
来源: Methodology and Resources/Web Attack Surface.md5-11
子域枚举通常在渗透测试的侦察阶段进行,为后续的测试阶段提供输入。
来源: Methodology and Resources/Web Attack Surface.md1-12 Methodology and Resources/Network Discovery.md1-14
子域枚举是一项关键的侦察活动,有助于识别组织网络基础设施中的潜在攻击向量。通过结合被动和主动技术,安全测试人员可以发现隐藏的资产、错误的配置和漏洞机会。应特别注意潜在的子域接管漏洞,这可能导致对组织子域的完全控制。
有关更全面的信息,请参阅 InternalAllTheThings 的更新内容。