0xx0d4y/my_threat_intelligence_tool
GitHub: 0xx0d4y/my_threat_intelligence_tool
一款命令行威胁情报工具,统一整合 ThreatFox、MalwareBazaar 和 VirusTotal 三大来源,方便安全分析师集中进行 IOC 狩猎、关联追踪和二进制文件分类。
Stars: 0 | Forks: 0
# 我的简单威胁情报工具
这只是一个简单的工具,用于搜索一些 IOC。它不是一个产品,只是我为自己的活动构建的工具。
一个用于在恶意软件分析、威胁狩猎和事件响应期间进行 **IOC 狩猎、关联追踪和二进制文件分类**的命令行工具。它将三个情报源统一在一个单一、一致的命令树下,这样分析师无需切换工具即可丰富、关联和分类指标。
数据源(目前):
- **ThreatFox** (abuse.ch) - IOC 查找和关联
- **MalwareBazaar** (abuse.ch) - 恶意软件样本元数据和下载
- **VirusTotal** - 文件和 IP 分类(导入、PE 节区与熵、判定结果、威胁分类、YARA 和 Sigma 匹配)
## 请安装前置要求
- Python 3.7+
- `requests`
安装依赖项:
```
pip install -r requirements.txt
```
## 获取你的 API Keys
- **abuse.ch Auth-Key**(`tf-*` 和 `mb-*` 命令必需):在 创建一个免费帐户。
- **VirusTotal API Key**(`vt-*` 命令必需):可在 获取。
abuse.ch Auth-Key 可以通过 `--auth-key` 传递,或设置为环境变量(`THREATFOX_AUTH_KEY`、`MALWAREBAZAAR_AUTH_KEY` 或共享的 `ABUSECH_AUTH_KEY`)。VirusTotal key 通过 `--vt-api-key` 传递。
```
export ABUSECH_AUTH_KEY="your_abusech_key"
```
## 一些使用示例
```
python3 threat_intell_hunting.py [args] [flags]
python3 threat_intell_hunting.py --help
python3 threat_intell_hunting.py --help
```
每个命令可用的通用 flags:`--json`、`--iocs-only`、`-o/--output FILE`。
### 一些 ThreatFox 示例
```
# 搜索 IOC (IP / domain / URL);默认通配
python3 threat_intell_hunting.py tf-ioc 94.103.84.81 --auth-key
python3 threat_intell_hunting.py tf-ioc example.com --exact --auth-key
# 与 hash 关联的 IOC
python3 threat_intell_hunting.py tf-hash --auth-key
# 按 malware family / tag 分类 IOC
python3 threat_intell_hunting.py tf-malware "Cobalt Strike" --limit 200 --auth-key
python3 threat_intell_hunting.py tf-tag Magecart --auth-key
# 最近 IOC (最近 N 天,1-7)
python3 threat_intell_hunting.py tf-recent --days 3 --auth-key
```
### 一些 MalwareBazaar 示例
```
# 按 hash 获取完整 sample 详情
python3 threat_intell_hunting.py mb-hash --auth-key
# 按 tag / signature / imphash / YARA rule 分类 Sample
python3 threat_intell_hunting.py mb-tag TrickBot --auth-key
python3 threat_intell_hunting.py mb-sig TrickBot --auth-key
python3 threat_intell_hunting.py mb-imphash --auth-key
python3 threat_intell_hunting.py mb-yara win_remcos_g0 --auth-key
# 最近检测 (最近 N 小时,1-168)
python3 threat_intell_hunting.py mb-recent --hours 48 --auth-key
# 下载 sample (ZIP,密码:infected)
python3 threat_intell_hunting.py mb-download -o sample.zip --auth-key
```
### 一些 VirusTotal 示例
```
# 按 hash 进行完整 artifact triage
python3 threat_intell_hunting.py vt-hash --vt-api-key
# 获取特定厂商判定
python3 threat_intell_hunting.py vt-hash --vendor "SentinelOne (Static ML)" --vt-api-key
# IP reputation triage
python3 threat_intell_hunting.py vt-ip 94.103.84.81 --vt-api-key
# 原始 JSON / 保存响应 / 仅 indicator
python3 threat_intell_hunting.py vt-hash --json --vt-api-key
python3 threat_intell_hunting.py vt-hash -o vt.json --vt-api-key
python3 threat_intell_hunting.py vt-ip 1.2.3.4 --iocs-only --vt-api-key
```
## 命令列表
| 命令 | 来源 | 用途 |
|---|---|---|
| `tf-ioc` | ThreatFox | 搜索 IOC (IP/域名/URL) |
| `tf-hash` | ThreatFox | 与哈希关联的 IOC |
| `tf-malware` | ThreatFox | 按恶意软件家族查询 IOC |
| `tf-tag` | ThreatFox | 按 tag 查询 IOC |
| `tf-recent` | ThreatFox | 近期 IOC(按天) |
| `mb-hash` | MalwareBazaar | 完整样本详情 |
| `mb-tag` | MalwareBazaar | 按 tag 查询样本 |
| `mb-sig` | MalwareBazaar | 按 signature 查询样本 |
| `mb-imphash` | MalwareBazaar | 按 imphash 查询样本 |
| `mb-yara` | MalwareBazaar | 按 YARA 规则查询样本 |
| `mb-recent` | MalwareBazaar | 近期检测(按小时) |
| `mb-download` | MalwareBazaar | 下载样本(ZIP 格式,密码:infected) |
| `vt-hash` | VirusTotal | 文件分类(导入/节区/判定结果/YARA/Sigma) |
| `vt-ip` | VirusTotal | IP 信誉分类 |
## 输出规范
- `[!]` 突出显示值得调查的信号(恶意/可疑计数、高熵节区、`rx` 节区 flags、YARA/Sigma 命中、威胁标签)。
- `[+]` 和 `[-]` 表示信息提示。
- `--iocs-only` 每行打印一个指标,以便直接在狩猎 pipeline 中使用。在 `vt-*` 命令中,当文件或 IP 被 VirusTotal 收录时(否则为空),它会打印所查询的指标,作为快速判定已知/未知的检查手段。
## 注意事项
- 我使用大量的 Bash Scripting 来获取更好的输出。我推荐这样做!
- 下载的 MalwareBazaar 样本以受密码保护的 ZIP 压缩包形式提供(密码:`infected`)。请在隔离的分析环境中处理。
- API 速率限制因数据源和 key 级别而异。当超出配额时,VirusTotal 将返回 HTTP 429。
标签:DAST, Python, 动态分析, 威胁情报, 安全运营, 开发者工具, 恶意软件分析, 扫描框架, 文档结构分析, 无后门, 逆向工具