TheCaptainCJ/log-analyzer
GitHub: TheCaptainCJ/log-analyzer
一个基于 Python 的日志分析工具,用于解析 JSON 日志并自动标记可疑安全行为。
Stars: 0 | Forks: 0
# 🔍 日志分析器 — 安全事件检测工具
一个基于 Python 的日志分析工具,用于解析结构化的 JSON 日志文件,提取关键安全字段,并自动标记可疑活动,例如登录失败和未经授权的权限变更。
该项目作为作品集展示,体现了 SOC 分析员的基本能力:日志摄取、字段提取、检测逻辑和模块化代码结构。
## 🎯 本工具的功能
真实的 SOC 分析员花费大量时间解析日志并识别重要事件。本工具通过以下方式自动化该分类过程:
- 摄取 JSON 格式的日志文件(结构与 AWS CloudTrail 或 Windows 事件日志类似)
- 提取关键字段:时间戳、事件名称、用户、源 IP 和状态
- 将每个事件通过检测规则进行扫描,标记可疑行为
- 输出结构化的摘要供分析员审查
## 🚨 检测规则
| 规则 | 事件 | 条件 |
|---|---|---|
| 登录失败 | `ConsoleLogin` | 状态 = `Failed` |
| 权限提升 | `AddUserToGroup` | 任意发生 |
| 策略附加 | `AttachRolePolicy` | 任意发生 |
这些模式直接映射到 MITRE ATT&CK 框架中“初始访问”和“权限提升”阶段对应的真实攻击技术。
## 🗂️ 项目结构
```
log-analyzer/
├── analyzer.py # Main entry point — loads logs and runs analysis
├── detectors.py # Detection logic — flags suspicious events
├── utils.py # Field extraction — parses raw log entries
├── sample_logs.json # Sample log data for testing
└── Test/
└── test_analyzer.py # Unit tests using pytest
```
## ⚙️ 使用方法
**要求:** Python 3.8+
```
# 克隆仓库
git clone https://github.com/TheCaptainCJ/log-analyzer.git
cd log-analyzer/Log-Analyzer
# 对示例日志运行分析器
python analyzer.py
```
**预期输出:**
```
{'timestamp': '2024-01-01T12:00:00Z', 'eventName': 'ConsoleLogin', 'user': 'alice', 'ip': '10.0.0.1', 'status': 'Failed', 'suspicious': True}
{'timestamp': '2024-01-01T12:05:00Z', 'eventName': 'AddUserToGroup', 'user': 'bob', 'ip': '10.0.0.2', 'status': 'Unknown', 'suspicious': True}
```
## 🧪 运行测试
```
pip install pytest
pytest
```
## 📋 日志格式示例
该工具期望接收以下结构的 JSON 日志:
```
[
{
"eventTime": "2024-01-01T12:00:00Z",
"eventName": "ConsoleLogin",
"userIdentity": {"userName": "alice"},
"sourceIPAddress": "10.0.0.1",
"responseElements": {"ConsoleLogin": "Failed"}
}
]
```
此格式兼容导出的 AWS CloudTrail 日志。
## 🛠️ 展示技能
- Python 脚本编写与模块化代码设计
- JSON 日志解析与字段提取
- 与 MITRE ATT&CK 对齐的安全检测逻辑
- 使用 pytest 进行单元测试
- SOC 分析员工作流程:摄取 → 解析 → 检测 → 报告
## 🔮 计划增强功能
- [ ] 将结果输出为 CSV 用于报告
- [ ] 添加基于阈值的暴力破解检测(同一 IP 5 次以上登录失败)
- [ ] 集成 Splunk 的 HTTP 事件收集器
- [ ] 增加对 Windows 事件日志格式的支持
## 👨💻 作者
**Christopher O'Keefe**
IT 专业人员 | 网络安全 BAS | CompTIA A+ | ISC2 CC
[LinkedIn](https://linkedin.com/in/christopherokeefe93) | [GitHub](https://github.com/TheCaptainCJ)
标签:AMSI绕过, Cloudflare, Initial Access, JSON解析, MITRE ATT&CK, Privilege Escalation, Python, 事件检测, 失败登录检测, 威胁检测, 字段提取, 数据统计, 无后门, 日志取证, 日志摄取, 日志解析, 权限提升检测, 模块化代码, 端口扫描, 自动化分析, 证书伪造, 跨站脚本, 逆向工具