omobolajiadeyan/log-analyzer
GitHub: omobolajiadeyan/log-analyzer
一款纯Python实现的轻量级日志威胁检测引擎,能够扫描系统和应用日志并将可疑行为自动映射到MITRE ATT&CK框架。
Stars: 0 | Forks: 0
# 日志分析器
一个轻量级的威胁检测引擎,用于扫描系统和应用程序日志文件,以发现攻击迹象、可疑行为和违规策略 —— 并将其映射到 MITRE ATT&CK 框架。
## 为什么这很重要
日志是安全分析师在事件发生时首先查看的地方。该工具自动执行了手动审查数千行日志的繁琐过程,仅显示带有上下文的关键信息。
## 功能
- 包含 6 个威胁类别的 13 条内置检测规则
- 为每个告警提供 MITRE ATT&CK 技术映射
- 分析 SSH、认证、Web 访问、系统和应用程序日志
- 自动识别出问题最多的 IP 地址
- 颜色编码的严重级别:`CRITICAL`、`HIGH`、`MEDIUM`、`LOW`
- 导出 JSON 以便集成 SIEM 或用于报告
- 只需一条命令即可扫描整个目录下的日志文件
- 零第三方依赖 —— 纯 Python 标准库
## 检测类别与规则
| ID | 规则 | 类别 | 严重程度 | MITRE |
|---|---|---|---|---|
| AUTH-001 | 登录失败尝试 | 认证 | MEDIUM | T1110 |
| AUTH-002 | 多次登录失败(暴力破解) | 认证 | HIGH | T1110 |
| AUTH-003 | Root 登录 | 认证 | HIGH | T1078 |
| NET-001 | 检测到端口扫描 | 网络 | HIGH | T1046 |
| NET-002 | SQL 注入尝试 | Web 攻击 | CRITICAL | T1190 |
| NET-003 | XSS 尝试 | Web 攻击 | HIGH | T1059.007 |
| NET-004 | 目录遍历 | Web 攻击 | HIGH | T1083 |
| SYS-001 | 权限提升 | 权限提升 | HIGH | T1548 |
| SYS-002 | 可疑命令执行 | 执行 | CRITICAL | T1059 |
| SYS-003 | 文件删除 | 防御规避 | HIGH | T1070.004 |
| SYS-004 | Cron 任务被修改 | 持久化 | MEDIUM | T1053.003 |
| MAL-001 | 反向 Shell 指标 | 恶意软件 | CRITICAL | T1059.004 |
| MAL-002 | Tor/I2P 连接 | 恶意软件 | HIGH | T1090.003 |
## 安装
```
git clone https://github.com/oadeyan/log-analyzer.git
cd log-analyzer
python --version # Requires Python 3.10+
```
## 用法
```
# 分析单个日志文件
python analyzer.py sample_logs/auth.log
# 分析目录中的所有日志
python analyzer.py sample_logs/
# 显示每个告警的完整日志行
python analyzer.py sample_logs/ --verbose
# 仅显示 HIGH 和 CRITICAL 告警
python analyzer.py sample_logs/ --severity HIGH
# 将报告导出为 JSON
python analyzer.py sample_logs/ --output report.json
# 分析真实系统日志 (Linux)
python analyzer.py /var/log/auth.log
python analyzer.py /var/log/
```
## 示例输出
```
LOG ANALYZER
Threat detection engine for system & application logs
Analyzing 2 file(s) with 13 detection rules...
=================================================================
LOG ANALYZER REPORT
=================================================================
Files analyzed : 2
Total lines : 21
Total alerts : 9
Critical : 2
High : 6
=================================================================
[Authentication] — 5 alert(s)
[CRITICAL] Multiple Failed Logins (Brute Force) (AUTH-002)
Category : Authentication
MITRE : T1110 - Brute Force
File : sample_logs/auth.log:6
Detail : Account locked or too many failed attempts — possible brute-force.
Top Offending IPs:
192.168.1.105 — 6 alert(s)
203.0.113.99 — 2 alert(s)
10.0.0.50 — 2 alert(s)
```
## 项目结构
```
log-analyzer/
├── analyzer.py # Main CLI entrypoint
├── rules.py # Detection rules with MITRE mappings
├── requirements.txt # No dependencies needed
├── sample_logs/
│ ├── auth.log # Sample SSH/auth log with threats
│ └── web_access.log # Sample web log with injection attempts
└── README.md
```
## 作者
**Omobolaji Adeyan** — 网络安全作品集项目
[GitHub](https://github.com/oadeyan)
标签:AMSI绕过, CISA项目, Cloudflare, CSV导出, MITRE ATT&CK, Python, 威胁检测, 安全运营, 扫描框架, 插件系统, 文档结构分析, 无后门, 网络安全审计, 逆向工具