conducting-external-reconnaissance-with-osint

使用开源情报(OSINT)技术执行外部侦察,在不直接与目标系统交互的情况下映射组织的外部攻击面。测试人员从 DNS 记录、证书透明度日志、搜索引擎、社交媒体、代码仓库和数据泄露数据库等公开来源收集信息,以构建全面的目标画像。

9 stars

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

$curl -o ~/.claude/skills/conducting-external-reconnaissance-with-osint/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/conducting-external-reconnaissance-with-osint/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/conducting-external-reconnaissance-with-osint/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How conducting-external-reconnaissance-with-osint Compares

Feature / Agentconducting-external-reconnaissance-with-osintStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

9
from killvxk/cybersecurity-skills-zh

使用 SpiderFoot REST API 和 CLI 自动化 OSINT 收集,用于目标画像、基于模块的侦察,以及跨 200+ 数据源的结构化结果分析

performing-external-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

依照 PTES 方法论,通过侦察、扫描、漏洞利用和报告等阶段,对面向互联网的基础设施执行全面的外部网络渗透测试,识别可利用漏洞。

conducting-wireless-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

执行授权的无线网络渗透测试,通过测试弱加密协议、强制门户绕过、邪恶双胞胎攻击、WPA2/WPA3 握手捕获、流氓接入点检测和客户端攻击,评估 WiFi 基础设施的安全性。

conducting-spearphishing-simulation-campaign

9
from killvxk/cybersecurity-skills-zh

鱼叉式钓鱼(Spearphishing)模拟是红队用于获取初始访问权限的定向社会工程学攻击向量。与广泛的钓鱼活动不同,鱼叉式钓鱼使用 OSINT 情报精心制作高度个性化的消息,针对特定个人。

conducting-social-engineering-pretext-call

9
from killvxk/cybersecurity-skills-zh

规划并执行授权的语音钓鱼(vishing)借口电话,以评估员工对社会工程学(Social Engineering)的易感性,并评估安全意识控制措施的有效性。

conducting-social-engineering-penetration-test

9
from killvxk/cybersecurity-skills-zh

设计并执行社会工程学渗透测试,包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动,以衡量人员安全韧性并识别培训差距。

conducting-post-incident-lessons-learned

9
from killvxk/cybersecurity-skills-zh

主持结构化的事件后审查,以识别根本原因、记录有效和无效的措施,并提出可操作的改进建议以提升未来的事件响应能力。

conducting-phishing-incident-response

9
from killvxk/cybersecurity-skills-zh

通过分析举报的邮件、提取指标、评估凭据受攻陷情况、在全组织范围隔离恶意邮件并修复受影响账号来响应网络钓鱼事件。涵盖邮件头分析、URL/附件沙箱检测和邮箱范围清除操作。适用于网络钓鱼响应、邮件事件、凭据钓鱼、鱼叉式网络钓鱼调查或钓鱼修复相关请求。

conducting-pass-the-ticket-attack

9
from killvxk/cybersecurity-skills-zh

票据传递(Pass-the-Ticket,PtT)是一种横向移动技术,使用窃取的 Kerberos 票据(TGT 或 TGS)在不知道用户密码的情况下向服务进行认证。通过从已控制的主机内存中提取 Kerberos 票据,攻击者可以将这些票据注入自己的会话以模拟票据所有者。

conducting-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

对授权目标环境执行全面网络渗透测试,通过主机发现、端口扫描、服务枚举、漏洞识别和受控漏洞利用,评估网络基础设施的安全态势。测试人员遵循 PTES 方法论,从侦察到后渗透和报告全流程执行。

conducting-mobile-application-penetration-test

9
from killvxk/cybersecurity-skills-zh

对 Android 和 iOS 应用执行移动应用渗透测试,使用 Frida、Objection 和 MobSF 识别不安全的数据存储、证书固定绕过、API 漏洞、二进制保护缺陷和运行时操控问题。

conducting-mobile-app-penetration-test

9
from killvxk/cybersecurity-skills-zh

遵循 OWASP 移动应用安全测试指南(MASTG)对 iOS 和 Android 移动应用执行渗透测试,识别数据存储、网络通信、认证、密码学和平台专属安全控制中的漏洞。测试人员对应用二进制文件进行静态分析、运行时动态分析和 API 安全测试,以评估完整的移动攻击面。