关于 recon-and-osint
Recon & OSINT 是用于在测试前发现组织暴露资产的安全技能。它从被动情报收集推进到主动发现,并将结果整理为供威胁建模使用的资产清单,同时强调必须获得授权。
主要功能
- 01从被动足迹收集开始
- 02发现域名、主机和云资产
- 03识别服务与技术栈
- 04查找端点、参数和泄露密钥
- 05生成威胁建模资产清单
适用场景
- 01查找遗忘的暂存主机和存储桶
- 02在安全测试前梳理公开端点
- 03为威胁建模整理资产
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mn-youssef/ security-skills --skill recon-and-osint安装后在 Claude Code 中输入/recon-and-osint确认已加载。
附带文件references/recon-playbook.md
详细介绍
侦察与 OSINT(RECON 阶段——生命周期的起点)
概述
先找出实际暴露了什么,再决定要测试什么。威胁建模假设存在一个攻击面; 侦察则会发现它。大多数安全漏洞都始于防御者忘记自己拥有的资产。
核心原则: 不知道某项资产存在,就无法保护它。先枚举所有资产。
⚠️ 授权
只枚举你拥有或已获明确授权进行测试的资产。对自己的组织进行被动 OSINT 始终安全;主动扫描或暴力破解则要求该资产在授权范围内。
方法(被动 → 主动)
- 被动足迹收集(不向目标发送数据包)——搜索引擎、证书透明度、公开代码、泄露数据、DNS 记录、存档页面。零噪声,通常价值最高。
- 资产发现——子域名、IP 范围、云存储桶、相关域名、被遗忘的预发布环境。
- 服务与技术指纹识别——正在运行的服务、使用的版本、框架和 CMS。
- 内容发现——隐藏端点、目录、API 路由、JS 引用的 URL、参数。
- 秘密与暴露信息搜寻——公开代码仓库、粘贴站点、JS 包和存档中的泄露密钥或令牌。
- 汇总——将发现整理成目标清单,供威胁模型进行风险排序。
每个步骤的具体工具和命令,请参阅 references/recon-playbook.md。
快速参考——搜寻目标
| 类别 | 宝藏来源 |
|---|---|
| 子域名 | crt.sh / 证书透明度、subfinder、amass、DNS 暴力枚举 |
| 被遗忘的资产 | 预发布/开发/旧版子域名、S3/GCS/Azure 存储桶、存档页面(Wayback) |
| 技术栈 | whatweb、wappalyzer、响应头、favicon 哈希、JS 库 |
| 端点/参数 | gau/waybackurls、JS 文件解析、katana、robots/sitemap、Swagger/GraphQL |
| 泄露的秘密 | GitHub/Gist 搜索技巧、对公开代码仓库运行 trufflehog/gitleaks、粘贴站点 |
| 暴露的凭据 | 查询组织邮箱是否出现在泄露数据集中(防御目的:了解攻击者掌握的信息) |
输出:目标清单
威胁模型使用的清单:
| 资产 | 类型 | 技术 | 值得注意的信息 | 暴露情况 |
|---|---|---|---|---|
api.example.com | API 主机 | Node/Express | Swagger 已暴露 | 公开 |
staging.example.com | Web | 旧版构建 | debug=on | 应仅限内部访问 |
移交
将清单交给 threat-modeling 进行风险排序,再将优先级靠前的目标交给 security-code-audit /
api-security-testing。
常见错误
- 在被动侦察之前就开始扫描——会制造噪声,还会错过容易发现的目标。
- 只枚举主域名——安全漏洞往往出现在被遗忘的子域名或存储桶上。
- 忽略 JS 包——其中可能泄露端点、参数,有时甚至是密钥。
- 测试发现但未获授权的资产——发现不等于获得许可。
评论
支持 Markdown