daniyalnasir-root/scopesift

GitHub: daniyalnasir-root/scopesift

scopesift 是一个通过 DNS、TLS 与 HTTP 指纹验证资产程序归属的验证工具。

Stars: 0 | Forks: 0

# scopesift **Bug Bounty 与渗透测试项目的资产归属验证工具** *“这些资产中,到底有哪些真正属于该目标项目?”* ![Go 版本](https://img.shields.io/badge/go-1.21%2B-00ADD8.svg) ![许可证](https://img.shields.io/badge/license-MIT-green.svg) ![状态](https://img.shields.io/badge/status-active-success.svg) ## 概述 Bug bounty 项目和渗透测试的范围通常会列出数十个域名。其中一些是公司完全拥有的绝对范围内的资产;一些是分配了子域名后被遗忘的第三方 SaaS(如 Heroku apps、Netlify sites、Zendesk 帮助中心);还有一些完全是配置错误。第三类正是机会所在:子域名接管、泄露的资产、被遗忘的测试环境,以及范围界定偏差。 `scopesift` 会读取一个范围文件,通过 DNS + TLS + HTTP 探测每个资产,并根据你提供的项目标识来评估其关联证据的强度。它会优先排序 SUSPICIOUS(可疑)级别的资产,让你在被大量明确的 HIGH(高置信度)级别淹没之前,先看到那些真正有趣的资产。 专为那些拿到资产范围列表后,想在正式开始之前进行一分钟快速检查的猎手而打造。 ## 功能特性 - 一次性完成 DNS + CNAME、TLS 证书(SAN / 颁发者 / Subject 组织)以及 HTTP HEAD 指纹识别 - 对每个资产的各类证据源进行关键词匹配及评分 - 四级置信度:HIGH、MEDIUM、LOW、SUSPICIOUS - 内置第三方主机指纹库(Heroku、Netlify、Vercel、GitHub Pages、Azure、S3、Fastly 等) - 支持并行探测及可选的 JSON 导出 ## 安装说明 ``` git clone https://github.com/daniyalnasir-root/scopesift.git cd scopesift go build -o scopesift . ``` 或者直接安装到 `$GOPATH/bin`: ``` go install github.com/daniyalnasir-root/scopesift@latest ``` 要求 Go 1.21 或更高版本。 ## 用法 使用项目关键词对范围文件进行基础扫描: ``` ./scopesift -i scope.txt -p 'hackerone,hackerone inc' ``` 导出为 JSON 格式: ``` ./scopesift -i scope.txt -p 'gitlab' -o results.json ``` 针对大型列表调整并发和超时时间: ``` ./scopesift -i big-scope.txt -p 'shopify' -c 50 -t 15s ``` 适配管道流(无颜色输出),以便用于 CI 或后续处理: ``` ./scopesift -i scope.txt -p 'acme' --no-color | grep SUSPICIOUS ``` 范围文件为纯文本,每行一个资产。空行和以 `#` 开头的注释会被忽略。URL 会自动去除其 scheme。 ## 命令行选项 ``` Required: -i scope file, one asset per line -p program keyword(s) to match against cert/DNS/HTTP evidence Optional: -o write full JSON output to file -c concurrent workers (default 20) -t per-probe timeout (default 10s) -v verbose stderr logging --no-color disable color (also honours NO_COLOR env) -h show help ``` ## 置信度评分 每个关键词对每个资产最多贡献 3 分: | 证据类型 | 分数 | 示例 | |-----------------|--------|---------| | 证书 SAN 匹配 | +3 | SAN `hackerone.com` 匹配关键词 `hackerone` | | 证书 Subject 组织 | +3 | 证书 Subject 组织 "HackerOne Inc." 匹配 `hackerone inc` | | CNAME 匹配 | +2 | CNAME 解析到项目拥有的域名 | | HTTP Server | +1 | `Server` header 包含关键词 | | 重定向目标 | +1 | `Location` header 包含关键词 | 级别划分: - **HIGH**:分数 ≥ 3。具有强烈的归属证据。 - **MEDIUM**:分数 1–2。有一定信号但不足以确证。 - **LOW**:分数 0,且未匹配到任何第三方指纹。 - **SUSPICIOUS**:分数 0,但该资产解析到了已知的第三方主机(如 Heroku、Netlify、Vercel 等)。这些才是值得关注的对象。 - **UNRESOLVED**:DNS 解析失败。 结果排序为 SUSPICIOUS → HIGH → MEDIUM → LOW → UNRESOLVED,让最有趣的项浮现在最前面。 ## 输出示例 ``` # ./scopesift -i examples/scope-mixed.txt -p 'hackerone' -o examples/mixed-results.json ASSET CONFIDENCE SCORE FINGERPRINT EVIDENCE -------------------- ------------ ------ ------------------------------ -------------------- netlify.app SUSPICIOUS 0 Netlify third-party:netlify.app hackerone.com HIGH 3 cloudflare cert-san:hackerone.com www.hackerone.com HIGH 3 cloudflare cert-san:hackerone.com google.com LOW 0 gws github.com LOW 0 github.com example.com LOW 0 cloudflare summary: 6 assets | HIGH=2 MEDIUM=0 LOW=3 SUSPICIOUS=1 UNRESOLVED=0 ``` 在包含 50 个资产的范围列表中,使用默认并发的典型运行耗时: ``` $ time ./scopesift -i scope-50.txt -p 'acme' ... real 0m6.412s user 0m0.204s sys 0m0.088s ``` ## 工作原理 对于每个资产: 1. 如果是 IP,则跳过 DNS。否则解析 A/AAAA 记录,并捕获任何 CNAME。 2. 建立到 `:443` 的 TLS 连接(跳过证书验证;我们只进行审查,不建立信任),并读取叶子证书的 SAN 列表、颁发者的 CN/O,以及 Subject 的 CN/O。 3. 首先向 `https://` 发送 HTTP HEAD 请求,如果失败则回退到 `http://`。记录 `Server` 和 `Location` header。 4. 根据每个关键词对各个证据源进行评分并分类。 5. 输出排序后的表格,并可选择将原始结果导出为 JSON。 所有探测均通过 worker pool 并行运行。默认值 `20` 对大多数 ISP 来说是一个安全的下限;如果列表很大,可以适当调高 `-c`。 ## 注意事项 - 该工具不会暴力枚举子域名、进行端口扫描,或发送任何类似于漏洞利用 payload 的内容。它纯粹是基于三种标准协议的指纹识别。 - 证书检查使用了 `InsecureSkipVerify`,因此自签名或过期的证书依然能提取出证据。这是有意为之。 - 使用 HEAD 而不是 GET 可以最小化带宽和服务器负载。某些服务器会拒绝 HEAD 请求;这些请求在结果中会显示为空的 Server 值,这并不影响评分逻辑。 - Whois 未包含在默认流程中,因为域名注册商的限速非常严格,且其信号与证书中的组织信息存在重叠。如果大家确实有需求,我很乐意通过添加一个 flag 来启用该功能。 ## 法律免责声明 该工具仅用于授权的安全测试和教育目的。 请仅对你拥有或获得明确书面测试授权的系统使用此工具。 作者不对任何滥用行为承担责任。未经授权的扫描可能违反 地方、州或联邦法律。 ## 关于作者 [Daniyal Nasir](https://www.daniyalnasir.com) 是一名资深的 **网络安全顾问**、**渗透测试专家** 以及 **VAPT(漏洞评估与渗透测试)顾问**,拥有 10 年以上的 **攻防安全**、**道德黑客** 和 **Bug Bounty 挖掘** 实战经验。他曾为财富 500 强企业和高速增长的 SaaS 平台提供过 **Web 应用渗透测试**、**API 安全测试**、**网络渗透测试**、**移动应用安全评估** 以及 **云安全审计** 服务,业务遍及 **中东、亚洲、欧洲和北美**。持有 **OSCP**、**LPT**、**CPENT**、**CEH**、**CISA**、**CISM** 以及 **CASP+** 认证。 - LinkedIn: https://www.linkedin.com/in/daniyalnasir - Website: https://www.daniyalnasir.com ## 许可证 MIT,详见 [许可证](LICENSE)。
标签:EVTX分析, GitHub, Go语言, 子域名接管, 安全工具, 实时处理, 渗透测试, 漏洞挖掘, 程序破解, 资产测绘