子域名收集神器:Amass 保姆级教程(附链接)
收集子域名信息(四):Amass 工具爆破
一、介绍
Amass 是一款开源的子域名信息收集工具,设计用于帮助安全专业人员、渗透测试人员和网络管理员收集目标域名的所有可能子域名。Amass 的目标是提供广泛的子域名信息,从而帮助用户更全面地了解目标,发现潜在的安全风险或攻击面。
以下是 Amass 的一些主要特点和功能:
-
字典和穷举攻击: Amass 支持使用预定义的字典文件进行字典攻击,也能够执行穷举攻击,尝试生成所有可能的子域名。
-
搜索引擎枚举: Amass 能够通过使用搜索引擎的高级搜索功能,如 Google、Bing 等,来查找与目标域名相关的子域名信息。
-
证书透明度日志(CT logs): Amass 使用证书透明度日志(Certificate Transparency logs)来查找通过TLS证书签名的域名,从而发现潜在的子域名。
-
WHOIS信息: Amass 可以获取目标域名的 WHOIS 信息,包括域名的注册者、注册日期等,这有助于了解域名的背后情况。
-
集成其他工具: Amass 可以与其他常用的子域名收集工具和服务集成,如 Sublist3r、Censys、Virustota l等。
-
图形化界面和命令行接口: Amass 提供了图形化用户界面(GUI)和命令行接口,使用户可以根据自己的喜好选择使用。
-
活跃的开发社区: Amass 是一个开源项目,有一个活跃的开发社区,持续提供更新和改进,同时接受社区贡献。
使用 Amass 时,用户通常可以指定目标域名,选择相应的收集模块和技术,并获取详细的子域名报告。需要注意的是,使用这类工具时,应该始终遵循法律和道德规范,只能在合法授权的情况下使用。
二、安装 Amass
在 Kail Linux 中 OWASP Amass 是默认安装的,并且可以像任何其他 Kali 软件包一样进行管理。所以咱们只需打开 Kail 即可使用,若没有下载 Kail 的可以参考下面这篇文章来进行安装:
打开 Kail
输入命令更新一波
apt-get update
三、使用 Amass
3.1 入门简单简单案例
amass 工具和所有子命令使用 “-h” 和 “-help” 标志显示选项:
amass -help
操作检查版本:
amass -version
子域名枚举工具最基本的使用:
amass enum -d 域名
DNS 枚举的典型参数:
$ amass enum -brute -min-for-recursive 2 -d example.com
example.com (FQDN) --> node --> www.example.com (FQDN)
www.example.com (FQDN) --> a_record --> 123.456.789.01 (IPAddress)
这段命令使用 Amass 工具执行子域名爆破和信息收集的操作,以下是命令中各个选项和输出的解释:
-
命令:
$ amass enum -brute -min-for-recursive 2 -d example.com
-
$ amass
: 启动 Amass 工具。 -
enum
: 执行子域名枚举操作。 -
-brute
: 使用字典和穷举攻击来尝试发现子域名。这表示 Amass 将尝试使用预定义的字典文件和穷举攻击的方式来查找与目标域名相关的子域名。 -
-min-for-recursive 2
: 设置递归搜索的最小深度为2。这表示 Amass 将从已发现的子域名中继续执行递归搜索,直到达到深度为2。 -
-d example.com
: 指定目标域名为example.com
,即要执行子域名枚举的目标域名。
-
-
输出:
example.com (FQDN) --> node --> www.example.com (FQDN)
www.example.com (FQDN) --> a_record --> 123.456.789.01 (IPAddress)-
example.com (FQDN)
: 源域名(Fully Qualified Domain Name),即目标域名。 -
--> node -->
: 表示两个域名之间的关系。在这里,example.com
是根域名,www.example.com
是它的子域名。 -
www.example.com (FQDN)
: 子域名,通过子域名爆破或其他方式找到的目标域名的一个子域。 -
--> a_record -->
: 表示域名与 IP 地址之间的关系。在这里,www.example.com
的A记录指向 IP 地址123.456.789.01
。 -
123.456.789.01 (IPAddress)
: 子域名对应的 IP 地址。
-
3.2 命令行使用信息
amass 工具具有如下所示的几个子命令,用于处理您的互联网暴露调查。
子命令 | 描述 |
---|---|
intel | 收集开源情报以调查目标组织 |
enum | 对暴露于 Internet 的系统执行 DNS 枚举和网络映射 |
db | 管理存储枚举结果的图数据库 |
所有子命令都有一些默认的全局参数,如下所示。
旗帜 | 描述 | 例子 |
---|---|---|
-h/-heip | 显示程序使用信息 | amass 子命令 -h |
-config | YAML 配置文件的路径 | amass 子命令 -config config.yaml |
-dir | 包含图形数据库的目录的路径 | amass 子命令 -dir PATH -d example.com |
-nocolor | 禁用彩色输出 | amass 子命令 -nocolor -d example.com |
-slient | 执行期间禁用所有输出 | amass 子命令 -silent -json out.json -d example.com |
3.2.1 intel 子命令
intel 子命令可以帮助您发现与您正在调查的组织关联的其他根域名。该子命令利用配置文件的数据源部分来获取被动情报,例如反向 whois 信息。
Flag | 描述 | 例子 |
---|---|---|
-active | 启用主动侦察方法 | amass intel -active -addr 192.168.2.1-64 -p 80,443,8080 |
-addr | IP 和范围 (192.168.1.1-254) 以逗号分隔 | amass intel -addr 192.168.2.1-64 |
-asn | ASN 以逗号分隔(可多次使用) | amass intel -asn 13374,14618 |
-cidr | CIDR 以逗号分隔(可多次使用) | amass intel -cidr 104.154.0.0/15 |
-d | 域名以逗号分隔(可多次使用) | amass intel -whois -d example.com |
-demo | 审查输出以使其适合演示 | amass intel -demo -whois -d example.com |
-df | 提供根域名的文件的路径 | amass intel -whois -df domains.txt |
-ef | 提供要排除的数据源的文件的路径 | amass intel -whois -ef exclude.txt -d example.com |
-exclude | 要排除的数据源名称以逗号分隔 | amass intel -whois -exclude crtsh -d example.com |
-if | 提供要包含的数据源的文件的路径 | amass intel -whois -if include.txt -d example.com |
-include | 要包含的数据源名称以逗号分隔 | amass intel -whois -include crtsh -d example.com |
-ip | 显示已发现名称的 IP 地址 | amass intel -ip -whois -d example.com |
-ipv4 | 显示已发现名称的 IPv4 地址 | amass intel -ipv4 -whois -d example.com |
-ipv6 | 显示已发现名称的 IPv6 地址 | amass intel -ipv6 -whois -d example.com |
-list | 打印所有可用数据源的名称 | amass intel -list |
-log | 将写入错误的日志文件的路径 | amass intel -log amass.log -whois -d example.com |
-o | 文本输出文件的路径 | amass intel -o out.txt -whois -d example.com |
-org | 针对 AS 描述信息提供的搜索字符串 | amass intel -org Facebook |
-p | 端口以逗号分隔(默认值:80、443) | amass intel -cidr 104.154.0.0/15 -p 443,8080 |
-r | 首选 DNS 解析器的 IP 地址(可以多次使用) | amass intel -r 8.8.8.8,1.1.1.1 -whois -d example.com |
-rf | 提供首选 DNS 解析器的文件路径 | amass intel -rf data/resolvers.txt -whois -d example.com |
-timeout | 执行枚举的分钟数 | amass intel -timeout 30 -d example.com |
-v | 输出状态/调试/故障排除信息 | amass intel -v -whois -d example.com |
-whois | 所有发现的域名都通过反向 whois 运行 | amass intel -whois -d example.com |
3.2.2 enum 子命令
在Amass工具中,enum
是用于执行子域名枚举操作的子命令
模式说明:
-
正常:运行 enum 子命令而不指定主动或被动标志将从数据源中播种枚举,并利用 DNS 来验证结果并进一步调查范围内的命名空间(提供的域名)
amass enum -d example.com
-
主动:它将执行所有正常模式并访问已发现的资产并尝试获取 TLS 证书、执行 DNS 区域传输、使用 NSEC 行走以及执行网络爬行。
amass enum -active -d example.com -p 80,443,8080
-
被动:只会从数据源获取信息并盲目接受。
amass enum --passive -d example.com
Flag | 描述 | 例子 |
---|---|---|
-active | 启用主动侦察方法 | amass enum -active -d example.com -p 80,443,8080 |
-alts | 启用更改名称的生成 | amass enum -alts -d example.com |
-aw | 用于更改的不同单词列表文件的路径 | amass enum -aw PATH -d example.com |
-awm | 用于名称更改的“hashcat-style”单词列表掩码 | amass enum -awm dev?d -d example.com |
-bl | 不予调查的子域名黑名单 | amass enum -bl blah.example.com -d example.com |
-blf | 提供黑名单子域的文件的路径 | amass enum -blf data/blacklist.txt -d example.com |
-brute | 执行暴力子域枚举 | amass enum -brute -d example.com |
-d | 域名以逗号分隔(可多次使用) | amass enum -d example.com |
-demo | 审查输出以使其适合演示 | amass enum -demo -d example.com |
-df | 提供根域名的文件的路径 | amass enum -df domains.txt |
-dns-qps | 所有解析器每秒的最大 DNS 查询数 | amass enum -dns-qps 200 -d example.com |
-ef | 提供要排除的数据源的文件的路径 | amass enum -ef exclude.txt -d example.com |
-exclude | 要排除的数据源名称以逗号分隔 | amass enum -exclude crtsh -d example.com |
-if | 提供要包含的数据源的文件的路径 | amass enum -if include.txt -d example.com |
-iface | 提供网络接口来发送流量 | amass enum -iface en0 -d example.com |
-include | 要包含的数据源名称以逗号分隔 | amass enum -include crtsh -d example.com |
-ip | 显示已发现名称的 IP 地址 | amass enum -ip -d example.com |
-ipv4 | 显示已发现名称的 IPv4 地址 | amass enum -ipv4 -d example.com |
-ipv6 | 显示已发现名称的 IPv6 地址 | amass enum -ipv6 -d example.com |
-list | 打印所有可用数据源的名称 | amass enum -list |
-log | 将写入错误的日志文件的路径 | amass enum -log amass.log -d example.com |
-max-depth | 暴力破解的最大子域标签数 | amass enum -brute -max-depth 3 -d example.com |
-min-for-recursive | 递归暴力破解之前看到的子域标签(默认值:1) | amass enum -brute -min-for-recursive 3 -d example.com |
-nf | 提供已知子域名的文件路径(来自其他工具/来源) | amass enum -nf names.txt -d example.com |
-norecursive | 关闭递归暴力破解 | amass enum -brute -norecursive -d example.com |
-o | 文本输出文件的路径 | amass enum -o out.txt -d example.com |
-oA | 用于命名所有输出文件的路径前缀 | amass enum -oA amass_scan -d example.com |
-p | 端口以逗号分隔(默认值:443) | amass enum -d example.com -p 443,8080 |
-passive | 纯粹被动的执行模式 | amass enum -passive -d example.com |
-r | 不受信任的 DNS 解析器的 IP 地址(可以多次使用) | amass enum -r 8.8.8.8,1.1.1.1 -d example.com |
-rf | 提供不受信任的 DNS 解析器的文件的路径 | amass enum -rf data/resolvers.txt -d example.com |
-rqps | 每个不受信任解析器每秒的最大 DNS 查询数 | amass enum -rqps 10 -d example.com |
-scripts | 包含 ADS 脚本的目录的路径 | amass enum -scripts PATH -d example.com |
-timeout | 执行枚举的分钟数 | amass enum -timeout 30 -d example.com |
-tr | 受信任的 DNS 解析器的 IP 地址(可以多次使用) | amass enum -tr 8.8.8.8,1.1.1.1 -d example.com |
-trf | 提供可信 DNS 解析器的文件的路径 | amass enum -trf data/trusted.txt -d example.com |
-trqps | 每个可信解析器每秒的最大 DNS 查询数 | amass enum -trqps 20 -d example.com |
-v | 输出状态/调试/故障排除信息 | amass enum -v -d example.com |
-w | 用于暴力破解的不同单词列表文件的路径 | amass enum -brute -w wordlist.txt -d example.com |
-wm | 用于 DNS 暴力破解的“hashcat 式”字表掩码 | amass enum -brute -wm ?l?l -d example.com |
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)