# Collecting Open Source Intelligence

> 使用公开可用的数据源、被动侦察工具和暗网监控，收集并综合关于威胁行为者、恶意基础设施和攻击活动的开源情报（OSINT）。适用于调查外部威胁行为者基础设施、为授权红队评估执行预参与侦察，或使用公开对手上下文丰富 CTI 报告。适用于涉及 Maltego、Shodan、OSINT framework、SpiderFoot 或基础设施侦察的请求。

- Skill: `killvxk/collecting-open-source-intelligence` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/collecting-open-source-intelligence`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/collecting-open-source-intelligence/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/collecting-open-source-intelligence

---

# 收集开源情报

## 适用场景

在以下情况下使用本技能：
- 调查针对您组织的网络钓鱼活动所关联的外部基础设施
- 使用可公开观察的指标（WHOIS、ASN 数据、SSL 证书）丰富威胁行为者档案
- 开展授权的攻击面发现，了解组织的对外暴露情况

**请勿使用**本技能在未获得明确书面授权的情况下对目标进行主动扫描——OSINT 收集必须保持被动（不向目标系统发送任何数据包），除非授权范围允许主动侦察。

## 前置条件

- Maltego CE 或商业许可证，用于基于图谱的链接分析
- Shodan API 密钥（https://shodan.io），用于互联网范围的设备/服务发现
- 熟悉 OSINT Framework（https://osintframework.com），用于工具选择
- SpiderFoot HX 或开源版 SpiderFoot，用于自动化 OSINT 关联

## 工作流程

### 步骤 1：定义收集需求

在收集之前明确情报需求（IR）。记录以下内容：
- 目标：威胁行为者组织、恶意域名、IP 范围或组织机构
- 优先情报需求（PIR）：需要回答哪些具体问题？
- 法律授权：被动 OSINT 是合法的；主动探测需要授权
- 数据处理：收集情报的 TLP 分类

### 步骤 2：被动 DNS 和 WHOIS 调查

```bash
# 通过 SecurityTrails API 进行被动 DNS 查询
curl "https://api.securitytrails.com/v1/domain/evil-domain.com/dns/a" \
  -H "apikey: YOUR_KEY"

# 通过 ARIN / RIPE 查询 WHOIS 历史
whois -h whois.arin.net evil-domain.com

# 证书透明度日志（无需 API 密钥）
curl "https://crt.sh/?q=%.evil-domain.com&output=json" | jq '.[].name_value'
```

证书透明度日志可揭示目标域名的所有子域名，通常会暴露被无意公开的预发布环境、VPN 或内部基础设施。

### 步骤 3：Shodan 基础设施映射

```python
import shodan

api = shodan.Shodan("YOUR_SHODAN_API_KEY")

# 搜索特定 C2 框架特征（Cobalt Strike beacon）
results = api.search('product:"Cobalt Strike" port:443')
for r in results['matches']:
    print(r['ip_str'], r['port'], r['org'], r.get('ssl', {}).get('cert', {}).get('subject', ''))

# 查找与已知威胁行为者 ASN 关联的基础设施
results = api.search('asn:AS12345 http.title:"Redirector"')
```

将 Shodan 结果与被动 DNS 关联，构建基础设施集群。

### 步骤 4：Maltego 图谱分析

在 Maltego 中，使用以下内置转换进行威胁行为者基础设施映射：
1. 从已知恶意域名开始（实体：Domain）
2. 运行"To IP Address [DNS]"→ 识别托管 IP
3. 运行"To Shared Hosting"→ 识别共同托管域名（可能属于同一威胁行为者）
4. 运行"To DNS Name [Reverse DNS]"→ 识别 PTR 记录
5. 运行"To Whois"→ 识别注册人邮箱/组织
6. 以注册人邮箱为枢纽 → "To Domains [Registrant Email]"→ 扩展到使用同一邮箱注册的所有域名

Maltego 网络威胁情报转换（VirusTotal、Shodan、PassiveTotal、URLScan）可扩展图谱覆盖范围。

### 步骤 5：暗网和粘贴站点监控

使用 SpiderFoot HX 或手动搜索：
- 粘贴站点（Pastebin、Ghostbin）：搜索泄露的凭据、IOC、恶意软件配置
- 暗网论坛：通过 Tor 浏览器配合适当的操作安全措施
- GitHub/GitLab：搜索暴露的凭据或组织特定字符串

```bash
# SpiderFoot CLI 自动化 OSINT
python sf.py -s evil-domain.com -m sfp_shodan,sfp_virustotal,sfp_passivetotal \
  -o TF -R result.json
```

## 核心概念

| 术语 | 定义 |
|------|------|
| **被动 OSINT** | 不向目标系统发送任何数据包的情报收集——使用公共数据库、搜索引擎、缓存数据 |
| **PIR** | 优先情报需求——情报收集必须回答的具体问题，防止无目的数据收集 |
| **证书透明度** | CA 颁发的所有 SSL/TLS 证书的公共日志，可通过 crt.sh 发现子域名 |
| **枢纽** | 使用一个数据点（IP、邮件、注册人名称）发现相关基础设施或账户 |
| **ASN** | 自治系统号——单一路由策略下的 IP 地址块；用于聚类威胁行为者基础设施 |
| **共同托管域名** | 解析到同一 IP 的多个域名，可能表明共享攻击者基础设施 |

## 工具与系统

- **Maltego**：基于图谱的链接分析平台，拥有 50+ 数据源转换，用于 IP、域名、邮件和社交媒体分析
- **Shodan**：互联网范围扫描数据库，索引超 10 亿设备；支持 banner、端口、SSL 证书和漏洞搜索
- **SpiderFoot**：自动化 OSINT 工具，拥有 200+ 模块，覆盖 DNS、WHOIS、暗网、泄露数据和社交媒体
- **Recon-ng**：基于 Python 的 OSINT 框架，模块化设计，用于域名、邮件和社交媒体侦察
- **crt.sh**：免费的证书透明度搜索引擎，用于子域名和证书发现
- **OSINT Framework (osintframework.com)**：按情报类别组织的 OSINT 工具精选目录

## 常见陷阱

- **留下数字足迹**：访问威胁行为者的网站或 Shodan 查询的 IP 可能提醒对手。使用 Tor 或 VPN 配合专用 OSINT 虚拟机。
- **图谱分析中的确认偏见**：Maltego 图谱可能产生虚假关联。在确认为可靠信息前，需独立验证每个枢纽点。
- **数据过时**：WHOIS 隐私服务和防弹托管频繁轮换。始终检查数据时间戳——6 个月前的被动 DNS 可能已不再有效。
- **归因过度自信**：基础设施重叠不能保证是同一威胁行为者。虚假旗帜行动会故意在不同组织间共享指标。
- **法律边界**：部分 OSINT 工具会执行主动扫描（端口扫描、banner 抓取）。在未获授权的情况下针对外部目标使用前，请确认工具行为。

