philipzangara/simple-ioc-lookup
GitHub: philipzangara/simple-ioc-lookup
一个基于 Python 的命令行 IOC 查询工具,能自动识别 IP、域名、URL 和文件哈希的类型,并通过多个威胁情报 API 进行集中富化。
Stars: 0 | Forks: 0
## 简单 IOC 查询
一个基于 Python 的 IOC 扩充工具,可对 IP、domain、URL 和 file hash 执行自动化分类。
## 用法
Windows:
```
python enrich.py
```
Linux/Mac:
```
python3 enrich.py
```
JSON 输出:
```
python enrich.py --output json
```
输出到文件:
```
python enrich.py --output json > result.json
```
使用 Python 3.10.11 进行测试
## 依赖要求
```
pip install -r requirements.txt
```
## API 密钥
此工具使用了以下免费的 API:
- VirusTotal: https://www.virustotal.com (需要免费账号)
- AbuseIPDB: https://www.abuseipdb.com (需要免费账号)
- AlienVault OTX: https://otx.alienvault.com (推荐使用免费账号)
**注意:VirusTotal 免费层级限制为每分钟 4 次请求。请在两次查询之间留出 15 秒的时间,以避免触发速率限制。**
如果未提供相应的密钥,将跳过 URL 和 hash 分析。如果未提供 OTX_API_KEY,将跳过 OTX 扩充。
将密钥添加到项目目录下的 `.env` 文件中:
```
VT_API_KEY=your_key_here
ABUSEIPDB_API_KEY=your_key_here
OTX_API_KEY=your_key_here
```
## 功能
- IOC 类型检测 (URL、IP、hash、domain)
- VirusTotal URL 扩充
- VirusTotal hash 扩充
- AbuseIPDB IP 扩充
- Domain 扩充
- 针对域和 URL IOC 类型的 WHOIS 查询
- 针对所有 IOC 类型的 AlienVault OTX 扩充 (pulse 数量、malware 家族、对手关联)
## 示例输出
**Hash 查询**

**URL 查询**

**IP 查询**

**Domain 查询**

## 工作原理
1. 自动检测 IOC 类型 (URL、IP、hash 或 domain)
2. 根据类型路由到相应的扩充 API
3. URL 和 domain 查询包含 WHOIS 注册数据
4. 根据厂商检测和滥用评分返回裁定结果
| IOC 类型 | 使用的 API |
|----------|-----------|
| URL | VirusTotal, WHOIS, OTX |
| IP | AbuseIPDB, OTX |
| Hash | VirusTotal, OTX |
| Domain | VirusTotal, WHOIS, OTX |
## MITRE ATT&CK
此工具支持对以下技术的调查:
- T1566 — Phishing (URL 和 domain 分类)
- T1071 — Application Layer Protocol (domain 和 URL 分析)
- T1204 — User Execution (恶意 hash 识别)
- T1190 — Exploit Public-Facing Application (IP 信誉查询)
## 示例数据
测试 IOC 来源于公开的 phishing 和 malware 数据源。
## 代码质量
- 使用 mypy 进行类型检查
- 使用 unittest 进行单元测试
## 版本
1.1.0
## 作者: Philip Zangara
## 许可证: MIT
免责声明:独立构建,AI 仅作为学习辅助工具,用于提供指导和调试反馈。
标签:ESC4, GitHub, IOC查询, OSINT, Python, 威胁情报, 实时处理, 开发者工具, 文档结构分析, 无后门, 逆向工具