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 查询** ![Hash 查询](https://raw.githubusercontent.com/philipzangara/simple-ioc-lookup/main/assets/hash_lookup.png) **URL 查询** ![URL 查询](https://raw.githubusercontent.com/philipzangara/simple-ioc-lookup/main/assets/url_lookup.png) **IP 查询** ![IP 查询](https://raw.githubusercontent.com/philipzangara/simple-ioc-lookup/main/assets/ip_lookup.png) **Domain 查询** ![Domain 查询](https://static.pigsec.cn/wp-content/uploads/repos/cas/00/0001abcb80a415448123cef6dc0f0d2bcd4a8d2f5b74ce28549d83b7613c82b6.png) ## 工作原理 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, 威胁情报, 实时处理, 开发者工具, 文档结构分析, 无后门, 逆向工具