mateusm1403/LogIntel

GitHub: mateusm1403/LogIntel

一款模块化的高性能 Python 日志处理流水线,专为大规模日志的标准化、关联分析和威胁检测而设计。

Stars: 0 | Forks: 0

# LogIntel ![Python](https://img.shields.io/badge/python-3.11+-blue) ![Status](https://img.shields.io/badge/status-active-success) ![License](https://img.shields.io/badge/license-MIT-green) 高性能 Python pipeline,用于大规模日志处理和流式传输。专为 SOC、DFIR 和 Threat Hunting 设计的模块化架构,专注于低内存消耗、数据标准化和威胁检测。 # 动机 在进行安全分析和故障排除时,处理海量日志通常需要使用多种工具并进行大量手动处理。 LogIntel Pipeline 的目标是简化这一流程,为事件的摄取、标准化、关联和分析提供模块化且可扩展的基础。 # 功能 - 大规模日志处理 - 流式读取 - 模块化 Parsers - 事件标准化 - 时间关联 - 提取 IOCs - brute force 检测 - 识别可疑 IPs - 事件 Timeline - 导出为 JSON、Markdown 和 HTML 格式 - 兼容 MITRE ATT&CK 架构 - 集成 Sigma Rules 的基础 # 支持的格式 - JSON / JSONL - CSV - TXT - Syslog - Apache Logs - Nginx Logs - XML - EVTX - CSV # 项目结构 ``` . ├── config/ │ └── default_config.json ├── data/ │ └── samples/ │ ├── apache_access.log │ ├── auth.log │ ├── events.jsonl │ └── windows.xml ├── reports/ │ └── templates/ │ └── final_report.md ├── src/ │ └── logintel/ │ ├── analysis/ │ ├── correlation/ │ ├── enrichment/ │ ├── export/ │ ├── ingestion/ │ ├── normalization/ │ ├── parsing/ │ ├── pipeline/ │ └── utils/ ├── main.py └── requirements.txt ``` # 使用 Pandas 分析 CSV `--csv` 模式使用 Pandas 作为分析引擎,并通过 `csv_analysis.chunksize` 配置按 chunks 处理文件。它是为处理 Wazuh、Splunk、SIEMs、firewalls、EDR/XDR、Windows Events、CrowdStrike、Microsoft Sentinel、Zabbix 和 Elastic Stack 的导出数据而创建的。 该引擎会自动标准化常见的列别名,例如 `source_ip`、`srcip` 和 `source.ip` 会转换为 `src_ip`;`user`、`accountname` 和 `user.name` 会转换为 `username`;`_time`、`@timestamp` 和 `event_time` 会转换为 `timestamp`。 当前的分析功能包括: 按源/目的 IP、用户、主机、严重程度、事件类型、动作和状态码 (status code) 统计 top-N 按时间窗口计数 按来源/用户/窗口检测 brute force 检测可疑 keywords 识别异常的流量峰值 # 安装说明 克隆仓库 git clone https://github.com/mateusm1403/logintel-pipeline.git cd logintel-pipeline 安装依赖项 pip install -r requirements.txt # 快速使用 创建并激活虚拟环境 1. Windows (PowerShell) python -m venv .venv .venv\Scripts\activate 2. Linux / WSL python3 -m venv .venv source .venv/bin/activate 创建一个测试日志文件 1. Windows echo Failed password for root from 10.0.0.1 > logs.txt 2. Linux / WSL echo "Failed password for root from 10.0.0.1" > logs.txt 执行 pipeline python main.py --input logs.txt 输出示例 INFO logintel.pipeline.engine - Iniciando pipeline INFO logintel.pipeline.engine - Pipeline finalizado Eventos processados: 13 Achados: 0 Relatorios em: output/ 处理整个目录 也可以处理多个日志: python main.py --input ./data 可用参数 参数 描述 --input 包含日志的文件或目录 --output 报告的输出目录 --config JSON/YAML 配置文件 --log-level 日志级别 (INFO, DEBUG, ERROR) 完整示例 python main.py ^ --input logs.txt ^ --output output ^ --config config/default_config.json ^ --log-level INFO Linux/WSL: python3 main.py \ --input logs.txt \ --output output \ --config config/default_config.json \ --log-level INFO 处理 Pipeline 主流程遵循以下步骤: 摄取 (Ingestão) 解析 (Parsing) 标准化 (Normalização) 丰富 (Enriquecimento) 关联 (Correlação) 分析 (Análise) 导出 (Exportação) 检测示例 brute force 尝试 异常的身份验证峰值 可疑 IPs 时间关联 提取 IOCs 按实体分组的事件 # 开发说明 建议: Python 3.11 或 3.12(仅出于稳定性考虑,您可以在其他版本上进行测试) VSCode + Python 扩展 隔离的虚拟环境 (venv) requirements.txt 中的框架
标签:AMSI绕过, IP 地址批量处理, Python, 威胁检测, 安全运营, 扫描框架, 无后门, 流式处理, 红队行动, 逆向工具