关于 collecting-indicators-of-compromise
面向事件响应人员的失陷指标(IOC)收集指南,涵盖从日志、取证和恶意软件分析中提取指标,并进行丰富、评分与分发。还说明如何用 STIX 2.1 与合作伙伴共享。
主要功能
- 01整理网络、主机和邮件指标
- 02从多类事件证据中提取 IOC
- 03补充威胁情报上下文
- 04评估置信度并确定优先级
- 05向防御系统和合作方分发
适用场景
- 01响应期间识别并阻断攻击基础设施
- 02为事后检测记录攻击者痕迹
- 03将 IOC 分享给 ISAC 或行业伙伴
- 04为 SIEM、EDR 和网络工具构建检测规则
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill collecting-indicators-of-compromise安装后在 Claude Code 中输入/collecting-indicators-of-compromise确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdscripts/agent.py详细介绍
收集入侵指标
何时使用
- 在活跃的事件响应期间,用于识别和阻断对手基础设施
- 在事件发生后,记录所有观察到的对手痕迹,以供未来检测
- 在向 ISAC、行业合作伙伴或执法机构共享威胁情报时
- 在 SIEM、EDR 或网络安全工具中构建检测规则时
- 在使用威胁情报上下文丰富 IOC 以进行风险评分时
请勿使用于没有配套技术指标的行为 TTP 分析;行为特征描述请使用 MITRE ATT&CK 映射。
前提条件
- 可访问事件证据来源:SIEM 日志、EDR 遥测、内存转储、磁盘镜像、网络捕获
- 威胁情报平台(MISP、OpenCTI、ThreatConnect),用于 IOC 管理和共享
- IOC 丰富工具:VirusTotal、OTX(AlienVault Open Threat Exchange)、Shodan、DomainTools
- 熟悉 STIX 2.1,用于结构化 IOC 表示
- 与相关 ISAC(FS-ISAC、H-ISAC、IT-ISAC)或行业合作伙伴签订共享协议
工作流
步骤 1:识别 IOC 类别
从事件证据中跨所有类别收集指标:
网络指标:
- IP 地址(C2 服务、暂存服务器、外传目的地)
- 域名(C2 域名、钓鱼域名、DGA 域名)
- URL(恶意软件下载、C2 签到、外传端点)
- JA3/JA3S 哈希(TLS 客户端/服务端指纹)
- User-Agent 字符串(自定义或异常的 HTTP 标头)
- DNS 查询模式(隧道特征、DGA 模式)
主机指标:
- 文件哈希(恶意软件、工具、脚本的 MD5、SHA-1、SHA-256)
- 文件路径(已知的恶意软件安装目录)
- 注册表项(持久化机制、配置存储)
- 计划任务和服务名称(持久化)
- 互斥体/事件名称(恶意软件实例同步)
- 命名管道(C2 通信通道,例如 Cobalt Strike)
电子邮件指标:
- 发件人地址和域名(伪造或攻击者控制的)
- 主题行和正文内容模式
- 附件名称和哈希
- 嵌入的 URL
- 电子邮件标头异常(SPF/DKIM/DMARC 失败)
步骤 2:从证据来源提取 IOC
系统地从每个证据来源提取指标:
来自 SIEM/日志分析:
# Extract unique destination IPs from firewall logs
index=firewall action=blocked
| stats count by dest_ip
| where count > 100
# Extract domains from DNS query logs
index=dns query=*evil* OR query=*c2*
| stats count by query
来自内存取证:
# Extract network connections
vol -f memory.raw windows.netscan | grep ESTABLISHED
# Extract strings from suspicious process memory
vol -f memory.raw windows.memmap --pid 3847 --dump
strings -n 8 pid.3847.dmp | grep -E "(http|https)://"
来自恶意软件分析:
Sandbox Report IOC Extraction:
- Dropped files: 3 (hashes extracted)
- DNS queries: update.evil[.]com, cdn.malware[.]net
- HTTP connections: POST to https://185.220.101[.]42/gate.php
- Registry modified: HKCU\Software\Microsoft\Windows\CurrentVersion\Run\svcupdate
- Mutex created: Global\MTX_0x1234ABCD
- Named pipe: \\.\pipe\MSSE-1234-server
步骤 3:使用上下文丰富 IOC
为每个指标添加威胁情报上下文:
IOC Enrichment Report:
━━━━━━━━━━━━━━━━━━━━━
IP: 185.220.101.42
VirusTotal: 12/89 vendors flag as malicious
Shodan: Open ports: 443, 8443, 80
Geolocation: Netherlands, AS208476
First Seen: 2025-10-01
Threat Intel: Associated with Qakbot C2 infrastructure
Confidence: High
TLP: AMBER
Domain: update.evil[.]com
Registration: 2025-10-28 (recently registered)
Registrar: Namecheap
WHOIS Privacy: Yes
VirusTotal: 8/89 vendors flag as malicious
DNS History: Resolved to 185.220.101.42, 91.215.85.17
Confidence: High
TLP: AMBER
步骤 4:对 IOC 进行评分和优先级排序
为每个指标分配置信度和风险评分:
| 分数 | 置信度级别 | 标准 |
|---|---|---|
| 90-100 | 已确认恶意 | 多个 TI 来源确认,在活跃攻击中观察到 |
| 70-89 | 高度可疑 | 单一 TI 来源确认,行为分析支持 |
| 50-69 | 可疑 | TI 数据有限,上下文可疑 |
| 30-49 | 未确认 | 无 TI 匹配,但在环境中异常 |
| 0-29 | 可能良性 | 误报指标或合法基础设施 |
步骤 5:分发 IOC 以进行检测和阻断
将 IOC 推送到防御系统以提供即时保护:
- 防火墙/IPS:阻断 C2 IP 和域名
- DNS:对恶意域名进行 Sinkhole
- EDR:将文件哈希添加到阻止列表,创建自定义 IOC 监视列表
- 电子邮件网关:阻断发件人域名、附件哈希、恶意 URL
- SIEM:为 IOC 匹配创建关联搜索
- Web 代理:在 Web 过滤策略中阻断 URL 和域名
步骤 6:与合作伙伴共享 IOC
以 STIX 2.1 格式打包 IOC 以进行共享:
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"created": "2025-11-15T18:00:00Z",
"modified": "2025-11-15T18:00:00Z",
"name": "Qakbot C2 Server IP",
"indicator_types": ["malicious-activity"],
"pattern": "[ipv4-addr:value = '185.220.101.42']",
"pattern_type": "stix",
"valid_from": "2025-11-15T14:23:00Z",
"confidence": 95,
"labels": ["c2", "qakbot"],
"object_marking_refs": ["marking-definition--f88d31f6-486f-44da-b317-01333bde0b82"]
}
根据共享协议提交到 MISP、ISAC 门户和 TAXII 服务。
关键概念
| 术语 | 定义 |
|---|---|
| IOC(Indicator of Compromise,妥协指标) | 在安全事件中观测到的、表明对手存在的技术痕迹(哈希、IP、域名等) |
| TLP(Traffic Light Protocol,交通灯协议) | 对威胁情报共享限制进行分类的标准:WHITE、GREEN、AMBER、AMBER+STRICT、RED |
| STIX(Structured Threat Information Expression,结构化威胁信息表达) | 以结构化、机器可读格式表示网络威胁情报的标准语言 |
| TAXII(Trusted Automated Exchange of Intelligence Information,可信情报信息自动交换) | 在组织之间共享 STIX 格式威胁情报的传输协议 |
| 置信度评分 | 数值评分(0-100),表示分析师对某指标确实为恶意的确信程度 |
| IOC 生命周期 | 创建、验证、分发并最终在指标失去相关性后将其淘汰的过程 |
| 去活化(Defanging) | 修改报告中的恶意 URL 和域名以防止误点击的做法(如 evil[.]com) |
工具与系统
- MISP:开源威胁情报共享平台,用于管理、存储和分发 IOC
- VirusTotal:多引擎恶意软件扫描与威胁情报平台,用于 IOC 富化
- OpenCTI:原生支持 STIX 2.1 的开源网络威胁情报平台
- Yeti:用于组织可观测对象、指标和 TTP 的开源平台
- CyberChef:GCHQ 的数据转换工具,可用于解码、去活化和格式化 IOC
常见场景
场景:用于 ISAC 共享的事后 IOC 包
背景:在响应了一起导致 Cobalt Strike 部署的 Qakbot 感染后,IR 团队必须将所有 IOC 打包,以便与金融服务 ISAC(FS-ISAC)共享。
方法:
- 汇总调查中所有网络、主机和电子邮件指标
- 使用 VirusTotal 和 MISP 关联数据对每个 IOC 进行富化
- 根据直接观测还是二次关联来分配置信度评分
- 将所有 IOC 标记为 TLP:AMBER 以供合作伙伴共享
- 导出为 STIX 2.1 包并提交至 FS-ISAC TAXII 源
- 创建便于人类阅读的 IOC 摘要报告用于电子邮件分发
陷阱:
- 在共享的 IOC 包中包含内部 IP 地址或主机名(信息泄露)
- 将本应限制为 TLP:AMBER 的 IOC 以 TLP:WHITE 共享
- 未在便于人类阅读的报告中为 URL 和域名去活化
- 将合法 CDN 或云提供商的 IP 地址作为恶意 IOC 共享
输出格式
INDICATOR OF COMPROMISE REPORT
================================
Incident: INC-2025-1547
Date: 2025-11-15
TLP: AMBER
Sharing: FS-ISAC, internal SOC
NETWORK INDICATORS
Type | Value | Confidence | Context
---------|--------------------------|------------|--------
IPv4 | 185.220.101[.]42 | 95 | Qakbot C2 server
IPv4 | 91.215.85[.]17 | 90 | Cobalt Strike C2
Domain | update.evil[.]com | 95 | Staging domain
URL | hxxps://185.220[.]101.42/gate.php | 95 | C2 check-in
JA3 | a0e9f5d64349fb13191bc7...| 80 | Qakbot TLS fingerprint
HOST INDICATORS
Type | Value | Confidence | Context
---------|--------------------------|------------|--------
SHA-256 | a1b2c3d4e5f6... | 100 | Qakbot dropper
SHA-256 | b2c3d4e5f6a7... | 100 | Cobalt Strike beacon
FilePath | C:\Users\*\AppData\Local\Temp\update.exe | 85 | Dropper location
RegKey | HKCU\...\Run\svcupdate | 90 | Persistence
Mutex | Global\MTX_0x1234ABCD | 95 | Qakbot instance lock
Task | WindowsUpdate | 90 | Scheduled task persistence
EMAIL INDICATORS
Type | Value | Confidence | Context
---------|--------------------------|------------|--------
Sender | billing@spoofed[.]com | 95 | Phishing sender
Subject | "Invoice-Nov2025" | 70 | Phishing subject line
Hash | c3d4e5f6a7b8... | 100 | Malicious .docm attachment
TOTAL: 14 indicators | HIGH confidence avg: 91
评论
支持 Markdown