La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Productividad · SKILL.md

analyzing-indicators-of-compromise

analyzing-indicators-of-compromise

分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentación de la Skill

GitHub

name: analyzing-indicators-of-compromise description: > 分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。 domain: cybersecurity subdomain: threat-intelligence tags: [IOC, VirusTotal, AbuseIPDB, MalwareBazaar, MISP, threat-intelligence, STIX, NIST-CSF] version: 1.0.0 author: mahipal license: Apache-2.0

分析失陷指标

适用场景

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

  • 钓鱼邮件或告警产生需要快速分诊的 IOC(URL、IP 地址、文件哈希)
  • 自动化情报推送批量投递需要在进入封锁控制前进行置信度评分的 IOC
  • 事件调查需要对观察到的网络工件进行上下文富化

不适用于将本技能单独用于高风险封锁决策——始终将自动化富化与分析师判断结合使用,特别是对于共享基础设施(CDN、云服务商)的情况。

前置条件

  • VirusTotal API 密钥(免费或企业版),用于多引擎杀毒软件和沙箱查询
  • AbuseIPDB API 密钥,用于 IP 信誉检查
  • MISP 实例或威胁情报平台(TIP),用于与已知攻击活动交叉核对
  • 安装有 requests 和 vt-py 库的 Python,或带有预构建连接器的 SOAR 平台

工作流程

步骤 1:规范化并分类 IOC 类型

在富化之前,对每个 IOC 进行分类:

  • IPv4/IPv6 地址:检查是否为 RFC 1918 私有地址(跳过外部富化),验证格式
  • 域名/FQDN:为安全处理进行去激活(evil[.]com),使用 tldextract 提取注册域名
  • URL:分别提取域名和路径;检查是否存在重定向
  • 文件哈希:识别哈希类型(MD5/SHA-1/SHA-256);优先使用 SHA-256 确保唯一性
  • 电子邮件地址:拆分为域名部分(检查 MX/DMARC)和本地部分进行模式分析

在文档中对 IOC 进行去激活处理(将 . 替换为 [.],将 :// 替换为 [://]),防止意外点击。

步骤 2:多源富化

VirusTotal(文件哈希、URL、IP、域名):

import vt

client = vt.Client("YOUR_VT_API_KEY")

# 文件哈希查询
file_obj = client.get_object(f"/files/{sha256_hash}")
detections = file_obj.last_analysis_stats
print(f"Malicious: {detections['malicious']}/{sum(detections.values())}")

# 域名分析
domain_obj = client.get_object(f"/domains/{domain}")
print(domain_obj.last_analysis_stats)
print(domain_obj.reputation)
client.close()

AbuseIPDB(IP 地址):

import requests

response = requests.get(
    "https://api.abuseipdb.com/api/v2/check",
    headers={"Key": "YOUR_KEY", "Accept": "application/json"},
    params={"ipAddress": "1.2.3.4", "maxAgeInDays": 90}
)
data = response.json()["data"]
print(f"Confidence: {data['abuseConfidenceScore']}%, Reports: {data['totalReports']}")

MalwareBazaar(文件哈希):

response = requests.post(
    "https://mb-api.abuse.ch/api/v1/",
    data={"query": "get_info", "hash": sha256_hash}
)
result = response.json()
if result["query_status"] == "ok":
    print(result["data"][0]["tags"], result["data"][0]["signature"])

步骤 3:结合攻击活动溯源归因进行上下文分析

在 MISP 中查询匹配 IOC 的现有事件:

from pymisp import PyMISP

misp = PyMISP("https://misp.example.com", "API_KEY")
results = misp.search(value="evil-domain.com", type_attribute="domain")
for event in results:
    print(event["Event"]["info"], event["Event"]["threat_level_id"])

使用 Shodan 获取 IP 上下文(托管服务商、开放端口、Banner 信息),识别 IP 是否属于防弹托管(Bulletproof Hosting)或合法云服务商(存在误报风险)。

步骤 4:分配置信度分数和处置决定

应用分层决策框架:

  • 封锁(高置信度 ≥70%):VirusTotal ≥15 个引擎检测为恶意,AbuseIPDB 分数 ≥70,匹配已知恶意软件家族或攻击活动
  • 监控/告警(中置信度 40-69%):5-14 个引擎检测,AbuseIPDB 分数中等,无攻击活动溯源
  • 白名单/调查(低置信度 <40%):≤4 个引擎检测,无滥用报告,合法服务(Google、Cloudflare CDN IP)
  • 误报(False Positive):被错误标记的合法业务服务;记录并从未来告警中排除

步骤 5:记录并分发

在 TIP/MISP 中记录发现结果,包含:

  • 收集的所有富化数据(时间戳、来源、分数)
  • 处置决定及理由
  • 已采取的封锁措施(防火墙、代理、DNS 黑洞)
  • 相关事件工单编号

以适当置信度字段导出为 STIX 指标(indicator)对象。

核心概念

术语定义
IOC(失陷指标)表明潜在失陷的可观测网络或主机工件
富化(Enrichment)从多个情报来源向原始 IOC 添加上下文数据的过程
去激活(Defanging)修改 IOC(将 . 替换为 [.])以防止在文档中意外激活
误报率(False Positive Rate)被错误标记为恶意的良性工件百分比;对于调整封锁阈值至关重要
黑洞(Sinkhole)将恶意域名查询重定向到良性 IP 的 DNS 服务器,用于在不完全封锁流量的情况下进行检测
TTLIOC 在封锁控制中的存活时间;IP 指标应在 30 天后过期,域名在 90 天后过期

工具与系统

  • VirusTotal:多引擎恶意软件扫描器和威胁情报平台,拥有 70+ 杀毒引擎、沙箱报告和社区评论
  • AbuseIPDB:社区维护的 IP 信誉数据库,具有 90 天滥用报告历史
  • MalwareBazaar (abuse.ch):免费恶意软件哈希仓库,关联 YARA 规则并进行恶意软件家族标记
  • URLScan.io:免费 URL 分析服务,捕获截图、DOM 和网络请求用于钓鱼 URL 分诊
  • Shodan:全网扫描数据,提供托管服务商、开放端口和 Banner 信息用于 IP 富化

常见陷阱

  • 封锁共享基础设施:CDN IP(Cloudflare 104.21.x.x、AWS CloudFront)可能合法托管恶意内容,但封锁该 IP 会中断成千上万个合法站点。
  • 过度依赖 VirusTotal 分数:低 VirusTotal 检测数量并不意味着安全——零日恶意软件和自定义 APT 工具初始得分通常为 0。需检查沙箱行为、MISP 和被动 DNS。
  • 遗漏去激活:在邮件或 Confluence 文档中粘贴活跃 IOC 可能触发自动 URL 扫描器或钓鱼工具。
  • 无过期策略:没有 TTL 的 IOC 会无限期积累在封锁列表中,当基础设施被合法用户重新利用时产生误报。
  • 过度依赖单一来源:VirusTotal 汇聚了杀毒软件的意见——所有意见都可能是错误的或落后于新兴恶意软件。高风险决策应使用 3 个以上独立来源。
Skills guardadas