| name | collecting-open-source-intelligence |
| description | 使用公开可用的数据源、被动侦察工具和暗网监控,收集并综合关于威胁行为者、恶意基础设施和攻击活动的开源情报(OSINT)。适用于调查外部威胁行为者基础设施、为授权红队评估执行预参与侦察,或使用公开对手上下文丰富 CTI 报告。适用于涉及 Maltego、Shodan、OSINT framework、SpiderFoot 或基础设施侦察的请求。
|
| domain | cybersecurity |
| subdomain | threat-intelligence |
| tags | ["OSINT","Maltego","Shodan","Recon-ng","SpiderFoot","threat-intelligence","ATT&CK-T1591","NIST-CSF"] |
| version | 1.0.0 |
| author | mahipal |
| license | Apache-2.0 |
收集开源情报
适用场景
在以下情况下使用本技能:
- 调查针对您组织的网络钓鱼活动所关联的外部基础设施
- 使用可公开观察的指标(WHOIS、ASN 数据、SSL 证书)丰富威胁行为者档案
- 开展授权的攻击面发现,了解组织的对外暴露情况
请勿使用本技能在未获得明确书面授权的情况下对目标进行主动扫描——OSINT 收集必须保持被动(不向目标系统发送任何数据包),除非授权范围允许主动侦察。
前置条件
工作流程
步骤 1:定义收集需求
在收集之前明确情报需求(IR)。记录以下内容:
- 目标:威胁行为者组织、恶意域名、IP 范围或组织机构
- 优先情报需求(PIR):需要回答哪些具体问题?
- 法律授权:被动 OSINT 是合法的;主动探测需要授权
- 数据处理:收集情报的 TLP 分类
步骤 2:被动 DNS 和 WHOIS 调查
curl "https://api.securitytrails.com/v1/domain/evil-domain.com/dns/a" \
-H "apikey: YOUR_KEY"
whois -h whois.arin.net evil-domain.com
curl "https://crt.sh/?q=%.evil-domain.com&output=json" | jq '.[].name_value'
证书透明度日志可揭示目标域名的所有子域名,通常会暴露被无意公开的预发布环境、VPN 或内部基础设施。
步骤 3:Shodan 基础设施映射
import shodan
api = shodan.Shodan("YOUR_SHODAN_API_KEY")
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', ''))
results = api.search('asn:AS12345 http.title:"Redirector"')
将 Shodan 结果与被动 DNS 关联,构建基础设施集群。
步骤 4:Maltego 图谱分析
在 Maltego 中,使用以下内置转换进行威胁行为者基础设施映射:
- 从已知恶意域名开始(实体:Domain)
- 运行"To IP Address [DNS]"→ 识别托管 IP
- 运行"To Shared Hosting"→ 识别共同托管域名(可能属于同一威胁行为者)
- 运行"To DNS Name [Reverse DNS]"→ 识别 PTR 记录
- 运行"To Whois"→ 识别注册人邮箱/组织
- 以注册人邮箱为枢纽 → "To Domains [Registrant Email]"→ 扩展到使用同一邮箱注册的所有域名
Maltego 网络威胁情报转换(VirusTotal、Shodan、PassiveTotal、URLScan)可扩展图谱覆盖范围。
步骤 5:暗网和粘贴站点监控
使用 SpiderFoot HX 或手动搜索:
- 粘贴站点(Pastebin、Ghostbin):搜索泄露的凭据、IOC、恶意软件配置
- 暗网论坛:通过 Tor 浏览器配合适当的操作安全措施
- GitHub/GitLab:搜索暴露的凭据或组织特定字符串
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 抓取)。在未获授权的情况下针对外部目标使用前,请确认工具行为。