webamon-org/webamon-cli

GitHub: webamon-org/webamon-cli

一款命令行威胁情报搜索与狩猎工具,通过 Webamon API 提供大规模扫描语料检索、按需扫描、泄露凭证查询和钓鱼活动追踪能力。

Stars: 10 | Forks: 0

# Webamon Search CLI **威胁情报界的 Google** 一个功能强大的 Webamon Search API 命令行界面。支持大规模网络搜索与威胁狩猎。返回无偏见、未过滤的结果。 **你能做什么:** - 🔎 **搜索** —— 通过域名、IP、URL、哈希值或标签搜索扫描语料库 —— 或使用完整的 Lucene 查询 - 🛰️ **扫描** —— 按需扫描任意 URL,并获取报告或截图 - 🔑 **Infostealers** —— 按域名搜索被盗凭证 - 🎯 **Campaigns** —— 跟踪钓鱼/恶意软件资产:域名清单、变更历史、分析师标签和统计信息 *(Pro)* - 📡 **Clusters** —— 新兴威胁雷达:自动检测到但尚未提升为 Campaigns 的指纹集群 *(Pro)* - 📤 **导出** —— 将任何结果集导出为 JSON、CSV 或 Markdown 格式 ## 安装 ### 从 PyPI 安装 ``` pip install webamon-cli ``` ### 全局安装 (Linux/macOS) **推荐:通过包管理器安装** ``` # Ubuntu/Debian sudo apt update && sudo apt install pipx pipx install webamon-cli pipx ensurepath # Fedora/CentOS/RHEL sudo dnf install pipx pipx install webamon-cli pipx ensurepath # macOS brew install pipx pipx install webamon-cli pipx ensurepath # Arch Linux sudo pacman -S python-pipx pipx install webamon-cli pipx ensurepath ``` **备选:从源码安装** 如果你需要最新的开发版本,或者包管理器无法正常工作: 1. 首先安装 pipx: ``` # Ubuntu/Debian: sudo apt install pipx # Fedora/CentOS: sudo dnf install pipx # macOS: brew install pipx # Arch: sudo pacman -S python-pipx ``` 2. 克隆并安装: ``` git clone https://github.com/webamon-org/webamon-cli.git cd webamon-cli pipx install . pipx ensurepath ``` **验证安装:** ``` # 测试安装 webamon --help # 如果提示 command not found,请添加到 PATH: export PATH="$HOME/.local/bin:$PATH" # 然后重启你的终端或运行: source ~/.bashrc # Linux # 或 source ~/.zshrc # macOS ``` ### 开发安装 用于开发工作: ``` git clone https://github.com/webamon-org/webamon-cli.git cd webamon-cli python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e . ``` ## 快速开始 **全局安装:** ``` # Ubuntu/Debian sudo apt install pipx && pipx install webamon-cli # Fedora/CentOS sudo dnf install pipx && pipx install webamon-cli # macOS brew install pipx && pipx install webamon-cli ``` **🚀 立即开始搜索 —— 就是这么简单!** 使用显式的搜索命令: ``` webamon search example.com # Search for example.com webamon search malware # Search for malware webamon search nrd_20250801 # Search latest domain registrations ``` **其他命令:** ``` webamon search example.com # Explicit search command webamon configure # Configure API key for pro features webamon status # Test connection webamon scan https://example.com # Scan a website ``` ## 用法 ### API Endpoints **Webamon Search —— 威胁情报界的 Google** CLI 会自动使用适当的 endpoint: - **免费版**: `search.webamon.com`(无需 API 密钥) - **Pro 版**: `pro.webamon.com`(需要 API 密钥) ### 配置 可以通过以下几种方式配置 CLI: 1. **交互式配置:** ``` webamon configure ``` 2. **环境变量:** ``` export WEBAMON_API_KEY="your-api-key" # Optional, enables pro features ``` 3. **命令行选项:** ``` webamon --api-key your-key search example.com domain.name ``` 4. **配置文件:** CLI 会在以下位置查找配置: - `~/.webamon/config.json` - 当前目录下的 `.webamon.json` ### 命令 #### Search 搜索 Webamon 威胁情报数据库: ``` # 搜索 domains、IPs、URLs 等: webamon search example.com # Search for example.com webamon search malware # Search for malware webamon search 1.1.1.1 # Search for IP address webamon search nrd_20250801 tag # Search in specific field ``` **工作原理:** - `webamon search ` - 基础搜索 - `webamon search ` - 在特定字段中搜索 - `SEARCH_TERM`:你要搜索的内容(域名、IP、URL、哈希值等) - `RESULTS`:以逗号分隔的搜索字段列表 - **默认搜索字段**:`page_title,domain.name,resolved_url,dom,tag` - **自定义搜索字段**:指定你自己的字段列表 - `--fields`:以逗号分隔的返回字段列表(与搜索字段分开) - **默认返回字段**:未指定时与搜索字段相同 💡 **在表格视图中,搜索匹配项会以黄色背景高亮显示。** **示例:** ``` # 基本搜索 webamon search example.com # 在特定 fields 中搜索 webamon search example.com domain.name,resolved_url # 自定义返回 fields webamon search example.com --fields page_title,domain.name # 同时使用自定义搜索和返回 fields webamon search example.com tag --fields page_title,domain.name # 不同的输出格式 webamon search example.com --format json webamon search example.com --format csv # 导出结果 webamon search example.com --export results.json webamon search example.com --format csv --export analysis.csv ``` **分页(仅限 Pro 用户):** ``` # 使用默认 fields 限制结果 webamon search example.com --size 25 # 使用默认 fields 并利用 offset 进行分页 webamon search example.com --from 25 --size 25 # 结合自定义 fields 使用 offset webamon search example.com domain.name,resolved_url --from 25 --size 25 # 使用默认 fields 跳过前 100 条结果 webamon search example.com --from 100 --size 50 # 浏览大型结果集 webamon search "*.bank.com" --from 0 --size 100 ``` **Lucene 搜索:** ``` # 高级 Lucene 查询 webamon search --lucene 'domain.name:"bank*" AND scan_status:success' --index scans # 指定要返回的 fields webamon search --lucene 'domain.name:"example.com"' --index scans --fields domain.name,page_title ``` #### Scan 发起网站扫描: ``` # 扫描 domain webamon scan example.com # 扫描并自动获取 report webamon scan example.com --fetch-report # 扫描完整 URL webamon scan https://example.com/login # 获取 report 时使用 JSON 输出 webamon scan example.com --format json --fetch-report ``` #### Report 通过 ID 获取特定的扫描报告: ``` # 获取 report 详情(默认为 JSON 格式) webamon report bf18c02d-ff0e-46a9-9a59-5b7b94fb27fb # 使用 Table 格式以获得可读摘要 webamon report bf18c02d-ff0e-46a9-9a59-5b7b94fb27fb --format table ``` #### Infostealers 按域名搜索被盗凭证: ``` # 搜索泄露的凭证 webamon infostealers example.com # 搜索带有连字符的 domain(自动加引号) webamon infostealers bank-site.com # 获取更多结果(Pro 用户) webamon infostealers example.com --size 50 # 指定要返回的 fields webamon infostealers example.com --fields domain,username,password # JSON 输出 webamon infostealers example.com --format json # CSV 输出(自动导出到文件) webamon infostealers example.com --format csv # 导出到自定义文件 webamon infostealers example.com --export compromised_creds webamon infostealers example.com --format csv --export creds.csv ``` #### Screenshot 获取扫描截图: ``` # 获取 screenshot 信息 webamon screenshot bf18c02d-ff0e-46a9-9a59-5b7b94fb27fb # 将 screenshot 保存到文件 webamon screenshot bf18c02d-ff0e-46a9-9a59-5b7b94fb27fb --save screenshot.png ``` #### Status 检查 API 连通性: ``` webamon status ``` #### Fields 发现可用的扫描字段: ``` # 显示所有可用的 fields webamon fields # 搜索特定的 fields webamon fields --search domain # 按类别显示 fields webamon fields --category certificate # 以简单列表形式获取 fields webamon fields --search ip --format list ``` #### Campaigns Campaign 情报 —— 跟踪的钓鱼和恶意软件分发资产,及其 域名清单、变更历史和分析师标签。 ``` # 列出已追踪的 campaigns webamon campaigns list webamon campaigns list --search clickfix # free-text filter webamon campaigns list --tag phishing # filter by analyst tag webamon campaigns list --size 50 --from 50 # paginate # 单个 campaign 的完整详情(通过 id 或确切名称) webamon campaigns show 337271a6... webamon campaigns show "ClickFix Fake-Cloudflare" # 某个 campaign 的 Domain inventory webamon campaigns domains 337271a6... webamon campaigns domains 337271a6... --online true # live domains only webamon campaigns domains 337271a6... --q login # substring filter webamon campaigns domains 337271a6... --sort last_seen --order desc webamon campaigns domains 337271a6... --since 2026-07-01 # date window # Change history webamon campaigns changes 337271a6... # one campaign webamon campaigns changes # all campaigns (stream) webamon campaigns changes --dim domains --since 2026-07-01 # only new domains webamon campaigns changes 337271a6... --exclude-baseline # 使用中的 Analyst tags,及其 campaign 计数 webamon campaigns tags webamon campaigns tags --q click # Estate 统计数据 webamon campaigns stats # global: domains, liveness, top TLDs webamon campaigns stats 337271a6... # scoped to one campaign ``` | 子命令 | 功能说明 | |---|---| | `list` | 跟踪的 Campaigns,最新活动优先 | | `show` | 完整展示单个 Campaign —— 种子查询、总数、样本 | | `domains` | 分页显示域名清单,支持存活状态和日期筛选 | | `changes` | 某个 Campaign 的变更历史,或全资产范围的流数据 | | `tags` | 每个分析师标签及其关联的 Campaigns 数量 | | `stats` | 域名计数、在线/离线划分、TLD 分布 | 所有列表类型的子命令均支持 `--format table|json` 和 `--export FILE` (根据格式不同,可以是 `.json`、`.csv` 或 `.md`)。 #### Clusters 新兴 Clusters —— 检测器自动发现并分组的指纹集群,这些是 **尚未成为跟踪 Campaigns** 的对象。涵盖最新、50–1万个域名,已过滤 样板内容。它们是你的提升候选对象。 ``` # Live radar(直接使用命令即可列出) webamon clusters webamon clusters list # 按严重程度进行 Triage webamon clusters list --severity critical webamon clusters list --severity high --sort recent_7d # 按 fingerprint 类型和 size band 过滤 webamon clusters list --type links --min-domains 1000 webamon clusters list --type ssl --max-domains 500 # Date windows webamon clusters list --since 2026-07-19 --date-field first_seen webamon clusters list --sort detected_at --include-stale # 一次性枚举整个 live feed(最大 page size) webamon clusters list --size 1000 --format json --export radar # 按严重程度和 fingerprint 类型统计 Radar 总数 webamon clusters summary # 查看单个 cluster 的完整信息 - 通过 cluster_id、fingerprint 或 prefix webamon clusters show ssl:abc123def456 webamon clusters show abc123 # 仅获取 Lucene seed,以便进行提升 webamon clusters show abc123 --seed-only ``` **筛选条件** —— `--severity` (`critical`/`high`/`watch`)、`--type` (`links`/`ssl`/`dom`/`asn`/`scripts`/`tech`/`domains`)、`--min-domains`、 `--max-domains`、`--since`/`--until`(配合 `--date-field` (`first_seen`/`last_seen`/`detected_at`) 使用)、`--sort` (`unique_domains`、 `delta_24h`、`recent_7d`、`first_seen`、`last_seen`、`detected_at`、`severity`)、 `--order`、`--size` (默认 50,最大 1000)、`--from`、`--include-stale`。 表格视图会显示严重程度、指纹类型、域名数量、24小时和7天 增量、首次发现时间、样本诱饵,以及指纹 —— 底部还附带 严重程度分布。使用 `clusters show` 可查看完整对象,包括样本 域名、热门 TLD 和增长序列。 ### 全局选项 - `--api-key`:覆盖 API 密钥 - `--config-file`:使用特定的配置文件 - `--verbose, -v`:启用详细输出模式 ## 示例工作流 ### 安全研究 ``` # 搜索子 domains webamon search "*.example.com" # 扫描可疑 domains webamon scan suspicious-domain.com # 获取被标记站点的 screenshots webamon screenshot --save evidence.png ``` ### 域名情报 ``` # 基本 domain 查询 webamon search example.com domain.name,resolved_url,page_title # 使用 Lucene 进行高级搜索 webamon search --lucene 'domain.name:"example.com" AND scan_status:success' --index scans # 批量 domain 分析 for domain in $(cat domains.txt); do webamon search $domain >> results.json done ``` ### Campaign 分流 *(Pro)* ``` # 过去一天内整个 estate 中发生了什么变动? webamon campaigns changes --since 2026-07-28 # 哪个 campaign 增长最快?然后深入了解。 webamon campaigns list --size 20 webamon campaigns show 337271a6... webamon campaigns stats 337271a6... # 获取 live domains 以便进行阻断 webamon campaigns domains 337271a6... --online true --size 1000 \ --format json --export blocklist ``` ### 提升新兴 Cluster *(Pro)* ``` # 1. 检查 radar,优先查看最严重的 webamon clusters summary webamon clusters list --severity critical --sort recent_7d # 2. 检查候选项 - 示例 domains、TLDs、growth curve webamon clusters show ssl:abc123def456 # 3. 获取其 seed 查询,将其提升为 tracked campaign webamon clusters show abc123 --seed-only # -> fingerprint.ssl:"abc123def456" # 4. 为整个 radar 生成快照以用于报告 webamon clusters list --size 1000 --format json --export radar-$(date +%F) ``` ## 配额与定价 ### 免费版 - **每日 20 次 API 调用** - **每次响应返回 10 条结果** - 基础搜索功能 - 有限的 Infostealer 数据访问 ### Pro 方案 当你达到每日配额时,CLI 会建议你升级到 Pro 以获取更广泛的访问权限: - **创始分析师 (Founding Analyst)**:每日 1,000+ 次调用,每次响应最多 100 条结果 - **企业版 (Enterprise)**:每日 10,000+ 次调用,每次响应最多 500 条结果 - **所有方案**:完整的 Infostealer 数据访问、分页功能、优先支持 如需了解最新的定价和功能,请访问:https://webamon.com/pricing 如果你超出了配额,将会看到包含升级信息的友好错误提示。 ## 配置文件格式 ``` { "api_key": "your-api-key-here", "verbose": false } ``` ## 开发 ### 搭建开发环境 ``` # 克隆并安装 git clone https://github.com/webamon-org/webamon-cli.git cd webamon-cli python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e . ``` ### 构建 ``` python -m build ``` ## 卸载 ### 全局安装卸载 ``` pipx uninstall webamon-cli ``` ### PyPI 安装卸载 ``` pip uninstall webamon-cli ``` ### 开发安装卸载 ``` # 如果使用 pip install -e . 安装 pip uninstall webamon-cli # 删除 repository rm -rf webamon-cli ``` ## 许可证 Apache License 2.0 Copyright 2025 Webamon Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at ``` http://www.apache.org/licenses/LICENSE-2.0 ``` Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ## 贡献 我们欢迎你的贡献!请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详细的指南,包括: - 搭建开发环境 - 代码风格和测试要求 - 提交 Bug 报告和功能请求 - Pull Request 流程和代码审查 快速开始:Fork → 分支 → 编码 → 测试 → Pull Request ## 安全 安全对我们至关重要。请查阅 [SECURITY.md](SECURITY.md) 了解: - 报告安全漏洞 - 用户安全最佳实践 - API 密钥和数据保护指南 - 事件响应流程
标签:Blue Team, GitHub, Python, 威胁情报, 开发者工具, 数据泄露, 文档结构分析, 无后门, 逆向工具