conducting-external-reconnaissance-with-osint
使用开源情报(OSINT)技术执行外部侦察,在不直接与目标系统交互的情况下映射组织的外部攻击面。测试人员从 DNS 记录、证书透明度日志、搜索引擎、社交媒体、代码仓库和数据泄露数据库等公开来源收集信息,以构建全面的目标画像。
Best use case
conducting-external-reconnaissance-with-osint is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
使用开源情报(OSINT)技术执行外部侦察,在不直接与目标系统交互的情况下映射组织的外部攻击面。测试人员从 DNS 记录、证书透明度日志、搜索引擎、社交媒体、代码仓库和数据泄露数据库等公开来源收集信息,以构建全面的目标画像。
Teams using conducting-external-reconnaissance-with-osint should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/conducting-external-reconnaissance-with-osint/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How conducting-external-reconnaissance-with-osint Compares
| Feature / Agent | conducting-external-reconnaissance-with-osint | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
使用开源情报(OSINT)技术执行外部侦察,在不直接与目标系统交互的情况下映射组织的外部攻击面。测试人员从 DNS 记录、证书透明度日志、搜索引擎、社交媒体、代码仓库和数据泄露数据库等公开来源收集信息,以构建全面的目标画像。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 使用 OSINT 执行外部侦察 ## 使用场景 - 在渗透测试的初始侦察阶段收集情报,在主动扫描前进行信息收集 - 映射组织的外部攻击面,识别未知或影子 IT 资产 - 收集员工信息、邮件格式和组织架构,用于社会工程学活动 - 识别在互联网上发布的暴露凭据、泄露数据或敏感文档 - 在红队演练前确定组织数字足迹的范围 **不适用场景**:跟踪、骚扰或未经授权地监视个人。OSINT 收集必须在授权演练范围内进行,并符合适用的隐私法律(GDPR、CCPA)。 ## 前置条件 - 针对目标组织执行侦察的书面授权 - 配置了 VPN 或 Tor 的专用研究工作站,用于需要时的匿名查询 - 已安装 OSINT 框架工具:Amass、theHarvester、Shodan CLI、Recon-ng、SpiderFoot - Shodan、Censys、SecurityTrails、Hunter.io、VirusTotal 和 GitHub 的 API 密钥,以获取增强结果 - 用于研究过程中访问需要注册服务的一次性邮件账户 ## 工作流程 ### 步骤一:域名和 DNS 枚举 枚举与目标相关的所有域名、子域名和 DNS 记录: - **根域名识别**:从主域名开始,通过 `whoxy.com` 或 `domaintools.com` 对注册者姓名、邮件和组织进行反向 WHOIS 查询,识别所有相关域名 - **子域名枚举**:运行多个工具以获得全面覆盖: - `amass enum -passive -d target.com -o amass_subs.txt` 从 40+ 个数据源进行被动子域名发现 - `subfinder -d target.com -all -o subfinder_subs.txt` 进行快速被动枚举 - `crt.sh` 证书透明度日志查询:`curl -s "https://crt.sh/?q=%25.target.com&output=json" | jq -r '.[].name_value' | sort -u` - **DNS 记录分析**:查询所有记录类型:`dig target.com ANY`,检查揭示邮件基础设施的 SPF、DKIM、DMARC 记录,枚举 MX 记录以识别邮件提供商 - **区域传输尝试**:`dig axfr @ns1.target.com target.com` 检查错误配置的 DNS 服务器 - **整合结果**:合并、去重并将所有发现的子域名解析为 IP 地址。将 IP 地址映射到 ASN 和托管提供商 ### 步骤二:基础设施和服务发现 在不直接扫描目标系统的情况下识别面向互联网的基础设施: - **Shodan**:`shodan search "ssl.cert.subject.cn:target.com"` 查找所有具有目标域名 TLS 证书的面向互联网服务。同时按组织名称和 IP 范围搜索 - **Censys**:搜索目标的 IP 范围和 TLS 证书,识别从互联网扫描中索引的服务、技术和潜在漏洞 - **云资产发现**:使用 `cloud_enum` 等工具检查 S3 存储桶(`target-com`、`target-backup`、`target-dev`)、Azure Blob 存储(`target.blob.core.windows.net`)和 GCP 存储 - **WAF 和 CDN 识别**:使用 `wafw00f target.com` 识别可能掩盖源服务器 IP 的 Web 应用防火墙和 CDN 提供商 - **历史数据**:使用 Wayback Machine(`web.archive.org`)查找已删除的页面、旧版应用和被遗忘的端点 ### 步骤三:邮件和人员情报 收集员工信息和邮件地址,为社会工程学准备: - **邮件收割**:`theHarvester -d target.com -b all -f harvest_results.html` 从搜索引擎、LinkedIn 和数据源收集邮件 - **邮件格式识别**:使用 `hunter.io` 确定邮件格式(first.last、flast、firstl)并验证可达性 - **LinkedIn 侦察**:按部门识别员工,特别是 IT 管理员、安全团队成员和高管。注意职位发布和员工档案中提到的技术 - **组织架构**:从 LinkedIn 数据构建组织架构图,了解汇报关系,识别关键人员,映射部门 - **社交媒体分析**:查看员工社交媒体档案,了解内部工具、技术、办公地点、徽章照片和安全实践信息 - **招聘信息**:分析公司招聘页面和招聘网站上的当前和历史招聘信息,获取技术栈详情、工具和基础设施信息 ### 步骤四:凭据和数据泄露分析 搜索暴露的凭据和敏感数据: - **泄露数据库**:通过 `haveibeenpwned.com` API 检查与目标域名相关的已泄露邮件地址 - **粘贴网站**:在 Pastebin、GitHub Gists 和类似粘贴网站上搜索泄露的凭据、配置文件或内部文档 - **代码仓库**:在 GitHub、GitLab 和 Bitbucket 中搜索: - `org:target "password"`、`org:target "api_key"`、`org:target "secret"` - 使用 `trufflehog` 或 `gitleaks` 对目标的公开仓库进行自动化密钥扫描 - **文档元数据**:下载目标网站上公开可用的文档(PDF、DOCX、XLSX)并使用 `exiftool` 提取元数据,以揭示内部用户名、软件版本、打印机名称和文件路径 - **Google Dorking**:使用精准搜索操作符: - `site:target.com filetype:pdf` 查找公开文档 - `site:target.com inurl:admin` 查找管理面板 - `site:target.com "index of /"` 查找目录列表 - `site:pastebin.com "target.com"` 查找粘贴网站提及 ### 步骤五:技术栈分析 识别目标使用的技术、框架和服务: - **Web 技术指纹识别**:使用 `whatweb target.com` 或 Wappalyzer 浏览器扩展识别 CMS、框架、JavaScript 库、分析工具和服务器软件 - **SSL/TLS 分析**:`sslyze target.com` 或 `testssl.sh target.com` 识别密码套件、协议版本、证书详情和密码学弱点 - **JavaScript 分析**:下载并检查 JavaScript 文件,查找框架标识符、API 端点、内部主机名和版本字符串 - **基于 DNS 的服务识别**:检查 TXT 记录以识别服务提供商(如 `v=spf1 include:_spf.google.com` 表示使用 Google Workspace,`MS=msXXXXXX` 表示 Microsoft 365) - **移动应用分析**:从应用商店下载目标的移动应用,使用 `apktool`(Android)或 `frida` 分析硬编码 URL、API 端点和嵌入的凭据 ## 核心概念 | 术语 | 定义 | |------|------------| | **OSINT** | 开源情报;从公开可用来源(包括网站、社交媒体、公共记录和政府数据)收集的情报 | | **被动侦察** | 在不直接与目标系统交互的情况下收集信息,不在目标日志中留下痕迹 | | **主动侦察** | 涉及与目标系统直接交互(扫描、探测)的信息收集,可能被记录 | | **证书透明度** | 证书颁发机构颁发的 TLS 证书的公开日志,可查询以发现子域名和基础设施 | | **攻击面** | 未授权用户可尝试进入或从环境中提取数据的所有点的总和 | | **Google Dorking** | 使用高级 Google 搜索操作符查找被搜索引擎索引的本不应公开的敏感信息 | | **影子 IT** | 由员工或部门在 IT 部门不知情或未批准的情况下部署的技术系统和服务 | ## 工具与系统 - **Amass(OWASP)**:综合子域名枚举工具,结合被动来源、DNS 暴力破解和证书透明度日志分析 - **Shodan**:互联网范围扫描数据库,索引互联网连接设备的服务、横幅和元数据,可按 IP、域名或组织搜索 - **theHarvester**:用于从公开来源收集邮件、子域名、主机、员工姓名和开放端口的 OSINT 工具 - **SpiderFoot**:自动化 OSINT 收集平台,查询 200+ 数据源并将发现关联到统一图谱 - **Recon-ng**:模块化 Web 侦察框架,具有数据库后端,用于组织和交叉引用已发现的情报 ## 常见场景 ### 场景:红队演练的演练前侦察 **背景**:一家科技公司签约了红队评估。在主动测试开始前,团队执行被动 OSINT 以映射攻击面并识别潜在入口点。目标是一家拥有 500 名员工、主域名为 techcorp.io 的 SaaS 公司。 **方法**: 1. 通过 Amass 和 crt.sh 枚举 147 个子域名,包括 staging.techcorp.io、jenkins.techcorp.io 和 vpn.techcorp.io 2. Shodan 发现一个被遗忘的 Elasticsearch 实例在 9200 端口上无需认证即可暴露在互联网上 3. theHarvester 收集了 89 个员工邮件地址,揭示格式为 first.last@techcorp.io 4. GitHub 搜索发现一名前开发人员的公开仓库包含带有 AWS 访问密钥的 `.env` 文件 5. LinkedIn 分析揭示公司使用 Okta 进行 SSO、使用 Jira 进行项目管理、使用 AWS 进行托管 6. Google Dorking 在 docs.techcorp.io 上发现目录列表,暴露内部架构图 7. 将所有情报汇编成侦察报告,直接用于威胁建模和攻击规划阶段 **常见陷阱**: - 仅依赖单一子域名枚举工具,遗漏其他工具通过不同数据源发现的资产 - 未检查云存储服务(S3、Azure Blob、GCP)的公开可访问存储桶 - 不搜索公开代码仓库中的凭据,这通常会直接产生访问权限 - 在本应是纯被动阶段执行主动扫描(端口扫描、漏洞扫描) ## 输出格式 ``` ## 外部侦察报告 - TechCorp.io ### 攻击面摘要 - **发现的域名**:3 个(techcorp.io、techcorp.com、techcorpapp.com) - **枚举的子域名**:所有域名共 147 个唯一子域名 - **唯一 IP 地址**:34 个 IP 映射至 AWS us-east-1 和 us-west-2 - **收集的邮件地址**:89 个有效企业邮件地址 - **暴露的服务**:通过 Shodan/Censys 识别到 12 个面向互联网的服务 ### 关键发现 **1. 未经认证的 Elasticsearch 实例** - 主机:52.xx.xx.xx:9200(elastic.techcorp.io) - 索引数据:包含用户会话令牌和 PII 的应用日志 - 来源:Shodan 搜索 "ssl.cert.subject.cn:techcorp.io" **2. 公开 GitHub 仓库中的 AWS 凭据** - 仓库:github.com/former-dev/techcorp-scripts - 文件:包含 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 的 .env 文件 - 状态:密钥似乎有效(未测试 - 超出被动侦察范围) **3. 暴露内部文档的目录列表** - URL:https://docs.techcorp.io/internal/ - 内容:架构图、网络拓扑、运行手册 - 来源:Google Dork "site:techcorp.io intitle:index.of" ### 建议 1. 立即轮换暴露的 AWS 凭据并审计 CloudTrail 日志 2. 限制 Elasticsearch 仅允许内网访问或添加认证 3. 禁用 docs.techcorp.io 上的目录列表并审计所有 Web 服务器 4. 在所有组织仓库中实施 GitHub 密钥扫描 ```
Related Skills
performing-osint-with-spiderfoot
使用 SpiderFoot REST API 和 CLI 自动化 OSINT 收集,用于目标画像、基于模块的侦察,以及跨 200+ 数据源的结构化结果分析
performing-external-network-penetration-test
依照 PTES 方法论,通过侦察、扫描、漏洞利用和报告等阶段,对面向互联网的基础设施执行全面的外部网络渗透测试,识别可利用漏洞。
conducting-wireless-network-penetration-test
执行授权的无线网络渗透测试,通过测试弱加密协议、强制门户绕过、邪恶双胞胎攻击、WPA2/WPA3 握手捕获、流氓接入点检测和客户端攻击,评估 WiFi 基础设施的安全性。
conducting-spearphishing-simulation-campaign
鱼叉式钓鱼(Spearphishing)模拟是红队用于获取初始访问权限的定向社会工程学攻击向量。与广泛的钓鱼活动不同,鱼叉式钓鱼使用 OSINT 情报精心制作高度个性化的消息,针对特定个人。
conducting-social-engineering-pretext-call
规划并执行授权的语音钓鱼(vishing)借口电话,以评估员工对社会工程学(Social Engineering)的易感性,并评估安全意识控制措施的有效性。
conducting-social-engineering-penetration-test
设计并执行社会工程学渗透测试,包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动,以衡量人员安全韧性并识别培训差距。
conducting-post-incident-lessons-learned
主持结构化的事件后审查,以识别根本原因、记录有效和无效的措施,并提出可操作的改进建议以提升未来的事件响应能力。
conducting-phishing-incident-response
通过分析举报的邮件、提取指标、评估凭据受攻陷情况、在全组织范围隔离恶意邮件并修复受影响账号来响应网络钓鱼事件。涵盖邮件头分析、URL/附件沙箱检测和邮箱范围清除操作。适用于网络钓鱼响应、邮件事件、凭据钓鱼、鱼叉式网络钓鱼调查或钓鱼修复相关请求。
conducting-pass-the-ticket-attack
票据传递(Pass-the-Ticket,PtT)是一种横向移动技术,使用窃取的 Kerberos 票据(TGT 或 TGS)在不知道用户密码的情况下向服务进行认证。通过从已控制的主机内存中提取 Kerberos 票据,攻击者可以将这些票据注入自己的会话以模拟票据所有者。
conducting-network-penetration-test
对授权目标环境执行全面网络渗透测试,通过主机发现、端口扫描、服务枚举、漏洞识别和受控漏洞利用,评估网络基础设施的安全态势。测试人员遵循 PTES 方法论,从侦察到后渗透和报告全流程执行。
conducting-mobile-application-penetration-test
对 Android 和 iOS 应用执行移动应用渗透测试,使用 Frida、Objection 和 MobSF 识别不安全的数据存储、证书固定绕过、API 漏洞、二进制保护缺陷和运行时操控问题。
conducting-mobile-app-penetration-test
遵循 OWASP 移动应用安全测试指南(MASTG)对 iOS 和 Android 移动应用执行渗透测试,识别数据存储、网络通信、认证、密码学和平台专属安全控制中的漏洞。测试人员对应用二进制文件进行静态分析、运行时动态分析和 API 安全测试,以评估完整的移动攻击面。