跳到主要内容
项目档案命令行工具

OWASP Amass 攻击面映射工具:开源资产发现、子域名枚举与安全评估完整指南

OWASP Amass 是 OWASP 旗下的开源攻击面映射与资产发现工具,通过集成多种数据源和主动侦察技术,帮助安全人员自动化枚举子域名、收集网络资产。本文详细介绍其安装方式(Go、Docker、二进制下载)、使用方式(CLI 命令和引擎 API)、主要功能模块及适用场景,适用于渗透测试、红队侦察和企业攻击面管理。

15,190GoStar 于 2026年4月11日2026年9月19日 更新

AI 总结

OWASP Amass 是一款开源的攻击面映射与资产发现工具,通过集成多种数据源和主动侦察技术,帮助安全人员自动化枚举子域名、识别组织暴露面,提升安全评估效率。

中文项目介绍

OWASP Amass 是 OWASP 基金会旗下的旗舰项目,专注于攻击面映射与外部资产发现。该工具采用 Go 语言开发,通过集成公开的域名数据、DNS 记录、WHOIS 信息以及主动扫描技术,自动化枚举目标组织的子域名、IP 地址、网络服务等资产,揭示潜在的安全风险点。 项目解决传统资产发现过程中信息碎片化、覆盖不全面、人工收集效率低下的问题。它能够将分散的资产线索进行关联分析,构建完整的网络资产图谱,帮助安全团队快速识别暴露在互联网上的攻击入口。 主要适用场景包括:渗透测试前期的信息收集与子域名枚举;红队行动的资产侦察与网络映射;企业攻击面管理(ASM)中的持续资产监控;安全运维中的资产变更发现与合规检查。 技术架构上,Amass 采用高度模块化设计,支持两种运行模式:CLI 子命令模式提供 enum、subs、assoc 等专用工具;引擎模式作为独立服务运行,提供 REST API 接口(默认 4000 端口)支持分布式任务调度。配置系统支持灵活的数据源认证、作用域规则和解析器管理,并依赖 asset-db 进行资产持久化存储。

详细信息与使用说明

1. 项目定位与用途

OWASP Amass 是 OWASP 基金会的旗舰项目,定位为专业的攻击面映射与资产发现工具。它通过集成开源信息收集和主动侦察技术,帮助安全人员自动化枚举子域名、收集网络资产、识别组织暴露面。项目采用 Go 语言开发,提供 CLI 工具和引擎服务两种形式,适用于安全评估、红队侦察和企业攻击面管理场景,旨在提升资产发现的全面性和效率。

2. 解决的问题

传统资产发现方法存在信息碎片化、覆盖不全面、人工收集效率低的问题。Amass 整合多种数据源(如 DNS、WHOIS、证书透明度、网络爬虫等),将分散的资产线索进行关联分析,构建完整的网络资产图谱,快速识别互联网暴露的攻击入口。这减少了安全团队的手动工作量,提高了攻击面识别的准确性和深度,从而帮助组织及时发现并修复安全风险。

3. 适用场景

主要适用场景包括:渗透测试前期的信息收集与子域名枚举,为漏洞挖掘提供目标基础;红队行动的资产侦察与网络映射,模拟真实攻击路径;企业攻击面管理(ASM)中的持续资产监控,跟踪外部资产变化;安全运维中的资产变更发现与合规检查,确保资产符合安全策略。此外,也适用于威胁情报收集和竞争对手技术资产分析。

4. 安装方式

项目提供三种安装方式:通过 Go 安装,在 Go 1.26+ 环境执行 `go install github.com/owasp-amass/amass/v5@latest`;通过 Docker 安装,拉取镜像 `docker pull owaspamass/amass` 并运行容器;从 GitHub Releases 页面下载对应平台预编译的二进制文件。详细安装说明可参考 Amass Docs 仓库。注意:仓库中未明确给出特定操作系统的手动编译步骤,但 Go 安装方式隐含了源码编译能力。

5. 使用方式

CLI 模式下,直接运行 `amass` 命令及其子命令,如 `amass enum` 进行资产枚举,`amass subs` 处理子域名,`amass assoc` 分析资产关联。引擎模式下,执行 `amass_engine` 启动服务,默认监听 4000 端口提供 REST API,支持分布式任务。使用 `ae_isready --host <主机名>` 可检查引擎健康状态。此外,还有 `oam_track`(资产跟踪)、`oam_viz`(可视化生成)等专用工具。具体命令参数需参考各子命令的帮助信息。

6. 实现特点

项目采用模块化架构,核心组件包括命令行入口、引擎调度器、插件系统和配置管理。插件系统集成 DNS、WHOIS、爬虫、enrichment 等多种数据源,支持扩展。配置系统支持数据源认证、作用域规则、解析器管理等结构化设置。数据存储依赖 asset-db 和 open-asset-model 进行资产持久化与标准化。引擎模式提供 REST API 服务,便于集成到其他安全平台。仓库中未明确给出性能基准测试数据或集群部署的具体配置细节。

思维导图

OWASP Amass
命令行接口 (cmd/)
amass (主命令)
amass_engine (引擎服务)
ae_isready (健康检查)
oam_enum (枚举)
oam_subs (子域名)
oam_assoc (关联)
oam_track (跟踪)
oam_viz (可视化)
引擎核心 (engine/)
dispatcher (调度器)
api (REST API)
plugins (插件系统)
配置管理 (config/)
数据存储 (asset-db)
文档 (docs/)

常见问题

如何安装 OWASP Amass?

支持三种方式:1) Go 安装:执行 `go install github.com/owasp-amass/amass/v5@latest`(需 Go 1.26+);2) Docker:运行 `docker pull owaspamass/amass`;3) 从 GitHub Releases 下载二进制文件。详细说明见 Amass Docs 仓库。

Amass 支持哪些运行模式?

支持两种模式:CLI 子命令模式,直接运行 `amass` 及子命令(如 enum、subs)进行资产枚举;引擎模式,运行 `amass_engine` 启动服务,默认监听 4000 端口提供 REST API,支持分布式任务调度和远程调用。

主要功能有哪些?

核心功能包括:子域名枚举、DNS 记录收集、IP 地址发现、资产关联分析、网络服务探测、证书透明度查询、WHOIS 信息获取、资产跟踪与变更检测、攻击面可视化。通过插件系统集成数十个第三方数据源,实现全面的资产发现。

适用于哪些场景?

主要适用于:渗透测试前期信息收集、红队行动资产侦察、企业攻击面管理(ASM)中的持续监控、安全运维资产变更发现与合规检查。也可用于威胁情报收集和竞争对手技术资产分析。

如何配置数据源和作用域?

通过配置系统管理,支持结构化设置数据源认证信息、作用域规则(包含/排除目标)、解析器列表等。配置可通过命令行参数、环境变量或配置文件指定。具体配置选项需参考项目文档或各子命令的帮助说明,仓库中未提供统一的配置模板文件示例。