用途
该技能面向网络威胁情报(Cyber Threat Intelligence, CTI)工作,用于收集、分析和分发威胁情报,包括 IOC 提取、威胁行为者画像以及 MITRE ATT&CK 映射。其目标是将威胁数据处理为可执行的威胁情报。
主要能力
- IOC 提取:从文本、日志和报告中提取指标。
- IOC 管理:对指标进行去重、验证和富化。
- 威胁画像:记录威胁行为者和攻击活动。
- ATT&CK 映射:将威胁映射到 MITRE ATT&CK 框架。
- 情报报告:生成威胁公告和评估报告。
- 情报源处理:解析和规范化威胁情报源。
使用方式
该技能以 Python 模块 cti_utils 的形式提供,主要类包括:
IOCExtractor:从文本中提取 IOC,支持 defang/refang 转换与 IOC 验证。IOCCollection:管理带上下文的指标集合,支持去重,并可导出为 CSV、JSON、STIX 2.1 格式。ThreatActor:记录威胁行为者名称、别名、动机、复杂度、来源、TTP、目标行业/地区、工具与基础设施,并生成画像。Campaign:跟踪攻击活动,记录首次发现时间、关联行为者、描述、目标、IOC、TTP、目标与时间线事件,并生成报告。ATTACKMapper:添加 ATT&CK 技术、生成矩阵视图、查询技术详情,并导出为 ATT&CK Navigator 图层 JSON。IntelReport:生成情报报告,包含摘要、关键发现、IOC、TTP 与建议,并可生成执行简报。
快速开始示例:
from cti_utils import IOCExtractor, ThreatActor, IntelReport
# 从文本提取 IOC
extractor = IOCExtractor()
iocs = extractor.extract_from_text('''
Malware connects to 192.168.1.100 and evil.com.
Hash: d41d8cd98f00b204e9800998ecf8427e
''')
print(iocs)
# 记录威胁行为者
actor = ThreatActor('APT29', aliases=['Cozy Bear', 'The Dukes'])
actor.add_ttp('T1566', 'Phishing')
actor.set_motivation('espionage')
# 生成情报报告
report = IntelReport('Emerging Ransomware Campaign')
report.add_ioc('ip', '10.0.0.1', 'C2 server')
print(report.generate())
支持的 IOC 类型包括:ip(IPv4 与 IPv6)、domain、url、hash(MD5、SHA1、SHA256)、email、cve。
配置项(环境变量):
CTI_FEED_API_KEY:威胁情报源 API 密钥,非必填,默认无。CTI_OUTPUT_DIR:报告输出目录,非必填,默认./output。
适用场景
- 安全分析人员从报告、日志中批量提取和整理 IOC。
- 事件响应过程中应用 CTI 信息(相关技能:incident-response)。
- SOC 运营中基于 CTI 进行检测(相关技能:soc-operations)。
- 对威胁行为者和攻击活动进行画像与跟踪。
- 将威胁映射到 MITRE ATT&CK 并导出至 ATT&CK Navigator。
- 生成威胁情报报告与执行简报。
限制
- 无实时情报源:情报源获取需要手动配置。
- 离线 ATT&CK:使用内嵌的技术数据。
- 无富化 API:不包含外部富化能力。
故障排查
IOC 格式无效时,验证使用标准正则表达式:
# 有效
extractor.validate_ioc('ip', '192.168.1.1') # True
# 无效
extractor.validate_ioc('ip', '192.168.1.256') # False
Defang 问题:请使用一致的 defang 格式:
# 标准 defang
extractor.defang('http://evil.com')
# 返回: hxxp://evil[.]com
参考
- 详细 API 参考
- MITRE ATT&CK
- STIX 2.1 规范