anpa1200/CTI_as_a_Code

GitHub: anpa1200/CTI_as_a_Code

基于 Docker Compose 的网络威胁情报实验室与培训平台,集成主流安全运营工具链并提供八项结构化分析作业。

Stars: 2 | Forks: 0

# CTI as a Code 一个完整的 Linux 网络威胁情报(CTI)实验室和结构化 CTI 方法论框架,运行在 Docker Compose 上。 **CTI as Code**:版本控制、基于 IDE 的 CTI 调查 —— 可溯源的证据、模板驱动的项目、可重复的分析、可部署的检测。 **技术栈:** OpenCTI · TheHive 5 · Cortex · Elastic SIEM (ES + Kibana) · Logstash **文档站点:** https://1200km.com/CTI_as_a_Code/ ## 服务 | 服务 | URL | 默认用户 | |---|---|---| | OpenCTI | http://localhost:8080 | `admin@cti-lab.local` | | Kibana (SIEM) | http://localhost:5601 | `elastic` | | TheHive | http://localhost:9100 | (首次登录时设置) | | Cortex | http://localhost:9002 | (首次登录时设置) | | MinIO Console | http://localhost:9001 | `cti_minio` | | RabbitMQ Mgmt | http://localhost:15672 | `cti_rabbit` | | Elasticsearch | http://localhost:9200 | `elastic` | ## 快速开始 **要求:** Docker Engine 24+、Docker Compose v2.x、16 GB RAM(最低 12 GB) ``` git clone https://github.com/anpa1200/CTI_as_a_Code.git cd CTI_as_a_Code # 1. 配置 credentials cp .env.example .env nano .env # change ALL passwords and generate UUIDs/secrets (see comments in file) # 2. 启动核心服务 docker compose up -d # 3. 一次性设置(设置 Kibana 密码,创建 MinIO buckets) ./scripts/setup.sh # 4. (可选)启动 MITRE ATT&CK connector docker compose --profile connectors up -d # 5. (可选)启动 Logstash 日志导入 docker compose --profile logstash up -d ``` ## 系统要求 | 组件 | 最低 | 推荐 | |---|---|---| | RAM | 12 GB | 16–20 GB | | CPU | 4 核 | 8 核 | | 磁盘 | 40 GB | 100 GB | | OS | Linux (内核 5+) | Ubuntu 22.04 / 24.04 | **完整的工具参考和系统要求:** 请参阅 [TOOLS.md](TOOLS.md) 获取完整的列表,包括实验室技术栈服务、主机安装的分析工具、仅需浏览器的 Web 工具、三个级别的硬件要求、软件先决条件、每次作业的工具覆盖矩阵以及网络要求。 ## 训练作业 八项涵盖完整 CTI 分析师技能集的结构化作业: | # | 作业 | 组织 | 方法论 | 模板 | |---|---|---|---|---| | A01 | 响应式 IR — 定向入侵,研发数据窃取 | LifeTech Pharma | 响应式 DFIR + ATT&CK | `templates/reactive/` | | A02 | 主动式 — 针对国家级行动者的电信定向攻击 | CelltronX Telecom | 主动式威胁导向检测 | `templates/proactive/` | | A03 | 全周期 CTI — 从零开始的项目设计 | TechPay FinTech | 完整情报周期 | `templates/full-cycle/` | | A04 | 敌手模拟 — Desert Cipher TTPs | TechPay FinTech | 模拟 + 检测验证 | (模拟结构) | | A05 | 响应式 IR — 承包商违规,生物特征数据 | NDSA Government | 响应式 DFIR + 法规合规 | `templates/reactive/` | | A06 | 主动式 — 上线前国家身份验证系统 | NDSA GovID 2.0 | 主动式 + INCD 上线风险 | `templates/proactive/` | | A07 | 全周期 CTI — 监管授权,违规事件后 | NDSA Government | 完整情报周期 | `templates/full-cycle/` | | A08 | 敌手模拟 — INCD 第 8 节合规 | NDSA Government | 模拟 + 合规报告 | (模拟结构) | 作业位于 [`training/`](training/) 中。项目模板位于 [`templates/`](templates/) 中。 每个案例文件夹遵循其方法论模板结构,并包含 `project.yml`、分析文件、合成数据工件以及 `solution.md`。 ## 目录结构 ``` CTI_as_a_Code/ ├── docker-compose.yml # All services ├── .env.example # Credential template ├── TOOLS.md # Complete tools reference and system requirements ├── config/ # Service configuration files ├── scripts/ # setup.sh, health-check.sh, reset.sh ├── templates/ # CTI as Code blank project scaffolds │ ├── reactive/ # Reactive investigation template (A01, A05) │ ├── proactive/ # Proactive threat assessment template (A02, A06) │ └── full-cycle/ # Full-cycle CTI program template (A03, A07) ├── training/ # 8 CTI analyst assignments │ ├── 01-reactive-lifetech/ # project.yml + template structure + synthetic data │ ├── 02-proactive-celltronx/ # project.yml + template structure + synthetic data │ ├── 03-full-cycle-techpay/ # project.yml + template structure + synthetic data │ ├── 04-emulation-techpay/ # project.yml + Sigma rules + emulation results │ ├── 05-reactive-ndsa/ # project.yml + template structure + synthetic data │ ├── 06-proactive-govid2/ # project.yml + template structure + synthetic data │ ├── 07-full-cycle-ndsa/ # project.yml + template structure + synthetic data │ └── 08-emulation-ndsa/ # project.yml + Sigma rules + emulation results └── docs-site/ # Docusaurus documentation ``` ## 脚本 ``` ./scripts/setup.sh # Run once after first docker compose up -d ./scripts/health-check.sh # Check HTTP status of every service ./scripts/reset.sh # !! Wipe all data and volumes !! ``` ## 配置 | Profile | 添加的服务 | |---|---| | *(无)* | ES、Kibana、Redis、RabbitMQ、MinIO、OpenCTI、TheHive、Cortex | | `connectors` | 用于 OpenCTI 的 MITRE ATT&CK connector | | `logstash` | Logstash(Beats 输入端口 :5044) | ## Cortex → TheHive 集成 首次登录 Cortex 后: 1. 转到 **Cortex** → Organization → Create API key 2. 将 `CORTEX_API_KEY=` 添加到 `.env` 3. 取消注释 `config/thehive/application.conf` 中的 Cortex connector 块 4. 重启 TheHive:`docker compose restart thehive` 完整指南:[docs-site/docs/setup/cortex-setup.md](docs-site/docs/setup/cortex-setup.md) ## License MIT
标签:Docker, 内容过滤, 威胁情报, 安全培训, 安全运营, 安全防御评估, 开发者工具, 扫描框架, 搜索引擎查询, 版权保护, 网络安全, 自定义脚本, 越狱测试, 隐私保护