dfirvault/LogEnricher

GitHub: dfirvault/LogEnricher

LogEnricher 是一款 CSV 日志威胁情报富化工具,通过集成多源情报自动为日志添加威胁上下文,便于后续导入 SIEM 进行安全调查。

Stars: 0 | Forks: 0

# LogEnricher - CSV 威胁情报富化工具 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.7%2B-blue)](https://www.python.org/) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey)](https://github.com/dfirvault/LogEnricher) **LogEnricher** 是一款强大的网络安全工具,可利用来自多个来源的威胁情报自动富化 CSV 日志文件。它会从您的日志中提取危害指标 (IOC),并添加上下文威胁情报、地理位置数据、代理/VPN 检测以及信誉评分。 ## 🚀 功能 - **多源威胁情报** - AlienVault OTX - Pulse 订阅源和威胁评分 - AbuseIPDB - IP 信誉和置信度评分 - IP2Location PX12 - 代理、VPN、TOR 和托管检测 - Tor Exit Node - 实时 TOR 出口节点检测 - **IOC 提取** - IP 地址 (IPv4) - 域名 - URL - 文件哈希 (MD5, SHA1, SHA256) - **丰富的富化数据** - 地理位置(国家、地区、城市、ISP) - 代理/VPN/TOR 检测 - 威胁评分和置信度评级 - 恶意 Pulse 信息 - ASN 和网络提供商数据 - 欺诈评分 - **用户友好功能** - 使用 questionary 的交互式 CLI - 使用 rich 的精美控制台输出 - 进度条和实时状态更新 - Windows 注册表配置持久化 - 用于离线性能的本地缓存 - 多个 CSV 文件的批量处理 ## 📋 前置条件 - Python 3.7 或更高版本 - 用于 API 查询的活跃互联网连接 - 您希望使用的服务的 API 密钥 ### 所需的 API 密钥(提供免费层级) | 服务 | 免费层级 | 注册 | |---------|-----------|---------------| | AlienVault OTX | ✅ 每天最多 1000 次请求 | [在此注册](https://otx.alienvault.com/) | | IP2Location PX12 LITE | ✅ 使用 token 免费 | [在此注册](https://www.ip2location.com/register) | | AbuseIPDB | ✅ 每天 1000 次请求 | [在此注册](https://www.abuseipdb.com/register) | ## 🔧 安装说明 ### 方法 1:预编译可执行文件 (Windows) 1. 从 [Releases](https://github.com/dfirvault/LogEnricher/releases) 下载最新的 `LogEnricher.exe` 2. 运行可执行文件 - 无需安装 Python! ### 方法 2:从源码安装 `#` 克隆仓库 `git clone https://github.com/dfirvault/LogEnricher.git` `cd LogEnricher` `#` 运行工具 `python LogEnricher.py` ### Requirements.txt `questionary>=2.0.0` `rich>=13.0.0` `requests>=2.31.0` ## 💻 用法 ### 快速开始 `python LogEnricher.py` 该工具将引导您完成: 1. API 密钥配置 2. 富化服务选择 3. 文件/文件夹选择 4. 输出目录选择 ### 输入格式 任何包含日志、事件或文本数据的 CSV 文件。该工具会自动: - 检测 CSV 方言和编码 - 从所有列中提取 IOC - 保留原始数据,同时添加富化列 ### 输出格式 原始列 + 富化列(以数据源为前缀): - `geo_*` - 地理位置数据 (IP2Location) - `proxy_*` - 代理/VPN 检测 - `abuse_*` - AbuseIPDB 信誉 - `otx_*` - OTX 威胁情报 - `combined_threat_score` - 综合威胁评分 (0-100) ### 输出列示例 | 原始 | 富化后 | |----------|----------| | timestamp | geo_country_code | | src_ip | geo_country_name | | dst_ip | proxy_type | | user_agent | abuse_confidence_score | | url | otx_pulse_count | | ... | combined_threat_score | ## 🎯 用例 ### 安全运营 (SOC) - 使用威胁情报富化防火墙日志 - 实时识别恶意 IP - 根据威胁评分确定事件响应的优先级 ### 威胁狩猎 - 从历史日志中提取 IOC - 识别之前遗漏的指标 - 构建威胁情报数据集 ### 取证分析 - 富化 PCAP/NetFlow 日志 - 对可疑连接进行地理定位 - 检测代理/VPN 的使用 ### 合规性报告 - 生成丰富的证据文件 - 创建可审计的报告 - 展示威胁检测能力 ## 🔒 Windows 注册表配置 该工具将 API 密钥和首选项保存至: `HKEY_CURRENT_USER\Software\DFIRVault\LogEnricher` 保存的设置包括: - API 密钥(在注册表中加密) - 上次使用的输入/输出路径 - 已启用的富化服务 ## 📁 缓存系统 本地缓存可提高性能并减少 API 调用: `%USERPROFILE%\.log_enricher_cache\` `├── ip2location_px12_db.pkl` `#` IP2Location 数据库(30 天缓存) `├── tor_exit_nodes.pkl` `#` TOR 出口节点(24 小时缓存) `└── ip2location_px12_metadata.json` ## 📊 性能考量 ## 🐛 故障排除 ### 常见问题 **问:“No module named 'questionary'”** `pip install questionary rich requests` **问:IP2Location 下载失败** - 在 IP2Location.com 验证您的 token - 检查网络连接 - 确保防火墙允许下载 **问:Windows 注册表访问被拒绝** - 以管理员身份运行 - 工具将在不保存注册表的情况下继续运行 **问:大型 CSV 文件处理缓慢** - 减少富化服务 - 使用较小的批量大小 - 考虑拆分大文件 ## 📄 许可证 MIT 许可证 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件 ## 🔗 链接 - [GitHub 仓库](https://github.com/dfirvault/LogEnricher) - [问题追踪器](https://github.com/dfirvault/LogEnricher/issues) - [DFIRVault 博客](https://dfirvault.com) ## 🙏 鸣谢 - AlienVault 提供的 OTX 威胁情报 - IP2Location 提供的代理检测数据库 - AbuseIPDB 提供的信誉数据 - Tor Project 提供的出口节点列表 ## 📧 联系方式 - **作者**:DFIRVault - **电子邮件**:contact@dfirvault.com - **Twitter**:[@DFIRVault](https://twitter.com/DFIRVault)
标签:Python, 威胁情报, 开发者工具, 无后门, 日志富化, 逆向工具