KrakenTech-LLC/CrowsNest

GitHub: KrakenTech-LLC/CrowsNest

这是一个集成了 Dehashed 和 Hunter.io API 的 OSINT CLI 工具,支持将查询数据存入本地数据库并进行离线 SQL 分析及子域名扫描。

Stars: 3 | Forks: 0

CrowsNest Logo
### 一个用于无缝与 Dehashed 和 Hunter.io API 交互的 CLI 工具。 ## 🌟 功能 - **输出格式控制**:支持 JSON、YAML、XML 和 TEXT。 - **Regex 和通配符匹配**:灵活的查询选项。 - **本地数据库存储**:默认或自定义路径。 - **数据库查询**:原始 SQL 和过滤查询。 - **增强日志记录**:易于解析和轮换的日志。 - **错误处理**:智能 API 错误管理。 - **WhoIs 查询**:域名、IP、MX、NS 等。 - **子域名扫描**:识别子域名。 - **健壮的日志记录**:用于调试的详细日志。 - **API 密钥管理**:安全地存储和管理 API 密钥。 - **格式化输出**:易于阅读和理解。 - **直观的数据库查询**:查询特定信息。 - **人员和公司信息补充**:检索关于人员和公司的详细信息。 - **邮箱验证**:验证邮箱地址的存在性和质量。 ## 🔰 快速入门 首先,克隆该仓库 ``` git clone https://github.com/Kraken-OffSec/CrowsNest.git cd crowsnest go build crowsnest.go ``` ## 🗄️ 数据库配置 CrowsNest 支持两种数据库存储选项: 1. **默认路径** (default):将数据库存储在 `~/.local/share/crowsnest/db/crowsnest.sqlite` 2. **本地路径**:将数据库存储在当前目录,文件名为 `./crowsnest.sqlite` **本地路径** 选项允许为不同的项目或任务建立独立的数据库。 要配置数据库位置: ``` # 使用当前目录中的本地数据库 ./crowsnest set-local-db true # 使用默认数据库路径 ./crowsnest set-local-db false ``` ## 🌐 Dehashed ### 初始设置 CrowsNest 需要 Dehashed 的 API 密钥。使用以下命令进行设置: ![Alt text](.img/set-dehashed.png "Set Dehashed Key") ``` ar1ste1a@kali:~$ crowsnest set dehashed ``` ### 简单查询 例如,CrowsNest 可以简单地用于查询与给定邮箱域名匹配的凭据。 ![Alt text](.img/simple_query.png "Simple Query") ``` # 为匹配 target.com 的域名提供凭据 crowsnest dehashed -D target.com ``` ### 简单凭据查询 CrowsNest 也可以用于仅返回给定查询的凭据。 ![Alt text](.img/simple_creds_query.png "Creds Only Query") ``` # 为匹配 @target.com 的邮箱提供凭据 crowsnest dehashed -D @target.com -C ``` ### 通配符查询 CrowsNest 能够处理通配符查询。 通配符查询不能以通配符开头。 这是 Dehashed API 的限制。 星号 (*) 可用于表示多个字符,问号 (?) 可用于表示单个字符。
![Alt text](.img/wildcard_query.png "Wildcard Query") ``` # 为匹配 @target.com 和 @target2.com 的邮箱提供凭据 crowsnest dehashed -E @target?.com -C -W ``` ### 邮箱查询 Dehashed 规定应按以下格式搜索邮箱: `email:target.name&domain:target.com`。 因此,要查询邮箱,请使用以下格式(注意,通配符不是必需的,但可能很有用):
*请参阅上方通配符查询中的图片* ``` # 为匹配 target.*@target.com 的邮箱提供凭据 crowsnest dehashed -W -E 'target*' -D target.com ``` 您也可以查询域名并查找邮箱 ``` # 为匹配 target.com 的邮箱提供凭据 crowsnest dehashed -D target.com -C ``` ### 组合查询 CrowsNest 能够组合查询。 当您想要查询与给定邮箱或域名匹配的凭据,但仅针对特定用户名时,这非常有用。 ![Alt text](.img/combining_queries.png "Combined Query") ``` # 为匹配 @target.com 的邮箱且用户名包含 'admin' 的提供凭据 crowsnest dehashed -D target.com -U admin ``` ### Regex 查询 CrowsNest 能够处理 regex 查询。 只需使用 `-R` 标志来指定 regex 查询。 将所有 regex 查询放在引号中,并将相应的查询标志放在单引号中。
!!!! *目前,Regex 运算符似乎损坏。我正在等待 Dehashed 的回复* !!!! ``` # 返回匹配给定正则查询的邮箱的结果 crowsnest dehashed -R -E 'joh?n(ath[oa]n)' -D hotmail.com' ``` ### 输出文本(默认 JSON) CrowsNest 能够处理输出格式。 默认输出格式为 JSON。 要更改输出格式,请使用 `-f` 标志。 CrowsNest 目前支持 JSON、YAML、XML、TEXT 和 GREP 输出格式。 ``` # 返回用户名完全匹配 "admin" 的结果并写入文本文件 'admins_file.txt' crowsnest dehashed -U admin -o admins_file -f txt # 在可 grep 的文件 'admins_file.grep' 中每行返回一条 key=value 记录 crowsnest dehashed -U admin -o admins_file -f grep ``` ### 数据井 DeHashed 数据井可以免费查询,不需要付费的 API 账户。 ``` # 列出第一页的数据井并写入 'data_wells.json' crowsnest dehashed data-wells # 按记录计数排序并每行写入一条 key=value 记录 crowsnest dehashed data-wells --sort records-DESC --count 50 -f grep -o data_wells ``` ## 🌐 WhoIs 查询 CrowsNest 支持 WHOIS 查询、历史搜索、反向 WHOIS 搜索、IP 查询、MX 查询、NS 查询和子域名扫描。 WhoIs 查询需要 Dehashed API 之外的独立 API 额度。 ### 域名查询 CrowsNest 可以对给定域名执行域名查询。 这提供了域名的 WHOIS 信息的树状视图。 ![Alt text](.img/whois_domain.png "WhoIs Tree View") ``` # 对 example.com 执行 WHOIS 查询 crowsnest whois -d example.com ``` ### 历史查询 历史查询需要 25 个额度。 这是 Dehashed API 的限制。 历史查询会立即写入文件,不会显示在终端中,也不会存储在数据库中。 ``` # 对 example.com 执行 WHOIS 历史搜索 crowsnest whois -d example.com -H ``` ### 子域名扫描 CrowsNest 可以对给定域名执行子域名扫描。 这提供了与给定查询匹配的所有子域名的列表。 ![Alt text](.img/whois_subdomain.png "WhoIs Tree View") ``` # 对 google.com 执行 WHOIS 子域名扫描 crowsnest whois -d google.com -s ``` ### 反向 WHOIS 查询 CrowsNest 可以根据给定条件执行反向 WHOIS 查询。 这提供了与给定查询匹配的所有域名的列表。 反向 WHOIS 查询会立即写入文件,不会存储在数据库中。 ![Alt text](.img/whois_reverse.png "WhoIs Tree View") ``` # 对 example.com 执行反向 WHOIS 查询 crowsnest whois -I example.com ``` ### IP 查询 CrowsNest 可以对给定 IP 地址执行反向 IP 查询。 这提供了与给定查询匹配的所有域名的列表。 ![Alt text](.img/whois_ip.png "WhoIs View") ``` # 对 8.8.8.8 执行反向 IP 查询 crowsnest whois -i 8.8.8.8 ``` ### MX 查询 CrowsNest 可以对给定 MX 主机名执行 MX 查询。 这提供了与给定查询匹配的所有域名的列表。 ![Alt text](.img/whois_mx.png "WhoIs Tree View") ``` # 对 google.com 执行反向 MX 查询 crowsnest whois -m stmp.google.com ``` ### NS 查询 CrowsNest 可以对给定 NS 主机名执行 NS 查询。 这提供了与给定查询匹配的所有域名的列表。 下图还包含 --debug 全局标志。 ![Alt text](.img/whois_ns.png "WhoIs Tree View") ``` # 对 google.com 执行反向 NS 查询 crowsnest whois -n google.com ``` ## 🌐 Hunter.io CrowsNest 支持 Hunter.io 查询。 Hunter.io 查询需要与 Dehashed API 不同的 API 密钥。 可以使用 `set hunter` 命令进行设置。 ![Alt text](.img/set-hunter.png "Set Dehashed Key") ``` # 设置 Hunter.io API key crowsnest set hunter ``` ### 域名搜索 CrowsNest 可以对给定域名执行域名搜索。 这提供有关公司的信息,包括描述、社交媒体信息以及使用的任何技术。
![Alt text](.img/hunter_domain.png "Hunter.io Domain Search") ``` # 对 example.com 执行 Hunter.io 域名搜索 crowsnest hunter -d example.com -D ``` ### 邮箱验证 CrowsNest 可以对给定邮箱执行邮箱验证搜索。 这提供给定邮箱地址的验证和评分。 ![Alt text](.img/hunter_emailverification.png "Hunter.io Email Verification") ``` # 对 example@target.com 执行 Hunter.io 邮箱验证搜索 crowsnest hunter -e example@target.com -V ``` ### 公司信息补充 CrowsNest 可以对给定域名执行公司信息补充搜索。 这根据域名提供有关公司的信息。 ![Alt text](.img/hunter_company.png "Hunter.io Company Enrichment") ``` # 对 example.com 执行 Hunter.io 公司丰富搜索 crowsnest hunter -d example.com -C ``` ### 邮箱查找 CrowsNest 可以对给定域名、名字和姓氏执行邮箱查找搜索。 这提供有关用户的信息,包括置信度分数,以及与名字、姓氏和邮箱关联的任何社交媒体帐户。 ![Alt text](.img/hunter_emailfind.png "Hunter.io Email Finder") ``` # 对 example.com 执行 Hunter.io 邮箱查找搜索 crowsnest hunter -d example.com -F John -L Doe -E ``` ### 人员信息补充 CrowsNest 可以对给定邮箱执行人员信息补充搜索。 这根据邮箱地址提供有关用户的信息。 ![Alt text](.img/hunter_person.png "Hunter.io Person Enrichment") ``` # 对 example@target.com 执行 Hunter.io 人员丰富搜索 crowsnest hunter -e example@target.com -P ``` ### 组合信息补充 CrowsNest 可以对给定邮箱执行组合信息补充搜索。 这是根据邮箱地址进行的公司和人员信息补充的组合。 ![Alt text](.img/combined_enrichment_1.png "Hunter.io Combined Enrichment") ![Alt text](.img/combined_enrichment_2.png "Hunter.io Combined Enrichment") ``` # 对 example@target.com 执行 Hunter.io 组合丰富搜索 crowsnest hunter -e example@target.com -B ``` ## 调试 CrowsNest 支持调试。这可以通过在根命令中使用 `--debug` 标志来启用。 ![Alt text](.img/crowsnest_debugging_global.png "Debugging") ``` # 对 example@target.com 执行 Hunter.io 组合丰富搜索并启用调试 crowsnest --debug hunter -e example@target.com -B ``` ## 📊 数据库查询 CrowsNest 将查询结果存储在本地数据库中。 可以查询该数据库以获取先前的结果。 当您想要查询特定信息时,这非常有用。 该数据库还包括 WhoIs 信息和子域名扫描结果,但**不**包括历史查询。 ## 简单查询 #### 可以使用简写查询数据库,而无需了解任何 SQL。 #### 以下查询 results 表中 username 不为空的行,仅显示 username、email 和 password 列。 ![Alt text](.img/query_simple.png "Simple Query") #### 您也可以使用 `-q` 标志添加简单查询。以下内容显示 email 列上的 'LIKE' 子句。 #### 注意仍然需要 '%\%'。 ![Alt text](.img/query_where.png "Simple Query") ``` # 查询数据库中用户名包含 'admin' 的所有结果 crowsnest query -t results -q "username LIKE '%admin%'" ``` ## 原始 SQL 查询 ![Alt text](.img/query_raw.png "Raw Query") CrowsNest 还支持原始 SQL 查询。当您想要查询特定信息时,这非常有用。 ``` # 查询数据库中用户名包含 'admin' 的所有结果 crowsnest query -r "SELECT * FROM results WHERE username LIKE '%admin%'" ``` ## 查询选项 CrowsNest 支持许多查询选项。这些选项可用于过滤查询结果。 ``` # 查询数据库中用户名包含 'admin' 的所有结果 crowsnest query -t results -q "username LIKE '%admin%'" -n username,email,password ``` ## 列出表和列 CrowsNest 支持列出所有可用的表和列。 当您想要查询特定信息时,这非常有用。 ![Alt text](.img/query_alltables.png "List All Tables") ``` # 列出所有可用的表和列 crowsnest query -a ``` 当前可用于查询的表有: - results - 来自 dehashed 查询的结果 - creds - 从 dehashed 结果解析的凭据 - whois - whois 记录查询的结果 - subdomains - 在 whois 子域名扫描中发现的子域名 - runs - 以前对 dehashed API 的查询运行 - lookup - 任何 WhoIs NS、MX 或 IP 查询的结果 - hunter_domain - hunter.io 域名搜索的结果 - hunter_email - 从域名搜索和邮箱查找器中提取的结果。 # 导出结果 CrowsNest 支持将结果导出到文件。 当您想要在不接触 Dehashed API 的情况下重新查询特定信息时,这非常有用。 export 子命令支持与 query 子命令相同选项。 export 子命令还支持文件命名和输出格式控制。 ![Alt text](.img/export_raw.png "Export Results") ``` # 将用户名包含 'admin' 的所有结果导出到文本文件 crowsnest export -t results -q "username LIKE '%admin%'" -o admins_file -f txt ``` ## 🐛 调试 CrowsNest 使用 `zap` 日志库进行日志记录。日志存储在 `~/.local/share/crowsnest/logs` 中。 可以轻松地从 crowsnest CLI 查询日志。 ### 按日期过滤 #### CrowsNest 利用 'easy time' 来确定给定查询的适当时间。 ![Alt text](.img/easy_time_parsing.png "Easy Time") #### 您也可以使用与 easy time 混合的日期来执行查询。 ![Alt text](.img/mixed_time_query.png "Mixed Time") #### 支持以下格式: - `last 24 hours` - `last 2 days` - `30 minutes ago` - `45 seconds ago` - `1 week ago` - `05-01-2025` - `05/01/2025` - `05/01/25` - `05-01-25` - `May 01, 2025` ``` # 显示最后 10 条日志 crowsnest logs -l 10 # 显示过去 24 小时内的日志 crowsnest logs -s "last 24 hours" # 显示过去 24 小时内严重性为 error 或 fatal 的日志 crowsnest logs -s "05-01-2025" -v error,fatal ``` ## 🤝 贡献 欢迎贡献!提交 pull request 以帮助改进 CrowsNest。 ## [请我喝杯咖啡](https://buymeacoffee.com/ehosinskiz)
Ar1ste1a
## **释放海怪**
标签:API密钥管理, API集成, Dehashed, ESC4, EVTX分析, GitHub, Go语言, Hunter.io, JSON, OISF, OSINT, SQLite, SQL语法, WhoIs查询, XML, YAML, 人员情报, 企业情报, 可观测性, 多平台, 子域名扫描, 安全库, 数据导出, 数据库查询, 日志审计, 日志管理, 本地存储, 正则匹配, 程序破解, 通配符, 邮箱验证