Fenboks/red-vs-blue-cyber-simulation
GitHub: Fenboks/red-vs-blue-cyber-simulation
一个基于纯前端技术构建的红蓝对抗网络威胁模拟与事件响应指挥中心,用于可视化展示多阶段攻击演进和自动化防御检测的全流程。
Stars: 0 | Forks: 0
# 🛡️ 红队与蓝队网络威胁模拟 & SOC 指挥中心




一个交互式、双视角的网络威胁检测与事件响应指挥中心模拟器,使用 HTML5、原生 CSS3 和 JavaScript (ES6+) 构建。
该项目模拟了现实中的多阶段攻击行动(**红队**),以及自主防御检测、SIEM 日志解析和内核防火墙拦截(**蓝队**)。
## 🎯 项目概述与目的
在现代网络安全运营中,了解攻击向量和防御对策至关重要。本模拟器提供了一个实时的安全运营中心 (SOC) 仪表板,供安全分析师、工程师和学生观察:
1. **红队战术:** 与 **MITRE ATT&CK** 框架和 **Cyber Kill Chain** 映射的多阶段攻击进展。
2. **蓝队防御措施:** 自动化的 SIEM 日志分析、基于阈值的威胁检测以及动态的内核级(`iptables` / Nginx WAF)规则生成。
## 🌟 核心功能
### 1. ⚔️ 双视角指挥仪表板
* **🔴 红队视角(左侧面板):** 展示攻击工具(`Nmap`、`SQLMap`、`Hydra`、`LinPEAS`)以及当前活动攻击的阶段。
* **🔵 蓝队视角(右侧面板):** 展示 SIEM 检测机制、正在生效的防火墙拦截规则以及实时遥测数据。
* **🧠 指挥官双重摘要栏:** 实时顶部横幅,提供当前攻击者行为与防御者反应的并排对比。
### 2. 🔄 动态四阶段演进攻击引擎
攻击模拟会自动在 4 个与 MITRE ATT&CK 对齐的阶段之间轮转,并随机化 IP、目标账户和恶意 payload:
* **第一阶段:侦察:** TCP SYN 隐蔽端口扫描(`Ports 21, 22, 80, 443, 3306, 8080, 27017`)。
* **第二阶段:Web 漏洞利用:** Web 应用 payload(`SQL Injection`、`Path Traversal`、`Command Injection`)。
* **第三阶段:撞库攻击:** 针对账户(`root`、`admin`、`postgres`、`jenkins`、`ubuntu`)的自动化 SSH 字典攻击。
* **第四阶段:权限提升与持久化:** 针对 `/etc/sudoers`、cron jobs 和 SSH `authorized_keys` 的本地系统提权尝试。
### 3. 🤖 自主 IPS 执行与阈值引擎
* **真实 SIEM 逻辑:** 初期的低/中危风险探测会被 SIEM 检测并监控(`DETECTED`)。
* **自动拦截(`AUTO-BLOCKED`):** 严重威胁(SQLi / 权限提升)或超过阈值(2 次以上尝试)的 IP 会立即触发自主的 `iptables -A INPUT -s IP -j DROP` 和 Nginx `deny IP;` 强制拦截。
### 4. 📜 按时间排序的战斗历史
* 在原始 syslog 流旁边包含一个专门的**“按时间排序的战斗历史”**选项卡,允许用户向后滚动并查看过去每一次带有详细时间戳的攻防事件。
### 5. 🔍 交互式遥测检查弹窗
点击遥测指标卡片可打开专门的英文审计弹窗,并附带风险说明:
* **`Attacks Detected 🔍`:** 显示所有检测到的攻击事件和 SIEM 检测机制。
* **`Critical Threats 🔍`:** 显示严重风险事件以及明确的 **Risk Rationale**(风险依据)解释。
* **`Enforced Rules 🔍`:** 显示生效的 `iptables` 和 Nginx 拦截规则,并附带防御性缓解范围说明。
### 6. 📊 高管报告生成器与导出工具
* 生成全面的高管摘要报告。
* **语言选项:** 土耳其语 (Açıklamalı Özet Raporu) 和 英语 (Executive Threat Report)。
* **导出格式:** Markdown (`.md`)、纯文本 (`.txt`) 和 JSON (`.json`)。
* 一键触发下载,用于生成本地存档报告。
## 🛠️ 技术栈
* **结构:** HTML5(语义化布局)
* **样式:** 原生 CSS3(自定义毛玻璃 SOC 深色主题 & Flex/Grid 布局系统)
* **逻辑引擎:** 原生 JavaScript ES6+(Event Loop 模拟、状态管理、DOM 操作)
* **零外部运行时依赖:** 在任何浏览器中均可原生运行!
## 🚀 如何在本地运行项目
### 选项 1:直接通过浏览器访问(最简单)
1. 克隆或下载本代码仓库。
2. 双击 `index.html` 直接在任何现代 Web 浏览器(Chrome、Firefox、Edge、Safari)中打开。
### 选项 2:使用 Python 本地服务器
```
# 导航到项目目录
cd blue_team_simulation
# 启动轻量级 Python HTTP 服务器
python -m http.server 8080
```
打开浏览器并访问:`http://localhost:8080`
### 选项 3:使用 Node / Vite(可选)
```
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
## 📂 项目结构
```
blue_team_simulation/
├── index.html # Main SOC Command Center Layout & Modals
├── style.css # Dark SOC Design Tokens, Metrics, & Modal Styles
├── app.js # Simulation Engine, SIEM Logic, & Report Generator
├── package.json # Node package configuration
├── vite.config.js # Vite dev server configuration
└── README.md # Project documentation
```
## 📜 许可证
基于 **MIT License** 分发。有关更多信息,请参阅 `LICENSE`。
标签:CISA项目, CMS安全, JavaScript, Web前端, Web报告查看器, 插件系统, 网络安全, 自定义脚本, 隐私保护, 靶场/仿真