mcpField
C
collecting-open-source-intelligence

collecting-open-source-intelligence

github.com/mukul975安全35.2k249 次安装8 周前更新
代码仓库

关于 collecting-open-source-intelligence

该技能为安全调查人员提供被动开源情报收集流程,用于关联域名、IP、证书及公开资料。内容涵盖基础设施映射和图谱分析,并强调授权边界与数据核验。

主要功能

  1. 01制定情报需求与收集范围
  2. 02查询被动 DNS、WHOIS 和证书记录
  3. 03使用 Shodan 关联基础设施
  4. 04通过 Maltego 图谱分析关系
  5. 05借助 SpiderFoot 搜集公开情报

适用场景

  1. 01调查钓鱼活动关联的外部基础设施
  2. 02补充威胁行为者的公开指标
  3. 03在授权范围内梳理组织外部暴露面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill collecting-open-source-intelligence

安装后在 Claude Code 中输入/collecting-open-source-intelligence确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
api-reference.md
scripts/
agent.py

详细介绍

收集开源情报

何时使用

在以下情况下使用本技能:

  • 调查针对你所在组织的钓鱼活动所关联的外部基础设施
  • 用公开可观测的指标(WHOIS、ASN 数据、SSL 证书)丰富威胁行为者画像
  • 开展经授权的攻击面发现,以了解你所在组织的外部暴露情况

不要在没有明确书面授权的情况下,将本技能用于对目标进行主动扫描 —— OSINT 收集必须保持被动(不向目标系统发送数据包),除非范围允许主动侦察。

前提条件

工作流

步骤 1:定义收集需求

在收集之前先确立情报需求(IR)。记录:

  • 目标:威胁行为者组织、恶意域名、IP 范围或组织
  • 优先情报需求(PIR):需要回答哪些具体问题?
  • 法律授权:被动 OSINT 是合法的;主动探测需要授权
  • 数据处理:对收集到的情报进行 TLP 分类
步骤 2:被动 DNS 和 WHOIS 调查
# Passive DNS via SecurityTrails API
curl "https://api.securitytrails.com/v1/domain/evil-domain.com/dns/a" \
  -H "apikey: YOUR_KEY"

# WHOIS history via ARIN / RIPE
whois -h whois.arin.net evil-domain.com

# Certificate transparency logs (no API key required)
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")

# Search for specific C2 framework signatures (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', ''))

# Find infrastructure associated with a known threat actor's ASN
results = api.search('asn:AS12345 http.title:"Redirector"')

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

步骤 4:Maltego 图分析

在 Maltego 中,使用以下内置 transform 进行威胁行为者基础设施测绘:

  1. 从一个已知的恶意域名开始(Entity: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 的网络威胁情报 transform(VirusTotal、Shodan、PassiveTotal、URLScan)可扩展图覆盖范围。

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

使用 SpiderFoot HX 或手动搜索:

  • 粘贴站点(Pastebin、Ghostbin):搜索泄露的凭据、IOC、恶意软件配置
  • 暗网论坛:通过 Tor 浏览器并采取适当的操作安全措施
  • GitHub/GitLab:搜索暴露的凭据或组织特定字符串
# SpiderFoot CLI for automated 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 抓取)。在未经授权的情况下对外部目标使用前,请先确认工具行为。

评论

支持 Markdown