glopez21/logsentry
GitHub: glopez21/logsentry
LogSentry 是一个安全日志解析与检测工具包,通过将多种安全日志格式结构化并应用启发式检测规则,帮助 SOC 分析师快速识别可疑活动并完成事件分诊调查。
Stars: 0 | Forks: 0
# 概述
LogSentry 是一个安全日志解析工具包,旨在反映 SOC 分析师和事件响应人员所执行的实际工作。它将常见的安全日志格式(包括 syslog、SSH、PAM 和 CloudTrail)解析并规范化为结构化的、可用于分析的数据,然后应用内置的检测启发式规则,以帮助识别可疑活动并支持高效的分类调查。
通过处理真实的攻击场景,该项目帮助我积累了日志分析、威胁检测和 MITRE ATT&CK 映射的实践经验。它为我打下了更坚实的基础,使我能够在原始安全遥测数据中识别可疑活动,并以 SOC 分析师的思维模式进行思考与调查。
## 为什么构建此项目
我构建 LogSentry 是因为我希望有一种比仅仅阅读攻击模式或观看演示更具动手实践性的学习方式。我希望直接处理日志,尝试各种检测想法,并创建真实的场景,从而帮助我练习在真实的 SOC 调查中使用的思维方式。构建这个项目有助于将核心概念转化为我可以应用并随着时间推移不断改进的实用工具。
## 功能
### 核心功能
- **多格式支持** - 自动检测并解析 syslog、SSH auth、PAM 和 CloudTrail 日志
- **检测检查** - 内置登录失败爆发检测、可疑 IP 标记、MITRE ATT&CK 映射
- **实时收集** - 实时监控日志文件或监听 syslog
- **威胁情报** - 通过 VirusTotal、AbuseIPDB、OTX 和 Shodan 进行 IP 扩充
- **SIEM 导出** - 导出至 Elasticsearch、Splunk HEC 和 Sumo Logic
### 高级功能 (v0.2+)
- **告警抑制** - 通过智能分组减少告警疲劳
- **攻击时间线** - 从 MITRE 战术重建杀伤链
- **MITRE Navigator 导出** - 生成 ATT&CK Navigator 层文件
- **YARA 规则** - YARA 风格的模式匹配引擎
- **日志完整性** - 用于取证分析的哈希校验
- **基线存储** - 用于异常检测的持久化基线
- **STIX/TAXII** - 威胁情报源集成
### 集成
- **MISP** - 将 IOC 推送至您的恶意软件信息共享平台
- **TheHive** - 为事件响应工作流创建案例
- **Sigma** - 将检测结果转换为 Sigma 规则格式
- **REST API** - 用于编程访问的 FastAPI 服务器
### 未来改进
- 扩展对额外日志源和云原生遥测数据的支持
- 添加更高级的关联逻辑以进行多阶段攻击检测
- 增强仪表板视图,更清晰地可视化攻击进展过程
- 为常见 SOC 调查场景构建更多自定义检测规则
- 改进报告和导出选项,以便于分析师交接和案例归档
## 快速入门
```
# 安装依赖项
uv sync
# 使用示例数据运行
uv run main.py samples/sample_ssh_log.log
# 生成 Triage 摘要
uv run main.py samples/sample_ssh_log.log --triage-summary
# 导出为 CSV
uv run main.py samples/sample_ssh_log.log -o csv
```
## CLI 命令
### 解析命令
```
uv run main.py parse logfile.log # Basic parsing
uv run main.py parse logfile.log --triage-summary # Triage summary
uv run main.py parse logfile.log --severity # Severity scoring
uv run main.py parse logfile.log --mitre # MITRE ATT&CK breakdown
uv run main.py parse logfile.log --dashboard # ASCII dashboard
uv run main.py parse logfile.log --rules # Rule engine
uv run main.py parse logfile.log --anomalies # Anomaly detection
uv run main.py parse logfile.log --siem es # SIEM export
uv run main.py parse logfile.log --yara # YARA scan
uv run main.py parse logfile.log --suppress # Alert suppression
uv run main.py parse logfile.log --attack-timeline# Attack chain
uv run main.py parse logfile.log --navigator out.json # Navigator export
uv run main.py parse logfile.log --integrity # Integrity check
uv run main.py parse logfile.log --export-stix out.stix # STIX export
uv run main.py parse logfile.log --to-sigma # Sigma rules
```
### 实时命令
```
uv run main.py watch /var/log/auth.log # File watcher
uv run main.py listen --port 514 --protocol udp # Syslog listener
```
### 扩展命令
```
uv run main.py diff file1.log file2.log # Compare logs
uv run main.py replay logfile.log --speed 10 # Time-compressed replay
uv run main.py schedule --command "python main.py watch auth.log" --interval 60
uv run main.py serve --port 8080 # REST API server
```
### 威胁情报
```
uv run main.py lookup 185.220.101.45 # IP lookup (all providers)
uv run main.py lookup 185.220.101.45 --provider vt # Single provider
uv run main.py lookup 185.220.101.45 --json # JSON output
uv run main.py lookup 185.220.101.45 --check-only # Quick check
```
## 场景生成器
生成真实的攻击场景用于 SOC 培训:
```
# 生成特定场景
uv run generate_logs.py -s brute -o case_brute.csv --output-format csv
uv run generate_logs.py -s lateral -o case_lateral.csv --output-format csv
uv run generate_logs.py -s exfil -o case_exfil.csv --output-format csv
# 生成所有场景
uv run generate_logs.py -s all --seed 42 -o combined.log
# 生成 Normal Baseline
uv run generate_logs.py -s normal --count 2000 -o normal_day.log
```
| 场景 | 事件数 | MITRE |
|----------|--------|-------|
| `brute` | 50+ | T1110, T1078 |
| `ddos` | 500+ | T1498 |
| `mitm` | 10 | T1557, T1040 |
| `scan` | 100+ | T1046 |
| `stuffing` | 10 | T1078 |
| `malware` | 8 | T1059, T1055 |
| `priv_esc` | 9 | T1068, T1098 |
| `lateral` | 10 | T1021, T1047 |
| `exfil` | 10 | T1048, T1041 |
## 环境变量
### 威胁情报
```
export VT_API_KEY="your-key"
export ABUSEIPDB_API_KEY="your-key"
export OTX_API_KEY="your-key"
export SHODAN_API_KEY="your-key"
```
### SIEM 导出
```
export ES_ENDPOINT="http://localhost:9200"
export ES_API_KEY="your-key"
export SPLUNK_ENDPOINT="https://localhost:8088/services/collector"
export SPLUNK_HEC_TOKEN="your-token"
export SUMO_ENDPOINT="https://endpoint.sumologic.com/..."
export SUMO_API_KEY="your-key"
```
### 集成
```
export MISP_URL="https://your-misp.com"
export MISP_API_KEY="your-key"
export THEHIVE_URL="https://your-thehive.com"
export THEHIVE_API_KEY="your-key"
export TAXII_SERVER="https://taxii.example.com"
export TAXII_COLLECTION="collection-id"
```
## 项目结构
```
logsentry/
├── main.py # CLI entry point
├── generate_logs.py # Scenario generator
├── _constants.py # Pre-compiled patterns
├── parsers/ # Log format parsers
│ ├── syslog_parser.py
│ ├── ssh_parser.py
│ ├── auth_parser.py
│ └── cloudtrail_parser.py
├── detection/ # Detection heuristics
├── output/ # Output formatters
├── threat_intel/ # Threat intelligence
├── siem/ # SIEM export
├── rules/ # Rule engine
├── analytics/ # Anomaly detection
├── dashboard/ # ASCII visualization
├── collector/ # Real-time collection
├── alerters/ # Alerting
├── alerts/ # Alert suppression
├── attack_timeline/ # Kill chain reconstruction
├── navigator/ # ATT&CK Navigator export
├── yara_rules/ # YARA-style rules
├── integrity/ # Log integrity
├── baselines/ # Baseline storage
├── integrations/ # External integrations
│ ├── misp.py
│ ├── thehive.py
│ ├── sigma.py
│ └── stix.py
├── tests/ # Test suite
└── samples/ # Sample data
```
## 需求
- Python 3.11+
- pandas>=3.0.2
- rich>=15.0.0
- httpx>=0.27.0
可选依赖:
```
uv sync --extra server # For REST API
uv sync --extra dev # For testing (pytest, ruff, mypy)
uv sync --extra integrations # For STIX
```
## 文档
- [README](README.md) - 概述与快速入门
- [ARCHITECTURE.md](ARCHITECTURE.md) - 技术架构
- [CHANGELOG.md](CHANGELOG.md) - 版本历史
*LogSentry - 通过实践构建检测技能。*
标签:AbuseIPDB, AMSI绕过, Ask搜索, CCTV/网络接口发现, CloudTrail, DNS信息、DNS暴力破解, Elasticsearch, MITRE ATT&CK映射, PAM日志, PE 加载器, SOC分析工具, SSH日志, Sumo Logic, Syslog解析, TLS, VirusTotal, YARA规则, 告警抑制, 哈希校验, 域渗透, 威胁情报, 威胁检测, 子域名变形, 安全开发生命周期, 安全日志解析, 安全调查, 安全运营中心, 实时日志监控, 开发者工具, 异常行为检测, 日志完整性分析, 日志标准化, 杀伤链重建, 电子数据取证, 网络安全监控, 网络映射, 自动化分类, 蓝军工具, 运行时操纵, 防御工具, 驱动开发