drdre4664/enterprise-attack-detection-lab
GitHub: drdre4664/enterprise-attack-detection-lab
一个端到端的网络安全实验室,在真实 Flask 服务上发起攻击并通过自定义引擎检测日志、生成 MITRE ATT&CK 映射的事件工单。
Stars: 0 | Forks: 0
# 企业级攻击检测实验室
一个实操型网络安全实验室,模拟针对实时 Web 服务器的真实攻击,并使用自定义构建的检测引擎对其进行检测。旨在展示完整的红队 + 蓝队能力——从发动攻击到生成事件工单。
## 项目功能
大多数安全项目使用预先写好的 JSON 文件来模拟攻击。本项目并非如此。
本实验室:
1. 运行一个**真实的 Flask 登录服务器**(攻击目标)
2. 向其发起**真实的暴力破解和 SQL 注入攻击**
3. 读取这些攻击产生的**真实服务器日志**
4. 检测攻击并生成**映射至 MITRE ATT&CK 的事件工单**
每一条日志、每一张工单、每一次检测——均产生于实际发生的攻击。
## 项目结构
```
enterprise-attack-detection-lab/
├── webapp/
│ └── app.py # Flask login server (the target)
├── attacks/
│ ├── brute_force.py # Fires 100+ real login attempts
│ └── sql_inject.py # Fires 10 SQL injection payloads
├── detection/
│ └── detector.py # Reads real logs, detects attacks, generates tickets
├── logs/
│ └── access.log # Real server logs (auto-generated)
└── reports/
└── TICKET-*.txt # Incident tickets (auto-generated)
```
## 模拟的攻击技术
| 攻击 | MITRE 技术 | MITRE ID | 战术 |
|--------|----------------|----------|--------|
| 暴力破解登录 | Brute Force | T1110 | Credential Access (TA0006) |
| SQL 注入 | Exploit Public-Facing Application | T1190 | Initial Access (TA0001) |
## 检测逻辑
### 暴力破解检测
- 阈值:来自同一 IP 的 5 次及以上失败登录尝试
- 如果任何尝试成功,严重性将自动升级为 **CRITICAL**
- 记录被破解的账户、总尝试次数、成功登录次数
### SQL 注入检测
- 针对已知 SQLi 特征进行模式匹配:
- `' OR 1=1--`
- `'; DROP TABLE users;--`
- `UNION SELECT`
- `' OR 'a'='a`
- 以及另外 6 种变体
- 每次匹配都会生成一张 CRITICAL 工单,并捕获原始 payload
## 事件工单示例
```
============================================================
INCIDENT TICKET — BRUTE_FORCE
============================================================
Severity : CRITICAL
Source IP : 127.0.0.1
Description : 120 failed login attempts — 3 successful login(s) detected
MITRE ATT&CK
Tactic : Credential Access (TA0006)
Technique : Brute Force (T1110)
DETAILS
Failed attempts : 120
Successful logins: 3
Cracked accounts : admin, john.doe
RESPONSE PLAYBOOK
1. Block source IP at perimeter firewall
2. Lock affected accounts pending investigation
3. Force password reset on cracked accounts
4. Review all activity from cracked accounts
============================================================
```
## 运行方式
**1. 安装依赖**
```
python3 -m venv venv
source venv/bin/activate
pip install flask requests
```
**2. 启动目标服务器**(终端 1)
```
python webapp/app.py
```
**3. 发起攻击**(终端 2)
```
python attacks/brute_force.py
python attacks/sql_inject.py
```
**4. 运行检测引擎**
```
python detection/detector.py
```
事件工单将保存至 `reports/` 目录。
## 展示的技能
- **红队**:暴力破解凭证攻击、SQL 注入 payload 构造
- **蓝队**:日志分析、基于模式的检测、自动化事件响应
- **MITRE ATT&CK**:对每项发现进行战术和技术映射
- **Python**:Flask Web 框架、regex 模式匹配、文件 I/O、HTTP 请求
- **安全工程**:检测阈值调优、严重性分类、响应 playbook
## 相关项目
[企业级 SOC 自动化平台](https://github.com/Idris_Junaid/enterprise-soc-platform) —— 一个多向量 SOC 模拟项目,涵盖跨邮件、端点、云、DLP 和 Web 向量的 15 种告警类型,并具备 SOAR 丰富化与主动威胁狩猎功能。
标签:CISA项目, Flask, PFX证书, Python, TGT, 字符串匹配, 攻击检测, 攻防演练, 无后门, 网络安全, 自动化响应, 逆向工具, 隐私保护