Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
opensquat — OSINT工具,通过监控新注册域名并与品牌关键词进行比对,结合DNS和VT验证,检测域名抢注、错别字域名及钓鱼仿冒网站。 | Kitploit
工具/GitHubGitHub/atenreiro/opensquat
OSINT (开源情报)信息收集钓鱼攻击威胁情报DNS 分析
GitHubatenreiro/opensquat

opensquat

OSINT工具,通过监控新注册域名并与品牌关键词进行比对,结合DNS和VT验证,检测域名抢注、错别字域名及钓鱼仿冒网站。

查看仓库
980160842个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

openSquat 标志

openSquat 核心

Python 3.10+ License: GPL v3 GitHub issues GitHub stars


📑 目录

  • 什么是 openSquat?
  • 特色亮相
  • 开放核心模型
  • 主要功能
  • 快速开始
  • 系统要求
  • 用法
  • 高级和 API 模式
  • 配置
  • 自动化
  • CLI 参考
  • 贡献
  • 作者
  • 许可证

🎯 什么是 openSquat?

openSquat 是一个**开源情报(OSINT)**安全工具,用于识别针对您品牌或域名的网络抢注威胁:

威胁类型描述
🎣 网络钓鱼模仿您品牌的欺诈域名
🔤 域名抢注包含常见拼写错误的域名(例如 gooogle.com)
🌐 IDN 同形字其他字母表中外形相似的字符
👥 双胞胎域名包含您品牌名称的域名
🔀 位翻转抢注域名中的单比特错误

🌟 特色亮相

"品牌保护的一把强力瑞士军刀" — WhoisXML API 博客,2022年8月

"一款拥有强大能力来对抗域名抢注及所有相关网络恶意行为的工具。" — WhoisXML API 博客,2022年8月

"一款收集新注册域名信息的便捷工具。" — 排名前 5 的钓鱼检测工具 — SOCRadar 博客,2022年7月

"openSquat 通过自动化监控与检测,为域名抢注和钓鱼攻击提供了基本保护。" — Prince Yadav,TutorialsPoint,2026年3月

学术引用

"OpenSquat 识别了 103 个抢注域名、960 个活跃的钓鱼网站以及 53 个拥有可疑证书的域名。" — Sharma 等人,信息安全与网络犯罪研究杂志 (JISCR),第 7 卷,第 1 期,2024 年 6 月


🔓 开放核心模型

openSquat 采用开放核心模型:

  • 核心检测引擎 — 开源且由社区驱动
  • 高级功能 — 通过商业情报服务提供

这种模式实现了透明度和社区协作,同时支持企业级使用所需的规模、可靠性和运营要求。


✨ 主要功能

  • 📅 每日 NRD 数据源 — 自动更新新注册域名
  • 🔍 相似性检测 — 莱文斯坦距离算法
  • 🔓 三种操作模式 — 社区版(免费数据源)、高级数据源(付费数据源,相同本地管道)或 高级 API(托管式相似域名服务)。两种高级模式共享同一个 openSquat API 密钥 — 详见高级和 API 模式。
  • 🛡️ VirusTotal 集成 — 检查域名信誉
  • 🌐 Quad9 DNS 验证 — 识别恶意域名
  • 📜 证书透明度 — 监控 SSL/TLS 证书
  • 📊 多种输出格式 — TXT、JSON、CSV

🚀 快速开始

通过 pip 安装(推荐)

pip install opensquat
opensquat -k keywords.txt

或克隆仓库

git clone https://github.com/atenreiro/opensquat
cd opensquat
pip install -r requirements.txt
python3 opensquat.py -k keywords.txt

仓库用户: 在以下所有示例中,将 opensquat 替换为 python3 opensquat.py 以从克隆的检出中运行。


📦 系统要求

  • Python 3.10+
  • 依赖项:confusable_homoglyphs, homoglyphs, colorama, requests, dnspython, beautifulsoup4

📖 用法

基本命令

# 默认运行
opensquat

# 显示所有选项
opensquat -h

# 使用自定义关键词文件
opensquat -k my_keywords.txt

验证选项

# 通过 Quad9 进行 DNS 验证
opensquat --dns

# 检查证书透明度日志
opensquat --ct

# 扫描开放端口(80/443)
opensquat --portcheck

# 交叉引用钓鱼数据库
opensquat --phishing results.txt

输出格式

# 保存为 JSON
opensquat -o results.json -t json

# 保存为 CSV
opensquat -o results.csv -t csv

置信度级别

级别标志描述
0-c 0非常高(结果少,准确率高)
1-c 1高(默认)
2-c 2中等
3-c 3低
4-c 4非常低(结果更多,误报更多)

注意: 在 API 端(--api),五个置信度级别映射为四个模糊度值(exact、low、auto、high)—— -c 3 和 -c 4 都映射到 high。有关完整映射以及如何通过 --api-fuzziness 覆盖,请参见高级和 API 模式。


💎 高级和 API 模式

openSquat 支持三种模式。默认模式(社区版)保持不变——现有用户无需添加任何标志。两种高级模式共享同一个 openSquat API 密钥;如果您希望使用相同的本地检测管道但拥有更大的数据源,请选择高级数据源;如果您希望进行服务器端检测而无需下载本地数据源,请选择高级 API。

模式标志功能说明
社区版(默认)无下载免费 NRD 数据源(约每天 10 万个域名)并运行本地莱文斯坦检测。
高级数据源--premium使用您的 openSquat API 密钥下载付费 NRD 数据源(nrd-lite,规模大得多),然后运行相同的本地莱文斯坦检测。
高级 API--api跳过本地数据源下载。针对每个关键词查询 openSquat 相似域名 REST API,返回服务器端匹配结果。

获取 API 密钥

在 opensquat.com 注册以获取密钥。同一个密钥同时适用于高级数据源(--premium)和高级 API(--api)模式。

提供 API 密钥(优先级顺序)

  1. 命令行中 --api-key 你的密钥
  2. OPENSQUAT_API_KEY 环境变量
  3. 当前目录下的 api_key.txt 文件(每个文件一个密钥,允许 # 注释)

CLI 标志在 ps 输出中可见。在共享环境中,请优先使用环境变量或密钥文件。

示例

# 高级数据源模式 — 相同的本地管道,更大的数据源
export OPENSQUAT_API_KEY=os_xxxxxxxxxxxx
opensquat -k keywords.txt --premium

# 高级 API 模式 — 针对每个关键词进行服务器端检测
opensquat -k keywords.txt --api

# 高级 API + 对每个返回的域名进行 DNS 信誉检查
opensquat -k keywords.txt --api --dns

# 高级 API 模式,按关键词分组的 JSON 格式输出
opensquat -k keywords.txt --api -t json -o results.json

# 调整高级 API 搜索参数
opensquat -k keywords.txt --api --api-fuzziness high --api-history-days 7 --api-max-results 200

当 --premium 或 --api 成功加载密钥时,CLI 会打印一行掩码确认信息,以便您验证加载的是哪个密钥而不会泄露它:

[*] API key loaded: os_gL...L5Mb

在高级 API 模式下,运行摘要会报告活动模式、进行的 API 调用次数以及您的剩余额度及使用变化(例如,4972 (used 4 of 4976 this run))。即使调用是并行进行的,每个关键词的进度行也会按照关键词文件中的顺序显示。配额耗尽(HTTP 429)会优雅地返回部分结果;认证错误(401)和计划错误(403)会中止并显示清晰的信息。

如果后端对您的请求进行速率限制(HTTP 429 且包含 Retry-After 头),工具会将其与配额耗尽区分开来:您将看到黄色的 [!] Rate limit hit (retry in Ns) 警告,而不是红色的 quota exhausted 消息,仍会返回部分结果,并且摘要会保留您真实的 API 余额,以便您确切知道使用了多少额度。要在大规模扫描中避免触发速率限制,请传递 --api-rate-limit N 来限制所有工作线程的每秒出站请求数。对于大多数后端,值 8 是一个安全的起点。

# 将所有工作线程的请求速率限制为每秒 8 个
opensquat -k keywords.txt --api --api-rate-limit 8

输出格式建议

对于高级 API 模式,建议使用 JSON 作为输出格式,因为 API 会返回每个域名的元数据,其他格式无法同样清晰地携带:注册的 TLD、NRD 首次出现日期、IDN 同形字标志,以及当域名是同形字时的 Unicode 渲染。

opensquat -k keywords.txt --api -t json -o results.json

高级 API 模式下更丰富输出的示例(已截断):

[
  {
    "keyword": "microsoft",
    "domains": [
      {"domain": "securite-microsoft.fr", "tld": "fr", "date": "09-04-2026", "idn": false},
      {"domain": "xn--mirosoft-hw7c.com", "tld": "com", "date": "09-04-2026", "idn": true, "unicode": "miᴄrosoft.com"}
    ]
  }
]

idn 标志加上 unicode 渲染让您一眼就能看出 xn--mirosoft-hw7c.com 实际上是使用 ᴄ(拉丁文小型大写字母 C)冒充 "microsoft" 中的 'c'——纯 punycode 字符串完全隐藏了这些信息。

也支持 CSV 输出,每个域名一行,包含相同的元数据列,适合在 Excel 或 pandas 中工作的分析师:

opensquat -k keywords.txt --api -t csv -o results.csv

CSV 文件会写入 UTF-8 BOM,使 Windows 上的 Excel 能正确显示 Unicode 同形字列。

社区版和高级数据源模式为了跨模式一致性,会输出相同的 JSON 顶层结构,但每个条目仅填充 domain 字段——NRD 数据源不携带托管 API 才有的每个域名元数据:

[
  {
    "keyword": "microsoft",
    "domains": [
      {"domain": "mirosoft.com"},
      {"domain": "mcrosoft.net"}
    ]
  }
]

如果您传递了 --api-key 但没有同时选择 --premium 或 --api,CLI 会打印一行提示,说明该密钥在社区模式下将被忽略(不会静默切换模式)。

在高级 API 模式下,-c/--confidence 会自动映射为 API 模糊度(0→exact,1→low,2→auto,3→high,4→high)。使用 --api-fuzziness 可覆盖此行为。

高级 API(--api)与 --doppelganger 和 -d/--domains 不兼容。


⚙️ 配置

关键词文件(keywords.txt)

# 以 # 开头的行是注释
mycompany
mybrand
myproduct

VirusTotal API 密钥(vt_key.txt)

要使用 --vt 或 --subdomains,请添加您的 API 密钥:

# 在 https://www.virustotal.com 获取免费 API 密钥
your_api_key_here

openSquat API 密钥(api_key.txt)

--premium 和 --api 需要此文件。在工作目录中创建 api_key.txt 文件:

# 在 https://opensquat.com 获取您的密钥
# 以 # 开头的行会被忽略;使用第一个非注释行。
os_your_key_here

CLI 按以下顺序解析密钥:--api-key 标志 → $OPENSQUAT_API_KEY 环境变量 → api_key.txt 文件。在共享环境中,环境变量和文件方法优于 CLI 标志,因为 CLI 参数可通过 ps 看到。


🤖 自动化

通过 crontab 每日运行:

# pip 安装(推荐)—— 每天早上 8 点,数据源大约在 7:30 UTC 更新
0 8 * * * cd /path/to/workdir && opensquat -k keywords.txt -o results.json -t json
下载工具