HakTrails – 用于漏洞赏金的子域侦察工具
Haktrails工具是一个基于 Golang 语言的工具,用于查询 SecurityTrails API 数据。 Security Trails 赞助了 Haktrails 工具。 Haktrails 是一个很好的侦察工具。此工具的主要目的是用于子域枚举,但您可以在此枚举之外工作。 Haktrails 的设计方式使其可以与其他工具轻松链接。作为一名安全研究员,您可以将此工具添加到您的漏洞赏金调查桶中。
注意:由于 Haktrails 是一个基于 Golang 语言的工具,所以你的系统上需要有一个 Golang 环境。因此,请查看此链接以在您的系统中安装 Golang – 如何在 Linux 中安装 Go 编程语言
Haktrails 工具的特点
- 标准输入,便于工具链接
- 子域发现
- 关联的根域发现
- 关联的 IP 发现
- 历史 DNS 数据
- 历史whois数据
- DSL 查询(目前是原型)
- 公司发现(发现任何域的所有者)
- Whois(返回任何给定域的 JSON whois 数据)
- Ping(检查您当前的 SecurityTrail 的配置/密钥是否有效)
- 使用情况(检查您当前的 SecurityTrails 使用情况)
- “JSON”或“list”输出选项,便于工具链
- “ZSH 和 Bash 自动完成”
在 Kali Linux 中安装 Haktrails
第一步:如果您的系统中已经下载了Golang,请通过检查Golang的版本来验证安装,使用以下命令。
go version
第二步:从 Github 获取 Haktrails 存储库或克隆 Haktrails 工具,使用以下命令。
sudo go get github.com/hakluke/haktrails
第三步:将Haktrails工具复制到bin目录下,这样我们就可以方便的使用该工具了,不用golang手动运行该工具,使用如下命令。
sudo cp /root/go/bin/haktrails /usr/local/go/bin/
第 4 步:要获取您的 API 密钥,请访问 https://securitytrails.com/app/signup?plan=api-0 网站并注册您的帐户。您将获得您唯一的 API 密钥;
https://securitytrails.com/app/signup?plan=api-0
第五步:在mkdir ~/.config/haktools/目录下插入运行工具所需的API key,使用如下命令。
sudo mkdir ~/.config/haktools/
第 6 步:(设置配置文件)创建一个 haktrails-config.yml 文件,将在其中插入 API 密钥,使用以下命令。
sudo mousepad ~/.config/haktools/haktrails-config.yml
第七步:验证haktrails是否配置成功,使用如下命令。
haktrails
步骤 8:验证您的 API 密钥是否正确插入,使用以下命令。
haktrails ping
如果您收到此 {“success”:true} 响应,则您的密钥配置正确。
了解标志
- -o json 或 -o list: Hakrails 工具可以指定 JSON 或列表格式的输出。列表格式是输出的默认格式。子域、关联域和关联 IP 与列表格式兼容。所有剩余的端点都与 JSON 格式兼容。
- -t
: Haktrails 工具允许手动设置线程数。这将指定在同一时间实例中可以处理多少个域。 - -c <文件路径>: Haktrails 工具允许使用 -c <文件路径> 标志在任何文件位置设置配置文件。
- -type
: Haktrails 工具具有历史 DNS 查找的功能,因此要设置使用 -type标志。其他可用类型包括 a、aaaa、mx、ns、soa、txt。
注意:使用此工具,可以通过大量 API 积分直接使用。例如,如果 target_domains.txt 中有超过 10,000 个域,则运行 cat target_domains.txt | haktrails 子域将使用 10,000 个积分。还值得注意的是,某些功能(例如关联域)将使用多个 API 请求。例如,echo “geeksforgeeks.org” | haktrails 关联域会使用大约 20 个 API 请求,因为数据是分页的,而且 geeksforgeeks.org 有许多关联域。
使用 Haktrails 工具
内容或目标域在domains.txt 文件中列出。在下面的屏幕截图中,显示了domains.txt 的内容。
示例 1:收集关联域
“收集关联域名”是指仅获取同一家公司收购或拥有的域名。我们将在我们的domains.txt 文件中收集每个指定域的所有关联域。
cat domains.txt | haktrails associateddomains
示例 2:收集关联的 IP
在此示例中,我们将收集公司拥有的 IP 地址或 IP 范围。我们将指定域列表并查找 IP 地址。
cat domains.txt | haktrails associatedips
示例 3:Ping
Ping 属性检查我们的 API 密钥是否正常工作。如果它有任何问题,那么 ping 将返回一个错误。
haktrails ping
示例 4:获取历史 DNS 数据
在此示例中,我们将尝试为目标域或公司收集重要的历史或过去的 DNS(域名系统)数据。
cat domains.txt | haktrails historicaldns
示例 5:获取公司详细信息
获取有关公司的详细信息非常重要。因此,在此示例中,我们将尝试获取公司详细信息并更简要地探索该公司。
cat domains.txt | haktrails company
示例 6:获取域详细信息
在此示例中,我们将收集有关指定域的详细信息,包括 DNS 记录、域的 Alexa 排名和上次查看时间。
cat domains.txt | haktrails details
示例 7:获取 whois 数据
WHOIS 数据或记录在渗透域时非常重要。因此,收集whois 数据也是至关重要的工作。所以在这个例子中,我们将收集域的 Whois 数据。输出以 JSON 格式显示。
cat domains.txt | haktrails whois
示例 8:获取域标签
在本例中,我们将返回特定目标域的标签。
cat domains.txt | haktrails tags
示例 9:获取 API 使用数据
在此示例中,我们将返回 SecurityTrails 帐户上 API 的信息或使用数据。
haktrails usage
示例 10:检查您的 API 密钥
以下命令将 Ping SecurityTrails 以检查您的 API 密钥是否正常工作。
haktrails ping
示例 11:显示一些普通的 ASCII 艺术
横幅是展示工具设计的创造性艺术。所以在这个例子中,我们将使用横幅来显示一个花哨的横幅或 ASCII 艺术
haktrails banner
示例 12:获取子域
Haktrails 具有收集与目标域相关的子域的功能。所以在这个例子中,我们将为我们的domains.txt文件收集子域
cat domains.txt | haktrails subdomains