sltcnb/atktimeline
GitHub: sltcnb/atktimeline
自托管的攻击时间线可视化工具,帮助安全分析师将事件映射到 MITRE ATT&CK 阶段以辅助威胁分析和应急响应。
Stars: 0 | Forks: 0

## 演示

# ATK 时间线
一个用于应急响应和威胁分析的自托管攻击时间线构建工具。基于 Flask 和 PostgreSQL 构建,可通过 Docker Compose 或 Kubernetes (Traefik) 进行部署。
将事件映射到 **MITRE ATT&CK 阶段**,在可视化时间线中跟踪源/目标 IP、artifacts 和 IOCs。



## 快速开始
### 1. 配置
```
cp config.example.json config.json
# 编辑 config.json 以配置你的 hostname、passwords 和 admin credentials
```
### 2a — Kubernetes
```
./auto-deploy.sh
```
需要:Docker、kubectl、jq、Traefik ingress controller。
### 2b — Docker Compose
```
jq -r '"POSTGRES_PASSWORD=\(.postgres_password)\nSECRET_KEY=\(.flask_secret)"' config.json > .env
docker compose up --build
docker compose exec app flask create-user \
--username admin --email admin@csirt.lab --password changeme
```
打开 [http://localhost:8000](http://localhost:8000)。
有关包括本地 Python 开发在内的所有选项,请参阅 [deploy.md](deploy.md)。
## 功能特性
- **可视化攻击时间线**,带有颜色编码的 MITRE ATT&CK 阶段
- **仅限本地认证** — 无公开注册,账号通过 CLI 创建
- 生产环境持久化使用 **PostgreSQL**;本地开发使用 SQLite
- 使用单一配置文件 (`config.json`) 管理所有部署设置
- **支持 Kubernetes**,带有 Traefik ingress 和自动化部署
- 专为 SOC/IR 分析师设计的**简洁深色 UI**
- 跟踪每个事件的**源 IP、目标 IP、artifacts 和 IOCs**
## 支持的 MITRE ATT&CK 阶段
| 阶段 | 颜色 |
|---|---|
| 侦察 | Indigo |
| 初始访问 | Amber |
| 执行 | Red |
| 持久化 | Rose |
| 权限提升 | Dark Red |
| 防御规避 | Stone |
| 凭据访问 | Dark Amber |
| 发现 | Sky |
| 横向移动 | Violet |
| 收集 | Teal |
| 数据外传 | Orange |
| 命令与控制 | Purple |
| 影响 | Deep Red |
| 检测 | Green |
| 响应 | Blue |
## 项目结构
```
atktimeline/
├── config.example.json # Deployment config template (copy to config.json)
├── auto-deploy.sh # Kubernetes deployment script (reads config.json)
├── docker-compose.yml # Local dev with PostgreSQL
├── Dockerfile
├── requirements.txt
├── app.py # Flask application
├── models.py
├── forms.py
├── deploy.md # Full deployment guide
├── templates/
├── static/
└── k8s/
├── postgres-pvc.yaml
├── postgres-deployment.yaml
├── postgres-service.yaml
├── app-deployment.yaml
└── app-service.yaml
```
## 用户管理
注册功能已禁用。所有账号均通过 CLI 创建。
```
# Docker Compose
docker compose exec app flask create-user \
--username analyst1 --email analyst1@csirt.lab --password SecurePass123
# Local Python
flask create-user --username analyst1 --email analyst1@csirt.lab --password SecurePass123
```
有关 Kubernetes 的等效操作,请参阅 [deploy.md](deploy.md)。
标签:Cloudflare, Flask, MITRE ATT&CK, 子域名突变, 安全运营, 库, 应急响应, 扫描框架, 测试用例, 请求拦截, 逆向工具