关于 offensive-osint
offensive-osint 是面向授权外部红队侦察的操作型技能索引,供需要具体探测资料的安全人员使用。它按需加载 15 个主题参考文件,并提供置信度、证据记录与严重性评估规范。
主要功能
- 01按主题加载侦察参考资料
- 02提供端点探测路径与字典
- 03涵盖秘密模式与只读验证
- 04提供发现项严重性评估规则
- 05规范证据与置信度记录
适用场景
- 01为获授权资产规划外部侦察
- 02查找特定 API 或云存储探测路径
- 03分析发现的凭据与秘密
- 04按统一规则评估侦察结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ uphiago/ recon-skills --skill offensive-osint安装后在 Claude Code 中输入/offensive-osint确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/breach-and-credentials.mddork-corpus.mdhelpers-and-automation.mdidentity-fabric.mdpeople-osint.mdprobes-and-wordlists.mdrecon-stack.mdrecon-techniques.mdsaas-public-surfaces.mdsecret-patterns.mdsecret-validators.mdsector-discovery-mass-recon.mdsector-notes.mdseverity-matrix.mdspecialized-osint.mdtooling-install.mdscripts/secret_scan.pysector_mass_scan.py详细介绍
Offensive OSINT — 外部红队工具库
v3.0 — 于 2026-05-02 将一个 4,168 行的单体文件重构为精简的 SKILL.md(约 400 行)和
references/中的 15 个模块化参考文件。详细内容按需加载——Claude 只会读取与当前任务相关的参考文件。
0. 何时使用 / 何时不要使用
在以下情况下使用此技能:
- 你需要具体的探测路径、字典、正则表达式、载荷、评分规则或命令行 URL。
- 你正在执行侦察,需要实际的技术参考资料(而非方法论)。
- 你正在构建侦察自动化,并需要具体列表为其提供初始数据。
在以下情况下不要使用此技能:
- 用户要求主动利用、利用后活动或任何超出侦察范围的操作。
- 用户要求防御方 / 蓝队检测。
- 尚未确认目标已获授权——请参见 §1。
1. 授权与法律立场
仅适用于操作者拥有或已获得书面评估授权的资产。在针对未经核实的第三方目标采取行动前,应先进行初步范围核查——完整立场请参见方法论技能 §1。
2. 置信度级别
- TENTATIVE(暂定) — 基于间接证据,结果看似合理(仅由搜索摘要匹配到的 dork、单一来源资产、推断出的电子邮件模式)。
- FIRM(较可靠) — 直接观察到(子域名可解析、已通过 HEAD 确认存储桶存在、已返回横幅)。
- CONFIRMED(已确认) — 经独立交叉佐证或直接验证(在线 PMAK 验证、多个来源结论一致、可列出对象且已成功检索)。
3. 输出格式约定
发现结果应包含:id、module、asset_key、category、severity(info/low/medium/high/critical)、confidence、title、description、evidence(url + UTC 时间戳 + sha256 + 不超过 2 KiB 的原始数据)、references、remediation。所有时间戳均使用 UTC。
4. 来源卫生与引用
每项证据都应包含 URL + UTC 时间戳 + SHA-256 + 工具版本 + run_id。PNG 截图、JSONL 运行日志,原始 HTTP 捕获的响应正文上限为 2 KiB。
5. 禁止事项
- 不要将凭据 / PII / 会话令牌粘贴到云端大模型中。
- 不要在 DEEP/
--aggressive之外运行破坏性探测。 - 经验证的凭据只能用于只读存活性检查,不得用于其他用途。
- 不要仅依据单一来源进行归因。
- 不要假定厂商标签就是事实依据。
6. 通用 OSINT(精选工具参考)
- OSINT 书签 — 综合书签集。
- OSINT 框架 — 工具 / 资源目录。
- IntelTechniques 工具 — 调查工具套件。
- Bellingcat 工具包 — 调查新闻工具。
- CyberSudo OSINT 工具包 — OSINT 网站列表。
- Google Dorks — 高效进行 Google 搜索。
- Distributed Denial of Secrets — 泄露数据集。
- 国家/地区专项资源 — 面向特定国家/地区的 OSINT。
如何使用此技能
此技能是一个精简的操作索引。大多数具体数据(词表、正则表达式、搜索语法、端点目录、严重性示例)都存放在按主题整理的 references/ 子文件夹中。
此技能触发时的工作流:
- 阅读此 SKILL.md,了解原则(§0-5)、评分标准(§20-21)、攻击路径模板(§39)以及下方的参考资料索引。
- 对于特定任务的数据,只阅读所需的参考文件——不要全部加载 15 个文件。每个参考文件都是独立的。
- 使用
bug-bounty技能获取~/security-research/bug-bounty-resources/中的本地工具集,并使用osint-methodology获取规划框架。
加载规则参考:
- 单一类别问题(例如,“AWS 密钥的正则表达式是什么?”)→ 只加载
secret-patterns.md。 - 多类别任务(例如,“对 target.com 进行外部侦察”)→ 先加载
probes-and-wordlists.md,然后随着任务范围缩小再添加其他文件。 - 严重性/分流问题 → 加载
severity-matrix.md。
参考资料索引
| 文件 | 覆盖内容 | 触发短语 |
|---|---|---|
probes-and-wordlists.md | API/Swagger/GraphQL 路径、云存储桶工具集、JS 猜测路径、供应商与云原生指纹、K8s/CI-CD 暴露、文档/维基泄露、WHOIS/RDAP、DNS 目录、Wayback CDX、可复制粘贴的 curl 探测、电子邮件安全分析、源站/CDN 绕过 | Swagger 发现、GraphQL 自省、子域名接管、云存储桶枚举、S3/GCS/Azure 枚举、Kubernetes 暴露、CI CD 暴露、供应商指纹、WHOIS RDAP、Wayback CDX、可复制粘贴的探测、curl 单行命令 |
identity-fabric.md | Entra/Okta/ADFS/Google/SAML 的具体端点、M365 深度分析(Teams 联合、SharePoint、OneDrive)、GraphQL 字段建议枚举、用户枚举模式 | 身份体系、SSO 发现、IdP 指纹识别、Okta 枚举、Entra 枚举、Azure AD 枚举、ADFS 枚举、SAML 元数据、Microsoft 365 深度分析、Teams 联合、SharePoint 枚举、OneDrive 枚举、GraphQL 字段建议 |
secret-patterns.md | 48 种模式的密钥正则目录(AWS、GCP、GitHub PAT、Stripe、Slack、JWT、私钥、Anthropic/OpenAI/HuggingFace、Cloudflare、DigitalOcean、npm、PyPI、Docker Hub、Atlassian、DataDog、Sentry、ngrok),附严重性与误报说明 | 密钥扫描、密钥泄露、凭据泄露、JWT 初步判断、AWS 密钥初步判断、Anthropic API 密钥、OpenAI API 密钥 |
secret-validators.md | 9 种只读密钥验证器,以及针对 AWS/GitHub/Slack/Postman/JWT/Anthropic/OpenAI/npm/Atlassian/DataDog 的发现后枚举工作流 | 密钥验证、发现后工作流、AWS 密钥初步判断、JWT 初步判断 |
dork-corpus.md | 涵盖 9 个类别的 80 多个 Google/Bing/DDG dork 模板,以及 13 个针对目标定制的 GitHub 代码搜索 dork | Google dork 搜索、Bing dork 搜索、GitHub dork 搜索、dork 语料库 |
recon-stack.md | 子域名来源工具集(被动与主动)、基础设施与攻击面 OSINT(Shodan/Censys/crt.sh/JARM/favicon mmh3)、TLS 深度审计、反向 DNS、IPv6 枚举 | 子域名枚举、证书透明度、crt.sh、Shodan 侦察、Censys 侦察、JARM、favicon mmh3、TLS 深度审计、JA3 JA4、反向 DNS 扫描、IPv6 枚举 |
breach-and-credentials.md | 泄露与凭据数据源(HudsonRock、HIBP、DeHashed、IntelX、信息窃取程序日志)、电子邮件模式推断、电子邮件采集来源工具集 | 泄露查询、Have I Been Pwned、HudsonRock cavalier、信息窃取程序、DeHashed、IntelX、电子邮件采集 |
people-osint.md | 搜索引擎、用户名与电子邮件调查、人员搜索、电话 OSINT、社交媒体、公共记录与公司信息 | 用户名调查、人员搜索、电话 OSINT、社交媒体 OSINT、公共记录 |
saas-public-surfaces.md | Postman 公开工作区搜索(已验证端点)、Stack Exchange OSINT 扫描、公开 SaaS dork 工具集(Notion、Confluence、Trello) | Postman 工作区、Stack Exchange OSINT、Notion 公开内容、Confluence 匿名访问、Trello 看板 |
specialized-osint.md | 威胁情报与 IOC、加密货币 OSINT、媒体情报、地理空间情报、区域搜索引擎、Telegram 与即时通信情报 | 威胁情报、IOC、加密货币 OSINT、媒体情报、地理空间 OSINT、区域搜索、Telegram 情报 |
recon-techniques.md | LinkedIn 员工枚举、招聘信息技术栈分析、Slack/Discord/Telegram 工作区发现、软件包注册表泄露搜寻(npm/PyPI/Docker Hub/Quay/GHCR)、用于物理侦察的卫星影像 | LinkedIn 枚举、招聘信息技术栈、Slack 工作区发现、Discord 服务器发现、npm 令牌泄露、PyPI 令牌泄露、Docker Hub 泄露、用于物理侦察的卫星影像 |
severity-matrix.md | 80 多个实例,将观察到的情况映射到发现严重性(CRITICAL/HIGH/MEDIUM/LOW/INFO) | 严重性判定、发现严重性、严重性矩阵 |
sector-notes.md | 医疗保健(DICOM)、金融(SWIFT)、ICS/SCADA(Modbus/BACnet)、IoT、政府部门的侦察说明 | 特定行业侦察、医疗保健 DICOM、金融 SWIFT、ICS SCADA、Modbus、BACnet |
sector-discovery-mass-recon.md | 对 sector-notes.md 的补充——针对美国非受监管中小企业行业(园林绿化、泳池服务、屋顶施工、HVAC、汽车维修、会计等)的批量侦察,包含并行批次测试、误报过滤、基于实证的行业排名。可复用的 Python 扫描器位于 scripts/sector_mass_scan.py。 | 行业发现、目标发现、非受监管行业、美国小型企业侦察、WordPress 批量侦察、并行批次测试 |
tooling-install.md | Subfinder、Amass、httpx、nuclei、gau、katana、gowitness、dnsx、mapcidr、naabu、sslyze、testssl.sh 等工具的快速安装单行命令 | 工具安装、安装 subfinder、安装 nuclei、安装 httpx |
helpers-and-automation.md | AI 辅助 OSINT、归档与证据保存、自动化与工作流模式、跨模块 sidecar 协调、可运行的 secret_scan.py 助手说明 | AI 辅助 OSINT、证据保存、自动化、sidecar |
20. 端点关注度评分 — 0–100 分标准
对于每个已分类的端点(方法论技能中的 §22),应用以下评分标准:
| 信号 | 分值 | 条件 |
|---|---|---|
| 未认证写入 | +40 | POST/PUT/DELETE/PATCH 端点在匿名访问时返回 200/201/202/204。 |
| 开放的 GraphQL 内省 | +35 | __schema 查询在匿名访问时返回完整类型列表。 |
| HTTP 方法篡改绕过 | +30 | OPTIONS 揭示了文档未记录的方法,且该方法可访问。 |
| 反射式 CORS + 凭据 | +25 | Access-Control-Allow-Origin 反射请求的 Origin,且 Access-Control-Allow-Credentials: true。 |
| 路径中包含敏感关键词 | +20 | 路径匹配以下任一项:admin、internal、debug、user、password、token、key、export、upload、backup、config、secret、private、delete、purge、wipe。 |
| 错误信息泄露架构信息 | +20 | 响应正文包含堆栈跟踪、ORM 错误类或框架特征(例如 ActiveRecord::RecordNotFound、org.hibernate.exception.*、django.db.utils.IntegrityError)。 |
| URL 中包含 API 密钥 | +15 | 路径或查询字符串包含 api_key=、apikey=、token=、access_token=。 |
| 通配符 CORS | +10 | Access-Control-Allow-Origin: *。 |
| 缺少速率限制响应头 | +10 | 没有 RateLimit-* / X-RateLimit-* 响应头;快速连续请求后也没有 Retry-After。 |
阈值:
| 分数 | 严重程度 |
|---|---|
| ≥ 90 | 严重 |
| 70–89 | 高 |
| 50–69 | 中 |
| 25–49 | 低 |
| < 25 | 信息 |
对于分数 ≥ 70 的情况,请在证据中附加 attack_path_hint(见 §29)。
21. 移动应用归属置信度 — 0–100 分标准
在执行深入的 APK 静态分析之前,评估发现的应用是否确实属于目标。阈值:≥70 = 接受。
| 信号 | 分值 |
|---|---|
包名反向 DNS 与目标域名匹配(例如,com.acme.android ⟂ acme.com) | +40 |
开发者邮箱为 <anything>@<target-domain> | +25 |
| 开发者网站 URL 是目标域名(或已确认的关联品牌域名) | +20 |
| 应用名称包含运营方提供的品牌列表中的关键词 | +10 |
| 应用达到最低评分数阈值(默认 20 条评价) | +5 |
低于阈值的应用会标记为 mobile_review_pending 并展示,但不会进行分析。运营方可使用 --mobile-ownership-threshold 50 重新评分,以适应更宽泛的采集范围。
39. 攻击路径提示模式
生成高/严重 API 端点发现结果(分数 ≥ 70)时,请在证据中包含一句话的 attack_path_hint,以便运营方了解从何处着手利用。模板:
| 触发条件 | 攻击路径提示 |
|---|---|
| 未认证的 POST / PUT / DELETE | *"未认证的 {method} {path} — 尝试 IDOR + 权限提升;检查数字 ID 是否连续或可猜测。" * |
| 开放的 GraphQL 内省 | *"{path} 上开放 GraphQL 内省 — 枚举 mutations,查找名称类似 createUser、setRole、transferFunds 的操作;转而利用认证缺陷或业务逻辑漏洞。" * |
| 反射型 CORS + 凭据 | *"{path} 上的反射型 CORS 支持凭据 — 在攻击者控制的源上托管 CSRF 页面;受害者的浏览器会泄露 {sensitive-data-hint}。" * |
| 通配符 CORS + 敏感数据 | *"{path} 上的通配符 CORS 会返回与用户关联的数据,且无需凭据 — 从受害者访问的任意页面发起跨源 fetch 以窃取数据。" * |
| HTTP 方法篡改 | *"HTTP 方法篡改:仅允许 {visible-method} 的文档化端点却允许 {hidden-method} → 可能存在缺少方法检查的授权缺陷;尝试使用有效身份验证执行 {hidden-method} {path}。" * |
| URL 中的 API 密钥 | *"URL 中的 API 密钥:?{param}=... — 令牌会泄露到访问日志、浏览器历史记录、Referer 标头和第三方 CDN。检查 Wayback / Google 中是否有缓存副本。" * |
| 错误信息泄露架构 | *"错误响应泄露架构 — 暴露了框架特征 {framework};映射已知的 {framework} 漏洞并构造有针对性的载荷。" * |
| 敏感关键词 | *"路径包含“{keyword}” — 检查是否存在直接对象引用、批量赋值或隐藏的管理员功能。" * |
| 开放的 RTDB Firebase | *"开放的 Firebase RTDB:位于 https://{project}.firebaseio.com/.json — 读取全部数据,然后使用 PUT 在 /<random-key>.json 上测试写入,以判断 ACL 范围。" * |
| 可列举的云存储桶 | *"可列举的 {provider} 存储桶 {bucket} — 递归列出对象并分析 content-type;查找备份、日志、客户数据以及 JSON 配置中的 AWS 密钥。" * |
| 暴露的 .git | *"{host} 上暴露了 .git/config — 使用 git-dumper 或 githacker 重建仓库;可获取完整源代码历史。" * |
| 暴露的 .env | *"{host} 上暴露了 .env — 搜索 _KEY、_SECRET、_TOKEN、_PASSWORD;使用 §23 验证器以只读方式验证所有凭据。" * |
| /actuator/env | *"Spring Boot 的 /actuator/env 已暴露 — 转储环境变量;查找 spring.datasource.password、JWT 密钥和云凭据。" * |
| /actuator/heapdump | *"Spring Boot 的 /actuator/heapdump 已暴露 — 下载 HPROF,运行 jhat 或 VisualVM,在堆字符串中搜索明文密钥。" * |
| 开放的 Elasticsearch | *"{host}:9200 上开放的 Elasticsearch — 使用 /_cat/indices?v 获取索引列表;从每个高价值索引中抽取示例文档;向 /test-idx/_doc 测试写入以判断 ACL。" * |
| 开放的 Redis | *"{host}:6379 上开放的 Redis — 执行 INFO、KEYS * 并抽样读取;通过 CONFIG SET 然后执行 BGSAVE 写入 authorized_keys,检查是否有写入权限。" * |
| 开放的 MongoDB | *"{host}:27017 上开放的 MongoDB — 执行 show dbs、show collections 和示例 find 查询;检查用户集合中是否有密码哈希。" * |
| 子域名接管 | *"{host} 的 CNAME 指向未被认领的 {provider} 资源 → 在 {provider} 上注册 {takeover-target},即可从 {host} 提供内容;进一步在受信任域名上实施钓鱼或内容注入。" * |
| 开放的 kubelet | *"{host}:10250 上开放的 kubelet — 使用 GET /pods 列出 Pod;使用 POST /run/<ns>/<pod>/<container> 在容器内执行命令,无需 K8s API 身份验证。" * |
| 开放的 etcd | *"{host}:2379 上开放的 etcd — 使用 etcdctl get / --prefix --keys-only 获取完整集群状态;存储的密钥位于 /registry/secrets/ 下。" * |
| K8s API 允许匿名访问 | *"{host}:6443 上的 Kubernetes API 启用了匿名身份验证 — 执行 kubectl --server=https://{host}:6443 --insecure-skip-tls-verify get pods --all-namespaces。" * |
| 未修补的 Citrix | *"{host} 上的 Citrix NetScaler 版本 {ver} 易受 CVE-{cve} 影响(已列入 KEV);参阅厂商公告;不要利用漏洞,但应标记并提醒客户端立即修补。" * |
| 暴露的 F5 BIG-IP TMUI | *"{host} 上的 F5 BIG-IP TMUI 可访问;适用 KEV 中的 CVE-2022-1388 / CVE-2023-46747;建议立即安装厂商发布的热修复程序。" * |
| 可访问的 VMware vCenter | *"{host} 上的 vCenter 无需 VPN 即可访问;如果未修补,则易受 CVE-2021-21972 RCE 影响;检查版本标识。" * |
| 未经身份验证的云函数 URL | *"AWS Lambda Function URL 可通过 {url} 匿名访问 — 检查 IAM 身份验证配置;如果设计上无需身份验证,应严格审计输入验证。" * |
| npm 拼写抢注候选包 | *"包名 {candidate} 尚未注册,且与目标发布的 {official} 相似 — 存在拼写抢注风险;建议客户端采取防御措施进行注册。" * |
| 缺少或宽松的 DMARC | *"{domain} 上的 DMARC 为 p=none — {anything}@{domain} 的伪造邮件可送达收件人;观察报告后,建议将策略升级为 p=quarantine 或 p=reject。" * |
| 有效的 AI API 密钥(Anthropic/OpenAI) | *"已验证可访问模型的 sk-{provider}-... 密钥 — 配额费用可能被盗用;立即轮换密钥,并在提供商控制台中审计使用日志。" * |
| 公开的 Slack 邀请链接 | *"可通过搜索引擎发现 Slack 工作区邀请链接 — 任何人都可以加入工作区,无需审批;可轻易访问内部频道。" * |
| 开放的 Docker 注册表 | *"{host} 上的 Docker 注册表公开可访问 — GET /v2/_catalog 可列出镜像;拉取镜像并扫描各层中的嵌入式密钥。" * |
| 有效的 Telegram 机器人令牌 | *"已验证 Telegram 机器人令牌 — getUpdates 会暴露机器人的接收方(管理员聊天);如果 getMe 显示机器人位于频道中,则可完整读取消息。" * |
含有 sourcesContent[] 的 Sourcemap | *"{host} 上的 Sourcemap 包含嵌入的原始源代码 — 可重建完整前端代码;搜索内联密钥和内部主机名。" * |
49. 技能自测
将以下提示词粘贴到全新的 Claude 会话中,验证技能是否正确加载。
- "在 Web 应用中,我应该探测哪些路径来查找 Swagger 或 OpenAPI 规范?" → §16.1。
- "给我应该通过 POST 发送的 GraphQL 内省查询。" → §16.2。
- "从 Shodan 扫描结果中,哪些高风险端口应该标记出来?" → §16.3。
- "展示秘密信息正则表达式目录。" → §17(48 个模式)+ §48(可运行的 Python)。
- "如何根据攻击兴趣度为 API 端点评分?" → §20。
- "验证泄露的 Postman API 密钥——使用哪个 URL?" → §23.1。
- "给出针对某个目标的 pastebin/gist/ghostbin 泄露信息搜索 dork。" → §18.3。
- "哪些端点可以识别 Microsoft Entra 租户?" → §22.1 + M365 深度探测见 §22.8。
- "如何评估发现的 Android 应用是否属于我的目标?" → §21。
- "在
/api/users发现未认证的 POST 时,有什么攻击路径提示?" → §39(第一行)。 - "测试
/actuator/env的 curl 单行命令。" → §16.13。 - "展示禁用内省时,通过字段建议进行 GraphQL 枚举的技巧。" → §22.9。
- "在 JS 中发现硬编码 JWT。带我完成完整的分类评估流程。" → §23.12(JWT 工作流)。
- "为
<Client Brand Ltd>生成云存储桶候选名称,包含 api/billing/hr 子域名。" → §16.8。 - "如何查找 Microsoft 365 Teams 联合状态和 SharePoint 子域名?" → §22.8。
- "探测 Citrix Netscaler / F5 BIG-IP / Pulse Secure 的路径。" → §16.16。
- "查找
target.example上 Cloudflare 背后的源站。" → §16.15 + 配套方法 §27。 - "探测 Kubernetes/etcd/kubelet 暴露情况时,要检查哪些端口/路径?" → §16.18。
- "审计
acme.com的 SPF/DMARC,评估伪造邮件的可行性。" → §16.14。 - "列出子域名暴力破解和内容发现的字典来源。" → §27.1。
- "对目标拥有的 /22 网段执行反向 DNS 扫描。" → §28.5。
- "验证 OpenAI API 密钥,同时不消耗配额。" → §23.6 + §23.12。
- "查找目标在 npm/PyPI/Docker Hub 上泄露的秘密信息。" → §44。
- "如何在 LinkedIn 上枚举目标员工,以建立钓鱼名单?" → §41。
- "Slack 邀请链接有哪些枚举技巧?" → §43.1。
- "CVE-2024-3400 的 EPSS 评分和 KEV 状态是什么?" → §29.2。
- "哪些现代 AI API 密钥(Anthropic / OpenAI / HuggingFace / Cloudflare)符合目录中的模式?" → §17 第 30–48 行。
- "
android:debuggable=true出现在生产应用中时的严重性矩阵是什么?" → §40。 - "标准侦察工具包(subfinder/httpx/nuclei 等)的安装命令是什么?" → §46。
- "对于医疗保健领域的测试项目,还需关注哪些端口/协议?" → §47.1。
- "通过直接 API(无 UI)获取
target.com的 HudsonRock 泄露数据集。" → §15.0.1。 - "在 Windows 机器上(使用 PowerShell)运行完整的 §16.14 电子邮件安全审计。" → §16.14 PowerShell 并行方案。
- "crt.sh 刚返回 502。备用方案的调用顺序是什么?" → §27.0.1。
- "批量查询 200 个 IP 对应的 ASN,同时避免触发 bgpview 速率限制。" → §28.1(Cymru 批量查询)。
- "对
target.example执行常见前缀子域名扫描,覆盖 vpn / api / staging / portal / intranet。" → §16.24。 - "旧邮件服务器(
mail.<domain>)今天返回 NXDOMAIN,但泄露数据集里有针对它的员工 URL。应如何记录这一发现?" → §15.2 旧邮件服务器停用模式。 - "当 MX 被 Mimecast 代理(因此 MX 无法揭示底层邮件平台)时,如何确认 M365 租户?" → §22.1 autodiscover IP 关联 + §16.22 将 autodiscover 作为确认依据。
- "DMARC RUA 指向
kdmarc.com——这说明什么?" → §16.14 DMARC 报告服务提供商表。 - "SharePoint HEAD 探测返回 HTTP 200。这是否意味着允许匿名访问?" → §22.8(否——这表示租户存在,不代表允许匿名访问;需加以区分)。
- "Wayback 的
*.js查询在展示型网站上返回空结果。下一步怎么做?" → §16.23 旧式应用线索(.asp / .php / .jsp / .cfm / .aspx)。
50. 更新日志
- v2.1.1 (2026-04-27) — 修复真实 engagement 冒烟测试中发现的差距。新增:§15.0.1 HudsonRock Cavalier 直接 API 使用方案(curl + PowerShell、完整 JSON 结构、免费层脱敏注意事项、速率限制指南)。扩展 §15.2,加入旧邮件服务已停用的升级处理模式(旧邮件服务 NXDOMAIN + 泄露语料库 + Autodiscover 确认云迁移 → CRITICAL SSO_EXPOSURE)。扩展 §16.14,加入 DMARC 报告供应商表(Kratikal kdmarc / dmarcian / Valimail / Agari / EasyDMARC / DMARC Analyzer / Postmark)+ 整个电子邮件安全审计的完整 Windows/PowerShell 并行方案 + 注意事项:PS 5.1 的
Resolve-DnsName -Type CAA会报错(请使用 PS 7+ 或nslookup -type=CAA)。扩展 §16.22 TXT 验证令牌目录,新增 17 个令牌(zscaler-verification、cloudflare-verify、autosect、cisco-site-verification、mscid、_amazonses、salesforce-domain-verification、workday/shopify/klaviyo/mailchimp/hubspot/zendesk/freshworks/intercom/loom/miro/gitlab)+ 新增“M365 检测的 Autodiscover 确认模式”,适用于 MX 被 Mimecast/Proofpoint/Barracuda 包装的情况。§22.1 新增被动 Autodiscover IP 关联模式,使用 Microsoft Exchange Online IP 范围。§22.8 新增说明:SharePoint HEAD HTTP 200 = 租户存在,并不代表已授予匿名访问(操作人员常常误读)。新增 §16.23 旧版应用转向内容块(当 Wayback*.js对展示型网站返回空结果时,转向 .asp/.php/.jsp/.cfm/.aspx/.json/.xml/.yml/.ini/.conf — 附完整的广泛扫描单行命令)。新增 §16.24 常见前缀子域名扫描 — 正式化主动前缀探测技术,提供按顺序排列的 100 多个前缀列表、PowerShell + bash + puredns 使用方案,以及真实 engagement 验证说明(被动枚举会漏掉 20-40% 的高价值子域名;始终配合主动前缀探测)。§27.0.1 新增 crt.sh 备用方案链(Censys、CertSpotter、Calidog、Subfinder、OTX、ThreatMiner、URLScan、Anubis-DB),并提供 PowerShell 封装脚本:重试 crt.sh 3×,随后回退到 Subfinder。§28.1 新增批量 IP→ASN 使用方案(Cymru 批量 WHOIS、RIPEstat、bgp.tools、IPinfo Lite)+ 注意事项:bgpview.io API 的速率限制很严格,不适用于批量操作。§40 严重性矩阵新增 8 行:暴露的供应商采购门户 + 泄露语料库命中(HIGH)、通过普通 HTTP 提供 PII 收集服务的门户(HIGH)、已停用的旧邮件服务 + 泄露 + 云迁移(CRITICAL)、没有 VPN 的公网 Intranet(MEDIUM)、可通过公网解析的 staging/preprod(MEDIUM)、vpn. 可解析但供应商未知(INFO,若匹配 KEV 则升级为 HIGH-CRITICAL)、DMARC RUA → 第三方供应商(INFO)。§49 自测从 30 条扩展到 40 条提示词,覆盖所有新增内容。 - v2.1 (2026-04-27) — 根据 32 项测试的冒烟测试差距分析进行了全面扩展。新增:每项检查的可直接复制粘贴的 curl 探测命令(§16.13)、电子邮件安全分析,包含 SPF/DMARC/DKIM/BIMI/MTA-STS/DNSSEC 解析 + SaaS 租户推断(§16.14)、通过 DNS 历史记录 + 证书 SAN + favicon 哈希 + JARM + Host 标头探测发现源站 / 绕过 CDN(§16.15)、Citrix/F5/Pulse/Fortinet/PaloAlto/Cisco/VMware/Exchange 供应商产品指纹 + KEV CVE 关联(§16.16)、云原生服务 URL 指纹 — Lambda Function URLs、Cloud Run、Cloud Functions、Azure Functions、Vercel、Netlify、Cloudflare Workers 等(§16.17)、容器与 Kubernetes 暴露面(kubelet、etcd、K8s API、仪表板、Helm Tiller、容器镜像仓库)(§16.18)、CI/CD 平台暴露面(深入探查 Jenkins、GitLab、GitHub Actions、CircleCI、TeamCity、Argo CD、Spinnaker)(§16.19)、文档 / wiki 泄露路径(Notion、Confluence、Trello、Miro、Lucidchart、Figma、ReadTheDocs、GitBook、Slab、Coda 等)(§16.20)、WHOIS/RDAP/历史 WHOIS 使用方案 + 反向 WHOIS 转向方法(§16.21)、DNS 记录目录及 TXT 验证令牌表 → SaaS 租户推断(§16.22)、Wayback CDX 深度用法,涵盖所有筛选参数(§16.23)。扩展:§17 密钥目录从 29 种模式扩展到 48 种,新增现代 AI API 密钥(Anthropic、OpenAI 旧版 + 项目密钥、HuggingFace)、基础设施(Cloudflare、DigitalOcean)、软件包注册表(npm、PyPI、Docker Hub)、SaaS(Atlassian、Linear)、可观测性(New Relic、DataDog、Sentry DSN)、机器人令牌(Discord、Telegram)和 ngrok。§18 搜索 dork 语料库从 50 多条扩展到 80 多条,新增内部工具暴露面(Splunk/Grafana/Kibana/Argo CD/Sonarqube/Confluence/Jira/GitLab/Gitea)、备份文件扩展名以及行业专用 dork(医疗/金融/政府)。新增 §22.8 Microsoft 365 深度枚举(Teams 联合、SharePoint 子域名探测、OneDrive 个人站点探测、OAuth client_id 发现、设备代码钓鱼目标检查、Power Platform)。新增 §22.9 GraphQL 字段建议枚举方案 + 别名批处理、查询深度绕过、订阅枚举、批量查询绕过。新增 §23.5–23.9 Anthropic、OpenAI、npm、Atlassian、DataDog 的只读验证器(新增 5 项)。新增 §23.12 发现后枚举工作流(AWS IAM 枚举、GitHub PAT 范围/仓库枚举、Slack 工作区枚举、JWT 完整分类,包括算法混淆 + 暴力破解 + none 绕过、Postman PMAK 工作区枚举、Anthropic + OpenAI 使用情况枚举、通用密钥来源枚举)。固定 §24 Postman 搜索端点,提供经过验证的结构 + DevTools 备用方案。新增 §27.1 字典来源(Assetnote、SecLists、jhaddix、OneListForAll、raft-large-words、fuzzdb 等)+ 大小建议。新增 §28.4 TLS 深度审计(sslyze + testssl.sh + nmap + JA3/JA4 + 密码套件/协议/证书检查)。新增 §28.5 反向 DNS 扫描 + IPv6 枚举 + BGP 路由观测。新增 §29.2 漏洞优先级排序数据源(NVD/EPSS/CISA KEV/ExploitDB/Metasploit/InTheWild/OpenCVE/Trickest CVE+POC 映射/OSV.dev/VulnCheck KEV)+ 批量优先级排序工作流。扩展 §39 攻击路径提示,新增 15 个模板(开放的 kubelet/etcd、K8s API 匿名访问、未认证的 Citrix/F5/vCenter/Cloud Function、npm typosquat、缺少 DMARC、有效的 AI 密钥、Slack 邀请、包含 sourcesContent 的 sourcemap)。扩展 §40 严重性矩阵,新增 30 多个实例,涵盖 Kubernetes/容器、存在 KEV CVE 的供应商产品、M365/云原生、CI/CD 错误配置、文档泄露、电子邮件安全缺陷、AI/软件包注册表凭据、TLS 问题。新增 §41 LinkedIn 员工枚举技巧(搜索技术 + 角色推断 + 电子邮件模式推导 + 虚假身份账号注意事项)。新增 §42 招聘信息技术栈分析(来源 + 提取 + 工具)。新增 §43 Slack/Discord/Telegram/Mattermost 工作区发现。新增 §44 软件包注册表泄露搜索(npm/PyPI/RubyGems/Cargo/Packagist/NuGet/Maven Central + 工作流 + typosquat 监控)。新增 §45 用于物理侦察的卫星影像(来源 + 提取 + LinkedIn/Glassdoor/Instagram/会议情报 + 车辆/车队情报)。新增 §46 工具快速安装(子域名、HTTP 探测、漏洞扫描、内容发现、JS 提取、Wayback、云、身份、移动设备、TLS、实用工具、框架)。新增 §47 行业专属侦察说明(医疗 DICOM/HL7/FHIR/EHR + 金融 SWIFT/FIX/Bloomberg/银行中间件 + ICS-SCADA Modbus/BACnet/S7/DNP3 + IoT MQTT/CoAP/UPnP + 政府 FedRAMP/FISMA + 海事/航空/汽车)。Runnable Helper 重新编号为 §48,Self-Test 重新编号为 §49(针对 v2.1 更新),Changelog 重新编号为 §50。
- v2.0 (2026-04-27) — 为外部红队工作模式进行了重大重写。新增:预构建字典(§16)、29 种模式的密钥目录(§17)、50 多条搜索 dork 语料库(§18)、GitHub 代码搜索 dork(§19)、端点兴趣评分(§20)、移动应用归属置信度(§21)、身份体系具体端点(§22)、只读密钥验证器(§23)、Postman 工作区搜索(§24)、Stack Exchange 扫描(§25)、公共 SaaS dork(§26)、子域名来源栈(§27)、域名级泄露严重性(§15.1)、L2 浏览器表(§30.2)、USCC + ICP 工作流(§14.2)、跨模块 sidecar 协调(§36)、攻击路径提示模式(§39)、严重性决策矩阵(§40)、可运行的密钥扫描辅助脚本(§41)。强化:置信度级别(§2)、输出格式(§3)、禁止事项(§5)。保留原有命令行表格并进行了少量重新编排。
验证
- crt.sh 探测 — 确认是否可查询证书透明度日志:
curl --max-time 30 --connect-timeout 10 -s "https://crt.sh/?q=example.com&output=json" | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'{len(d)} certs found')" 2>/dev/null || echo "NOTE: crt.sh may be rate-limited" - Wayback Machine — 确认是否可访问 archive.org:
curl --max-time 30 --connect-timeout 10 -s "https://web.archive.org/cdx/search/cdx?url=example.com&output=text&limit=3" | head -3
所有测试均用于验证 OSINT 就绪状态。
注意事项
- 未验证范围便收集 OSINT 信息 — 抓取 LinkedIn/Shodan/crunchbase 以获取员工姓名和技术栈属于侦察,而非发现。真正的发现是你如何利用这些数据。
- 持有泄露数据 — 持有真实的泄露数据集(邮箱:密码组合)存在法律风险。报告中应使用哈希或脱敏样本。
- 挖掘证书透明度日志 — 现在通过 crt.sh 查找子域名已高度自动化。价值在于子域名暴露的内容,而非它们本身的存在。
- Google 搜索语法返回缓存或过时结果 — 搜索语法的结果可能显示已不存在的页面。报告前请确认每项发现仍然有效。
- 未经授权抓取社交媒体 — 某些计划明确排除社会工程和社交媒体画像分析。请先检查范围。
相关技能与链路
web2-recon— 当需要针对一组在线主机执行工具集时使用。工作流基础:本技能提供探测路径和词表;web2-recon执行实际的 subfinder → dnsx → httpx → katana 管线来使用这些内容。osint-methodology— 当需要为本技能中的具体探测提供规划框架时使用。工作流基础:osint-methodology是规划框架(5 阶段管线、资产图、发现分级标准);本技能是操作工具集,用 curl 单行命令和正则表达式填充各阶段。hunt-subdomain— 当本技能的子域名枚举发现过期的 CNAME 时使用。工作流基础:通过 §27 /references/recon-stack.md发现的子域名会自动转交给hunt-subdomain进行接管验证。hunt-cloud-misconfig— 当本技能的云存储桶枚举发现可列出内容的存储桶 / Firebase / actuator 端点时使用。工作流基础:§39 攻击路径提示(可列出内容的存储桶、/actuator/env、开放的 Elasticsearch)会转交给hunt-cloud-misconfig进行漏洞利用。m365-entra-attack/okta-attack— 当身份架构指纹识别发现 Entra/Okta 时使用。工作流基础:references/identity-fabric.md会识别 IdP;匹配的平台技能(由hunt-dispatch加载)将接手执行主动枚举。