CommandandCodeC2/threat-dashboard
GitHub: CommandandCodeC2/threat-dashboard
一个基于Flask的APT威胁事件响应可视化仪表板,用于攻击链追踪、IOC管理和事件报告的集中呈现与协同处置。
Stars: 0 | Forks: 0
# 威胁仪表板 —— “数字堡垒”行动
一个基于 Flask 的事件响应仪表板,用于可视化 APT 威胁活动、追踪 IOC、映射攻击链以及管理事件报告。采用深色战术 UI 界面构建,主题围绕“芬里尔狼” IR 团队设计。
## 功能
### 仪表板
- 带有 MITRE ATT&CK 技术映射的攻击链时间轴
- 可疑 IP 及钓鱼域名 IOC 面板
- 威胁情报源及预测的下一步行动
- 包含 MITRE 缓解 ID 的可执行建议
- 实时事件统计(IOC、受损用户、受影响系统)
### 网络地图
- 上传 draw.io XML 图表以可视化网络拓扑
- 颜色编码节点(外部、DMZ、内部、受损)
- 故事板视图,展示从初始访问到防御规避的攻击阶段
### IR 报告
- 带有分析师署名的可搜索事件报告卡
- 按严重程度(严重/高/中)、类别(恶意软件、横向移动、侦察)进行筛选
- 详细的元数据:行动 ID、发现时间 (DTG)、恶意 IP、受影响主机
### 管理控制台
- 对所有仪表板数据(IP、域名、时间轴事件、建议)进行完整的 CRUD(增删改查)操作
- 带有日期/时间选择器的行内编辑
- 一键保存以将更改持久化到 `data.json`
## 技术栈
- **后端:** Flask, Flask-CORS
- **前端:** 原生 HTML/CSS/JS, Chart.js
- **字体:** Black Ops One, Rajdhani (Google Fonts)
- **数据:** 通过 `data.json` 进行基于 JSON 的持久化
## 快速开始
### 前置条件
- Python 3.8+
### 安装
```
pip install flask flask-cors
```
### 运行
```
bash start_server.sh
```
或手动运行:
```
python3 server.py
```
服务器将在 **http://0.0.0.0:8089** 上运行。
## 页面与路由
| 路由 | 描述 |
|-------|-------------|
| `/` | 主威胁仪表板,包含时间轴、IOC 和统计数据 |
| `/network-map` | 网络拓扑可视化工具,支持 draw.io 上传 |
| `/reports` | 可搜索的事件响应报告卡 |
| `/admin` | 用于编辑所有仪表板数据的管理控制台 |
## API 端点
| 端点 | 方法 | 描述 |
|----------|--------|-------------|
| `/api/data` | GET | 检索所有仪表板数据(时间轴、IP、域名、建议、威胁情报) |
| `/api/data` | POST | 更新仪表板数据(接受完整的 JSON 负载) |
| `/api/iocs` | GET | 检索 IOC 列表(IP、域名、文件哈希) |
| `/api/upload-map` | POST | 上传 draw.io XML 网络图 |
## 文件结构
```
dashboard/
├── server.py # Flask application (routes, API, templates)
├── dashboard.html # Main dashboard frontend
├── data.json # Persisted incident data (editable via admin)
├── start_server.sh # Quick-start script
├── .gitignore
├── uploads/
│ └── network_map.xml # Uploaded draw.io diagram
└── __pycache__/
```
## 数据
所有事件数据存储在 `data.json` 中并在启动时加载。结构包括:
- `timeline` — 带有 MITRE ATT&CK 映射的攻击链事件
- `suspicious_ips` — 受追踪的恶意/侦察 IP 及其状态
- `phishing_domains` — 已识别的钓鱼与 C2 域名
- `threat_intel` — 预测的攻击者下一步行动
- `recommendations` — 活跃的补救措施
## 未来升级计划
- **可复用模板引擎** — 将仪表板与硬编码的活动数据解耦,使其成为一个可复用的框架。通过 JSON 配置文件动态加载事件数据,而不是将内容直接写入 HTML 中,从而允许在无需更改代码的情况下为任何事件响应场景部署同一个仪表板。
- **多 APT 选择器** — 添加 APT 选择器(下拉菜单或路由参数),以便分析师可以在不同的威胁行为者活动(APT28、APT41、Lazarus 等)之间进行切换,并即时加载它们各自的 IOC、时间轴、报告和威胁情报。支持为每个活动加载独立的数据配置。
- **主题与样式自定义** — 添加具有多种视觉预设(例如,狼穴蓝、红队暗、SOC 绿)的主题切换器,以便团队无需修改 CSS 即可自定义外观。支持通过配置加载自定义 Logo、主题色和字体偏好。为运行自有 IR 仪表板的组织提供按团队定制品牌的功能。
- **修复网络图表页面** — 修复并增强网络地图可视化。目前节点呈现为静态 div,节点之间没有绘制连接线。添加基于 SVG/Canvas 的正确边线渲染、缩放/平移控件,并支持交互式节点放置。改进 draw.io XML 解析器,使其可靠地处理嵌套样式,提取边/关系数据,并正确分类节点类型。
- **身份验证与访问控制** — 添加基于登录的身份验证以保护管理控制台和 API。支持基于角色的访问权限(查看者、分析师、管理员),以便团队能够安全地共享只读访问权限,而不会暴露写入权限。
- **数据库后端** — 用 SQLite 或 PostgreSQL 替换扁平的 `data.json` 持久化方式。支持并发多用户访问、数据完整性、历史追踪以及对事件和 IOC 的高效查询。
- **实时协作** — 添加 WebSocket 或 Server-Sent Events 支持,以便同时查看仪表板的多个分析师能够实时看到更新、新时间轴事件和 IOC 状态更改,而无需手动刷新。
- **导出与报告** — 生成 PDF 事件报告、执行摘要和批量 IOC 导出。支持 STIX/TAXII 和 MISP 等威胁情报格式,以便与现有的 SOC 工具集成。
- **ATT&CK Navigator 集成** — 在官方攻击矩阵上直接可视化映射的 MITRE ATT&CK 技术,展示技术覆盖范围和杀伤链进展。
- **OSINT 富化** — 通过从 VirusTotal、AbuseIPDB 或 MISP 源等外部来源提取数据来自动富化 IOC,以提供有关威胁行为者、恶意软件家族和活动归属的上下文。
- **Docker 部署** — 使用 Docker Compose 打包以实现零配置部署,使其易于在任何基础设施上快速启动,用于事件响应演练或实际操作。
标签:APT, Chart.js, Cloudflare, Dashboard, DAST, draw.io, Flask, HTML/CSS/JS, HTTP/HTTPS抓包, IOC, IP 地址批量处理, IR, IT运维, MITRE ATT&CK, Mutation, PE 加载器, Python, Socks5代理, XML解析, 前后端分离, 可视化, 多模态安全, 失陷标示, 威胁情报, 子域名变形, 安全运营, 库, 应急响应, 开发者工具, 态势感知, 恶意软件分析, 战术UI, 扫描框架, 报告管理, 攻击链, 数据可视化, 数据展示, 数据看板, 无后门, 流量捕获, 深度包检测, 管理员控制台, 红队, 网络安全, 网络安全分析, 网络拓扑, 逆向工具, 隐私保护, 零日威胁, 高级持续性威胁