CyberEnthusiastic/threat-intel-analyzer
GitHub: CyberEnthusiastic/threat-intel-analyzer
Python威胁情报分析框架,实现从IOC富化、MITRE ATT&CK映射、威胁行为者归因到Sigma检测规则生成的一站式自动化流程。
Stars: 0 | Forks: 0
# 威胁情报分析器
[](./LICENSE)
[](https://www.python.org/downloads/)
[](https://attack.mitre.org/)
[](https://github.com/SigmaHQ/sigma)
## 功能说明
接收一项观察结果(来自某个事件的一台主机 + 一个进程 + IOC 列表),
执行以下四个步骤:
1. **富化 (Enrich)** 针对本地威胁情报 JSON(以及可选的公开 OSINT)对每个 IOC 进行信息补充 —— 支持 IP、域名、URL、MD5/SHA1/SHA256 等格式。
2. **映射 (Map)** 将富化后的 IOC 及观察到的进程映射到 MITRE ATT&CK 技术。内置了一个包含 30 多种技术的精选语料库,涵盖了 SOC 最常见的观察结果(PowerShell、编码脚本、勒索软件、Tor、MFA 疲劳攻击等)。
3. **关联 (Correlate)** 将得到的技术集合与精选的威胁行为者配置文件(LockBit 3.0、BlackCat、FIN7、Lazarus、SmokeLoader、Scattered Spider、MFA 疲劳攻击工具包、Tor 数据外泄)进行比对关联 —— 输出带有置信度分数的排序列表。
4. **生成 Sigma 规则** —— 每个匹配到的行为者生成一条 YAML 规则(当没有任何行为者达到阈值时,则生成一条通用规则)。使用 `sigmac` 即可将其转换为你的 SIEM 方言。
```
======================================================================
Threat Intel Analyzer
======================================================================
[*] Source: soc-tier-1-incident-2025-04-18 Host: WIN-FIN-014
[*] IOCs : 5 (scored >0: 5)
[*] ATT&CK : 9 techniques mapped
[*] Actors : 8 correlated profiles
── MITRE ATT&CK techniques ─────────────────────
T1090.003 Multi-hop Proxy (Tor) [Command and Control] conf=85
T1486 Data Encrypted for Impact [Impact] conf=85
T1490 Inhibit System Recovery [Impact] conf=85
T1105 Ingress Tool Transfer [Command and Control] conf=85
T1059.001 PowerShell [Execution] conf=75
...
── Threat-actor correlations ──────────────────
Tor-based exfiltration score=73 (2/3) ⭐
SmokeLoader broker score=60 (3/6) ⭐
BlackCat / ALPHV score=50 (5/8)
...
-> wrote rules/blackcat_alphv.yml
-> wrote rules/smokeloader_broker.yml
-> wrote rules/tor_based_exfiltration.yml
```
## 为什么选择这个工具
- **在一个工具中实现从分诊到检测。** 大多数事件响应工作流在“我们获取了 IOC”这一步就停止了。这个工具则继续往下走:对它们进行映射、归因,*并*编写出能捕获下一次攻击的检测规则。
- **Sigma 输出具有可移植性。** YAML 规则可以通过 `sigmac` 转换为 Splunk SPL、Elastic EQL、Sentinel KQL、Chronicle YARA-L。一个事实来源,适配所有 SIEM。
- **诚实可信的威胁行为者归因。** 评分是根据你观察到的该行为者特征技术的数量得出的 —— 没有 AI 幻觉,没有不透明的向量嵌入。你可以直接阅读 `ttp_correlator.py` 中的表格并提出质疑。
- **本地优先。** IOC 数据库、ATT&CK 语料库和威胁行为者配置文件均位于此代码库中。即使在你无法访问外部威胁情报 API 的隔离网络环境中也能正常工作。
- **零依赖。** 仅使用 Python 3.8+ 标准库。
## 快速入门
```
git clone https://github.com/CyberEnthusiastic/threat-intel-analyzer.git
cd threat-intel-analyzer
# 在捆绑的 observation 上运行 (5 IOCs → 9 techniques → 3 Sigma rules):
python analyzer.py --observation samples/observation.json \
--intel samples/threat_intel.json \
--rules-out rules/
# 从 SOAR 或 runbook 的实际运行:
python analyzer.py --observation /tmp/incident-2025-04.json \
--intel ./intel/local.json --json out.json \
--rules-out detection_rules/
```
## 观察结果格式
最小化观察结果结构:
```
{
"source": "soc-tier-1-incident-2025-04-18",
"host": "WIN-FIN-014",
"user": "fin\\jdoe",
"process": "powershell.exe",
"iocs": [
"45.155.205.233",
"44d8...02f",
"evil-update.click",
"185.220.101.42"
]
}
```
任何你没有的数据都可以省略。处理流程会优雅降级 —— 输入越少 → 映射越少 → 生成的规则越少,但绝不会报错。
## ATT&CK 语料库
`mitre_mapper.py` 中的技术语料库涵盖了全部 12 个 ATT&CK 战术中的 30 多种技术。示例:
| 技术 | 战术 | 触发条件 |
|---|---|---|
| `T1059.001` PowerShell | 执行 | process = `powershell.exe` / `pwsh.exe` |
| `T1059.005` Visual Basic | 执行 | process = `wscript.exe` / `cscript.exe` / `mshta.exe` |
| `T1486` 数据加密造成影响 | 影响 | tag = `ransomware` |
| `T1490` 抑制系统恢复 | 影响 | tag = `ransomware` |
| `T1071.001` Web 协议 | 命令控制 | URL / 域名 IOC |
| `T1090.003` 多跳代理 | 命令控制 | tag = `tor-exit` |
| `T1105` 入站工具传输 | 命令控制 | tag = `loader` |
| `T1621` MFA 请求生成 | 凭证访问 | tag = `mfa-fatigue` |
添加映射只需在 `_TAG_TO_TECH` 或 `_PROCESS_TECHNIQUES` 中添加一条记录。
## 威胁行为者配置文件
| 行为者 | 类别 | 特征技术 |
|---|---|---|
| **LockBit 3.0** | ransomware | T1486, T1490, T1562.001 |
| **BlackCat / ALPHV** | ransomware | T1486, T1078.004 |
| **FIN7 / Carbon Spider** | apt | T1059.005, T1078 |
| **Lazarus / APT38** | apt | T1567.002, T1041 |
| **SmokeLoader broker** | loader | T1105, T1027 |
| **Scattered Spider / 0ktapus** | apt | T1621, T1078.004 |
| **MFA fatigue kit** | broker | T1621 |
| **Tor exfiltration** | broker | T1090.003 |
关联过程会通过 `(匹配数 / 配置文件大小) * 80` 计算出一个基础分数,
如果所有的特征技术都出现了(输出中的 ⭐ 标志),则额外加 20 分。
## Sigma 输出
每条生成的规则都是符合 Sigma YAML 1.0 规范的:
```
title: Activity matching SmokeLoader broker
id: a3f1...
description: Auto-generated from 3 of 6 signature techniques.
status: experimental
author: threat-intel-analyzer
date: 2025/04/18
tags:
- attack.t1105
- attack.t1027
- attack.t1071.001
references:
- actor:smokeloader_broker
logsource:
category: network_connection
detection:
sel_ip:
DestinationIp:
- '45.155.205.233'
sel_dom:
DestinationHostname|contains:
- 'evil-update.click'
sel_hash:
Hashes|contains:
- '44d8...02f'
condition: sel_ip or sel_dom or sel_hash
falsepositives:
- Legitimate use of public services with overlapping indicators
level: high
```
转换为你的 SIEM 格式:
```
sigmac -t splunk rules/smokeloader_broker.yml > smokeloader.spl
sigmac -t es-qs rules/smokeloader_broker.yml > smokeloader.eql
```
## 命令行
```
usage: analyzer.py [-h] --observation PATH [--intel PATH] [--json PATH]
[--rules-out DIR] [--actor-threshold N]
```
| 标志 | 用途 |
|---|---|
| `--observation PATH` | 观察结果 JSON 文件 (主机 + 进程 + IOC 列表) |
| `--intel PATH` | 本地威胁情报 JSON 文件 (格式与 MDR 分诊机器人相同) |
| `--json PATH` | 为下游工具写入完整的 JSON 报告 |
| `--rules-out DIR` | 用于写入生成的 Sigma 规则文件的目录 |
| `--actor-threshold N` | 包含在规则生成中的最低行为者分数 (默认为 50) |
## 架构
```
analyzer.py ── CLI orchestrator: enrich → map → correlate → emit
ioc_enricher.py ── shared with mdr-triage-bot
mitre_mapper.py ── ATT&CK corpus + heuristic mappers
ttp_correlator.py ── threat-actor profiles + scoring
sigma_generator.py ── Sigma YAML emitter (stdlib-only YAML output)
samples/
observation.json ── one realistic incident fixture
threat_intel.json ── small but populated IOC database
tests/
test_analyzer.py ── 10 unit tests, runs in <100ms
```
## 运行测试
```
python -m unittest discover tests
```
10 个测试涵盖了:ATT&CK 映射器(进程 → 技术、语料库大小、多 IOC 观察)、TTP 关联器(特征全匹配加分、无匹配、配置文件数量)、Sigma 生成器(YAML 结构、无行为者匹配时的通用回退规则),以及基于样本观察结果的端到端测试。
## 许可证
MIT —— 详见 [LICENSE](./LICENSE)。
标签:ESC4, IOC富化, MITRE ATT&CK映射, OSINT, Python安全工具, SIEM检测规则, Sigma YAML, Sigma规则生成, SOC自动化, TTP关联, YAML, 入侵指标, 勒索软件, 威胁情报分析, 安全库, 安全运营中心, 库, 应急响应, 攻击者识别, 网络信息收集, 网络安全, 网络映射, 逆向工具, 隐私保护, 黑客组织画像