AdiZzZ0052/IOC-Threat-Scanner

GitHub: AdiZzZ0052/IOC-Threat-Scanner

一个基于 Python 的专业级 IOC 威胁情报平台,帮助安全团队跨多源快速查询与分析入侵指标。

Stars: 1 | Forks: 0

# IOC威胁扫描器 [![Python](https://img.shields.io/badge/Python-3.8%2B-blue.svg)](https://www.python.org/downloads/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Security](https://img.shields.io/badge/Security-Hardened-brightgreen.svg)](#security-features) [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)](#installation) 一个使用 Python 和 PyQt6 构建的专业级 **IOC(入侵指标)威胁情报平台**。该工具使安全分析师能够快速调查可疑的 IP 地址、域名和文件哈希,并跨多个威胁情报源进行查询。 ![IOC Scanner](https://img.shields.io/badge/Status-Production%20Ready-success) ## 作者 **Adi Cohen** - GitHub: [@AdiZzZ0052](https://github.com/AdiZzZ0052) - LinkedIn: [Adi Cohen](https://www.linkedin.com/in/adi-cohen-ac/) ## 功能特性 ### 核心扫描能力 - **单一 IOC 扫描** - 查询单个 IP 地址、域名或文件哈希 - **批量扫描** - 同时处理多个 IOC 并带有进度跟踪 - **邮件分析** - 解析邮件头并检测钓鱼企图 - **分析师辅助工具** - 安全运营中心分析师必备的实用工具 ### 集成的威胁情报源 | 来源 | 类型 | 描述 | |------|------|------| | VirusTotal | API | 多引擎查杀结果和检测详情 | | AbuseIPDB | API | IP 信誉和滥用报告 | | AlienVault OTX | API | 威胁脉冲和社区情报 | | Hybrid Analysis | API | 沙箱分析结果 | | URLScan.io | API | 网站扫描和截图 | | ThreatYeti | Link | 额外的威胁上下文 | | WHOIS | 查询 | 域名注册详情 | | GeoIP | 查询 | IP 地理位置和 ISP 信息 | ### AI 驱动分析 - 集成 **Bytez AI**(Mistral-7B)进行智能威胁摘要 - 自动钓鱼邮件分析并附带判决评分 - 上下文感知威胁评估 ### 安全特性 - **密码保护** - 使用 SHA-256 哈希的应用程序密码 - **暴力破解防护** - 10 次失败尝试后锁定账户(30 分钟冷却时间) - **输入净化** - 防止注入攻击 - **XSS 预防** - HTML 输出转义 - **安全配置** - 受保护的 API 密钥存储和受限文件权限 ## 安装 ### 先决条件 - Python 3.8 或更高版本 - pip(Python 包管理器) ### 快速开始 1. **克隆仓库** ``` git clone https://github.com/AdiZzZ0052/IOC-Threat-Scanner.git cd IOC-Threat-Scanner ``` 2. **安装依赖** ``` pip install -r requirements.txt ``` 3. **运行应用程序** ``` python ioc_scanner.py ``` ### 首次设置 首次启动时,系统会提示你创建一个主密码来保护你的 API 密钥和配置。 ## 配置 ### API 密钥设置 1. 启动应用程序并完成身份验证 2. 点击 **设置**(齿轮图标) 3. 输入你要使用的服务的 API 密钥: | 服务 | 获取 API 密钥 | |------|-------------| | VirusTotal | [virustotal.com/gui/join-us](https://www.virustotal.com/gui/join-us) | | AbuseIPDB | [abuseipdb.com/account/api](https://www.abuseipdb.com/account/api) | | AlienVault OTX | [otx.alienvault.com/api](https://otx.alienvault.com/api) | | Hybrid Analysis | [hybrid-analysis.com/apikeys](https://www.hybrid-analysis.com/apikeys/info) | | URLScan.io | [urlscan.io/user/profile](https://urlscan.io/user/profile) | | Bytez AI | [bytez.com](https://bytez.com) | ### 配置文件位置 - **Windows:** `C:\Users\\ioc_scanner_config.json` - **Linux/macOS:** `~/ioc_scanner_config.json` ## 使用方法 ### 单一 IOC 扫描 1. 切换到 **单一扫描器** 标签页 2. 输入一个 IOC(IP 地址、域名或文件哈希) 3. 点击 **扫描** 或按 Enter 4. 查看带有详细报告链接的结果 ### 批量扫描 1. 切换到 **批量扫描器** 标签页 2. 输入多个 IOC(每行一个或逗号分隔) 3. 点击 **运行批处理** 4. 监控进度并查看汇总结果 ### 邮件分析 1. 切换到 **邮件分析** 标签页 2. 粘贴原始邮件内容(包括头部) 3. 点击 **分析头部** 进行技术分析 4. 点击 **AI 钓鱼检测** 进行 AI 驱动的钓鱼识别 ### 分析师辅助工具 - **Defang/Refang** - 转换 URL 以便安全分享 - **Base64 编码/解码** - 处理编码内容 - **URL 解码** - 解码 URL 编码字符串 - **提取 IP** - 从文本中提取所有 IP 地址 - **端口查询** - 识别常用端口服务 ## 支持的 IOC 类型 | 类型 | 示例 | 检测方式 | |------|------|----------| | IPv4 | `192.168.1.1` | 自动检测 | | IPv6 | `2001:0db8::1` | 自动检测 | | 域名 | `example.com` | 自动检测 | | MD5 哈希 | `d41d8cd98f00b204e9800998ecf8427e` | 32 位字符 | | SHA1 哈希 | `da39a3ee5e6b4b0d3255bfef95601890afd80709` | 40 位字符 | | SHA256 哈希 | `e3b0c44298fc1c149afbf4c8996fb924...` | 64 位字符 | ## 截图 image image ### 主扫描器界面 ``` ┌─────────────────────────────────────────────────────────┐ │ Threat Intelligence Platform [⚙️] │ ├─────────────────────────────────────────────────────────┤ │ [Single Scanner] [Bulk Scanner] [Helper] [Email] │ ├─────────────────────────────────────────────────────────┤ │ Enter IOC: [________________________] [🔍 Scan] │ ├─────────────────────────────────────────────────────────┤ │ Results: │ │ VirusTotal: 5/72 detections | [Scan link] │ │ AbuseIPDB: 87/100 confidence | [Scan link] │ │ OTX: Found in 3 pulses | [Scan link] │ │ │ │ AI Analysis: This IP is associated with a known │ │ botnet command and control server... │ └─────────────────────────────────────────────────────────┘ ``` ## 安全注意事项 ### 对于用户 - 永远不要共享你的配置文件(包含 API 密钥) - 为应用程序使用强而唯一的密码 - 妥善保管 API 密钥并定期轮换 - 在采取操作前审查扫描结果 ### 对于开发者 - 输入净化可防止命令/SQL 注入 - HTML 转义可防止 XSS 攻击 - API 请求使用 HTTPS 并进行证书验证 - 敏感数据不会被记录或以明文显示 ## 故障排除 ### 常见问题 **"API 密钥缺失"错误** - 打开设置并验证你的 API 密钥是否正确输入 - 某些服务在提供 API 访问之前需要账户验证 **"账户锁定"消息** - 等待 30 分钟让锁定过期 - 如果忘记密码,请联系仓库维护者 **依赖项安装失败** ``` # 首先尝试升级 pip python -m pip install --upgrade pip pip install -r requirements.txt ``` **PyQt6 在 Linux 上的问题** ``` # 安装系统依赖 sudo apt-get install python3-pyqt6 libxcb-xinerama0 ``` ## 贡献 欢迎贡献!请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。 ### 开发环境设置 ``` git clone https://github.com/AdiZzZ0052/IOC-Threat-Scanner.git cd IOC-Threat-Scanner pip install -r requirements-dev.txt ``` ## 许可证 本项目根据 MIT 许可证授权 - 详见 [LICENSE](LICENSE) 文件。 ## 致谢 - [VirusTotal](https://www.virustotal.com) 提供的综合恶意软件数据库 - [AbuseIPDB](https://www.abuseipdb.com) 提供的 IP 信誉数据 - [AlienVault OTX](https://otx.alienvault.com) 提供的开放威胁交换 - [Bytez](https://bytez.com) 提供的 AI 模型托管 ## 免责声明 本工具仅用于合法的安全研究和防御目的。用户需确保其使用行为符合适用法律以及集成 API 的服务条款。作者不对本软件的滥用承担任何责任。

用 ❤️ 为网络安全社区制作
@AdiZzZ0052

标签:AbuseIPDB, AI威胁摘要, Elastic, GeoIP, Hybrid Analysis, IOC威胁情报, IOC扫描, masscan, Mistral-7B, PyQt6, Python, SOC分析工具, ThreatYeti, URLScan.io, WHOIS, 分析师工具, 单次IOC扫描, 多源情报, 威胁分析, 威胁情报平台, 字节AI, 安全硬化, 情报收集, 批量IOC扫描, 指示器扫描, 无后门, 无服务器架构, 漏洞研究, 生产就绪, 电子邮件解析, 病毒总览, 网络安全, 自动化侦查工具, 逆向工具, 钓鱼邮件分析, 隐私保护