菜鸟科技网

如何查询公司所有域名?

以下我将从基础方法专业工具,为你详细介绍如何查询公司所有域名,并附上注意事项。

如何查询公司所有域名?-图1
(图片来源网络,侵删)

核心思路

查询公司域名资产主要有三大思路:

  1. 公开信息挖掘:通过搜索引擎、证书透明度日志、公开数据泄露等渠道查找。
  2. 主动技术探测:使用工具主动扫描和猜测可能存在的域名。
  3. 商业数据服务:购买专业的商业数据库,它们整合了海量来源的数据。

基础免费方法(适合初学者和快速检查)

搜索引擎高级搜索

这是最简单直接的方法,利用搜索引擎的强大索引能力。

  • 语法:使用 site: 指令。
  • 操作
    • 在 Google 或 Bing 等搜索引擎中输入:site:company.com (将 company.com 替换为目标公司的主域名)。
    • 这会返回所有被该搜索引擎收录的、以 company.com 结尾的域名。
  • 进阶技巧
    • 查看相关域名:related:company.com
    • 查找包含公司名的域名:"公司名称" 域名"company name" domain
  • 优点:简单、快速、免费。
  • 缺点:结果不完整,依赖搜索引擎的索引范围,很多子域名可能未被收录。

公开证书透明度日志

这是目前最有效、最权威的方法之一,当网站启用 HTTPS 时,其 SSL/TLS 证书的颁发信息会公开发布在“证书透明度”日志中。

  • 原理:任何为 *.company.com 这样的通配符证书或具体子域名颁发的证书,都会记录在案。
  • 工具
    • crt.sh (强烈推荐): 一个非常强大的证书搜索引擎。
      • 访问 https://crt.sh/
      • 在搜索框中输入目标公司的主域名 %.company.com (使用 作为通配符)。
      • 点击查询,它会返回所有匹配的证书信息,其中就包含了大量的子域名。
    • Censys Search: https://search.censys.io/
      • 在搜索框中输入 parsed.names: company.com
      • 可以得到非常详细和结构化的结果。
  • 优点:数据来源权威、更新及时、能发现大量隐藏的子域名。
  • 缺点:只包含启用了 HTTPS 的域名。

子域名查找工具网站

一些网站专门收集和整理子域名信息。

如何查询公司所有域名?-图2
(图片来源网络,侵删)
  • VirusTotal: https://www.virustotal.com/
    • 在搜索框中输入域名,然后切换到 "Subdomains" 标签页。
    • 它会整合多个来源的数据,包括其自身的扫描和社区提交。
  • SecurityTrails: https://securitytrails.com/

    提供免费的子域名历史记录查询功能,可以看到一个域名历史上曾经拥有过的所有子域名,非常有价值。

  • AnubisDB: https://joshi.su/anubisdb/

    一个庞大的子域名数据库,可以通过其搜索接口查询。


专业工具方法(适合安全研究员和高级用户)

如果你需要更全面、更深度的结果,可以使用专业的命令行工具进行自动化扫描。

Sublist3r

一个用 Python 编写的子域名枚举工具,它会整合多个公共数据源进行查询。

# 安装
git clone https://github.com/aboul3la/Sublist3r.git
cd Sublist3r
pip install -r requirements.txt
# 使用
python sublist3r.py -d company.com

Amass

一款功能极其强大的子域名发现工具,是 OWASP 项目的推荐工具,它不仅可以使用被动数据源,还能主动进行网络探测(如 DNS 查询、爬虫等)。

# 安装 (推荐通过 Go)
go install -v github.com/OWASP/Amass/v4/...
# 使用 (被动模式)
amass enum -passive -d company.com
# 使用 (主动+被动模式,效果最好但耗时最长)
amass enum -active -d company.com

Subfinder

现代、快速的子域名发现工具,专注于被动数据源的收集,速度非常快。

# 安装 (推荐通过 Go)
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# 使用
subfinder -d company.com

OneForAll

一个功能强大的 Python 脚本,整合了多种子域名查询方法,并支持多线程和代理。

# 安装
git clone https://github.com/shmilylty/OneForAll.git
cd OneForAll
pip install -r requirements.txt
# 使用
python oneforall.py --target company.com

商业数据服务(适合企业和专业机构)

商业服务通过购买、爬取和整合全球范围内的数据,提供最全面、最准确的域名资产视图。

  • Shodan: 全球最大的物联网搜索引擎,可以通过 ssl.cert.subject: company.com 等语法查找相关的设备和证书。
  • Criminal IP: 类似于 Shodan 的网络空间搜索引擎。
  • Spyse: 一个在线的攻击面管理平台,提供详细的域名、IP、DNS 等信息。
  • Farsight Security / DNSDB: 提供海量的 DNS 历史数据查询。

优点:数据量巨大、覆盖面广、更新及时、通常提供 API 接口。 缺点:价格昂贵,通常按查询次数或订阅费收费。


综合策略与最佳实践

为了获得最完整的结果,建议采用组合拳策略:

  1. 第一步(快速普查)

    • 使用 crt.shSecurityTrails 这两个免费但强大的工具,快速获取一个高质量的域名列表,这是性价比最高的方法。
  2. 第二步(深度挖掘)

    • 使用 AmassSubfinder 等工具进行被动和主动扫描,这可以发现一些因为配置问题(如泛解析)或未被证书透明度记录的域名。
  3. 第三步(验证与整理)

    • 将所有查询到的域名汇总到一个列表中。
    • 使用 httpxmassdns 等工具对域名进行存活状态验证。
    • 使用 assetfinder 或其他脚本去重。
    • 最终整理成一个干净的、按重要性排序的域名清单。

⚠️ 重要注意事项

  1. 法律与道德合规

    • 仅限授权范围绝对不要对未经授权的公司进行域名资产扫描,这可能被视为网络侦察或攻击前的踩点行为,是违法的。
    • 明确目的:此操作通常用于:
      • 红队测试:在获得客户书面授权后,模拟攻击者进行攻击面评估。
      • 蓝队防御:公司内部人员自查,发现暴露在外的资产并进行加固。
      • 竞品分析:在合法合规的前提下,了解竞争对手的网络布局。
      • 学术研究
  2. 数据准确性

    • 没有任何方法是100%完美的,总会存在遗漏(“假阴性”)或误报(“假阳性”)。
    • 域名是动态变化的,今天存在的域名明天可能就被废弃了。
  3. 避免噪音

    扫描可能会对目标公司的 DNS 服务器造成轻微负载,请务必控制扫描频率和并发数,避免成为 DDoS 攻击的一部分。

方法类型 推荐工具/服务 优点 缺点 适用人群
基础免费 crt.sh, SecurityTrails, VirusTotal 简单、快速、权威 结果不完整 初学者、快速检查
专业工具 Amass, Subfinder, OneForAll 全面、深入、可定制 需要技术基础、耗时 安全研究员、高级用户
商业服务 Shodan, Spyse, Farsight 数据量最大、最准确 价格昂贵 企业、专业机构

对于绝大多数人来说,crt.shSecurityTrails 开始,然后使用 Amass 进行补充,是性价比最高且效果最好的组合,请务必在合法授权的前提下进行操作。

分享:
扫描分享到社交APP
上一篇
下一篇