mateusm1403/LogIntel
GitHub: mateusm1403/LogIntel
Stars: 0 | Forks: 0
# LogIntel



Pipeline de alta performance em Python para processamento massivo e streaming de logs. Projetado com arquitetura modular para SOC, DFIR e Threat Hunting, focado em baixo consumo de memória, normalização de dados e detecção de ameaças.
# Motivação
Durante análises de segurança e troubleshooting, lidar com grandes volumes de logs normalmente exige múltiplas ferramentas e muito processamento manual.
O objetivo do LogIntel Pipeline é simplificar esse fluxo, oferecendo uma base modular e escalável para ingestão, normalização, correlação e análise de eventos.
# Features
- Processamento massivo de logs
- Leitura em streaming
- Parsers modulares
- Normalização de eventos
- Correlação temporal
- Extração de IOCs
- Detecção de brute force
- Identificação de IPs suspeitos
- Timeline de eventos
- Exportação em JSON, Markdown e HTML
- Estrutura compatível com MITRE ATT&CK
- Base para integração com Sigma Rules
# Formatos Suportados
- JSON / JSONL
- CSV
- TXT
- Syslog
- Apache Logs
- Nginx Logs
- XML
- EVTX
- CSV
# Estrutura do Projeto
.
├── 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
# Analise CSV com Pandas
O modo --csv usa Pandas como motor analitico e processa arquivos em chunks configuraveis por csv_analysis.chunksize. Ele foi criado para exports de Wazuh, Splunk, SIEMs, firewalls, EDR/XDR, Windows Events, CrowdStrike, Microsoft Sentinel, Zabbix e Elastic Stack.
O motor normaliza automaticamente aliases comuns de colunas, por exemplo source_ip, srcip e source.ip viram src_ip; user, accountname e user.name viram username; _time, @timestamp e event_time viram timestamp.
As analises atuais incluem:
top-N por IP de origem/destino, usuario, host, severidade, tipo de evento, acao e status code
contagem temporal por janela
deteccao de brute force por origem/usuario/janela
deteccao de keywords suspeitas
identificacao de picos anormais de volume
# Instalação
Clone o repositório
git clone https://github.com/mateusm1403/logintel-pipeline.git
cd logintel-pipeline
Instale as dependências
pip install -r requirements.txt
# Uso Rápido
Crie e ative o ambiente virtual
1. Windows (PowerShell)
python -m venv .venv
.venv\Scripts\activate
2. Linux / WSL
python3 -m venv .venv
source .venv/bin/activate
Crie um arquivo de log para teste
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
Execute o pipeline
python main.py --input logs.txt
Exemplo de saída
INFO logintel.pipeline.engine - Iniciando pipeline
INFO logintel.pipeline.engine - Pipeline finalizado
Eventos processados: 13
Achados: 0
Relatorios em: output/
Executando com diretórios inteiros
Também é possível processar múltiplos logs:
python main.py --input ./data
Parâmetros disponíveis
Argumento Descrição
--input Arquivo ou diretório contendo logs
--output Diretório de saída dos relatórios
--config Arquivo de configuração JSON/YAML
--log-level Nível de logging (INFO, DEBUG, ERROR)
Exemplo completo
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 de Processamento
O fluxo principal segue as seguintes etapas:
Ingestão
Parsing
Normalização
Enriquecimento
Correlação
Análise
Exportação
Exemplo de Detecções
Tentativas de brute force
Picos anormais de autenticação
IPs suspeitos
Correlação temporal
Extração de IOCs
Eventos agrupados por entidade
# Desenvolvimento
Recomendado:
Python 3.11 ou 3.12 (apenas por questão de estabilidade, você pode testar em outras versões)
VSCode + extensão Python
Ambiente virtual (venv) isolado
Frameworks em requirements.txt