rajeeshrl/winlog-sentinel
GitHub: rajeeshrl/winlog-sentinel
一个基于 Flask 的 SOC 调查平台,用于解析 Windows 安全事件日志、自动生成告警并支持安全分析师的调查工作流。
Stars: 0 | Forks: 0
# WinLog Sentinel
一个基于 Flask 的 SOC 调查平台,用于分析 Windows 安全事件日志。旨在揭示可疑活动、生成警报,并支持分析师的调查工作流。
## 功能
- 上传并解析 Windows 安全事件日志(CSV 格式)
- 基于检测规则(事件 ID 4624、4625、4740、4720、4672)自动生成警报
- 使用滑动窗口关联(用户名 + 源 IP 匹配)进行暴力破解检测
- 对标记的事件进行 MITRE ATT&CK 技术映射
- IP 调查模块,支持按来源进行活动深入分析
- 调查时间线视图
- 为每个警报生成 PDF 报告
- 深色 SOC 主题 UI
## 支持的日志格式
专为导出为 CSV 格式的 **Windows 安全事件日志** 设计,包含以下列:
`timestamp, event_id, username, source_ip, description`
## 快速开始
```
# 1. Clone the repo
git clone https://github.com/rajeeshrl/winlog-sentinel.git
cd winlog-sentinel
# 2. 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. 安装依赖
pip install -r requirements.txt
# 4. 运行
python app.py
```
打开:http://localhost:5000
在 `uploads/` 文件夹中包含一个示例日志文件(`winlog_sentinel_large_demo.csv`),以便在设置完成后立即测试平台。
## 项目结构
```
winlog-sentinel/
├── app.py # Flask app, routes, DB init
├── rules.py # Detection engine — alert rules and brute-force logic
├── mitre.py # MITRE ATT&CK mappings
├── report_gen.py # PDF report generation
├── requirements.txt
├── static/
│ ├── css/sentinel.css
│ └── js/sentinel.js
├── templates/ # Dashboard, alerts, investigate, MITRE, reports views
└── uploads/ # Sample demo CSV included
```
## 检测规则
| 事件 ID | 警报 | 严重性 |
|----------|-------|----------|
| 4625 | 登录失败尝试 | Medium |
| 4624 | 登录成功 | Low |
| 4740 | 账户锁定 | High |
| 4720 | 创建新账户 | High |
| 4672 | 分配特殊权限 | High |
当来自相同用户名或源 IP 在 10 分钟时间窗口内发生 5 次或以上的失败尝试时,将触发暴力破解检测(MITRE T1110)。
## 构建技术栈
Python, Flask, SQLite, ReportLab
标签:Flask, Windows事件日志, 后端开发, 安全调查, 安全运营, 扫描框架, 红队行动, 逆向工具