oguarni/cloud-security-lab-gcp
GitHub: oguarni/cloud-security-lab-gcp
基于 GCP 的攻防安全实验室,以基础设施即代码方式端到端复现五种 Cyber Kill Chain 攻击场景及其云原生检测与缓解方案。
Stars: 0 | Forks: 0
# ☁️🔐 云安全实验室 — 攻防实战 (GCP)
一个注重实践操作的**攻击_与_防御**安全实验室,**完全基于命令行** (`gcloud`,基础设施即代码) 在 **Google Cloud (GCP)** 上构建。实验室沿着 **Cyber Kill Chain** 端到端复现了五种真实的攻击技术,并且每种技术都配备了使用**云原生**遥测技术的**检测、取证审计和缓解**方案。
## 🏗️ 架构
位于隔离 VPC 中的两台 **Ubuntu 22.04** 虚拟机,通过代码进行配置,并从第一天起就启用了 **防火墙日志记录** 和 **流日志**:
```
Internet
│ (operator IP only, /32)
┌────────────┴──────────────┐
│ GCP — project lab-seg │
│ VPC: lab-net │
│ Subnet: 10.10.0.0/24 │
│ │
┌────────────┴────────┐ ┌─────────┴───────────────┐
│ VM: atacante │ LAN │ VM: alvo │
│ Ubuntu 22.04 │◄──────►│ Ubuntu 22.04 │
│ nmap, hydra, │ 10.10. │ Apache+DVWA (80) │
│ sqlmap, tshark, │ 0.0/24 │ SSH (22) │
│ SET, nikto │ │ vsftpd (21) │
│ IP: 10.10.0.3 │ │ Ops Agent · 10.10.0.2 │
└─────────────────────┘ └─────────────────────────┘
Firewall (logging): allow-internal, allow-ssh-admin, allow-web
Observability: VPC Flow Logs + Firewall Logging + Cloud Logging
```
- **`atacante`** — 攻击工具箱:`nmap`、`hydra`、`sqlmap`、`tshark`、`SET`、`nikto`
- **`alvo`** — 漏洞目标:`Apache+DVWA`、`SSH`、`vsftpd`、`Ops Agent`
- **审计:** VPC Flow Logs · Firewall Rules Logging · Cloud Logging (Ops Agent) · Cloud IDS
只需两个脚本即可启动和销毁整个实验室:
```
bash scripts/00-provisionar-lab-gcp.sh # create VPC, firewall (w/ logging), 2 VMs
bash scripts/99-destruir-lab-gcp.sh # destroy everything (ethics + cost control)
```
虚拟机通过启动脚本 ([`startup-atacante.sh`](scripts/startup-atacante.sh), [`startup-alvo.sh`](scripts/startup-alvo.sh)) 进行自动配置 —— 完全实现**基础设施即代码**,可复现且用后即毁。
## ⚔️ 攻击 → 🛡️ 防御
每种技术都对应一个 **Cyber Kill Chain** 阶段以及一起**近期发生的真实事件**,并通过云原生检测和缓解措施进行应对:
| # | Kill Chain 阶段 | 攻击 | 工具 | 检测与缓解 | 真实案例 |
|:-:|---|---|---|---|---|
| 1 | 初始访问 (Web) | **SQL 注入** | sqlmap / DVWA | Apache 日志特征 · 预处理语句 · WAF | MOVEit / Clop (2023) |
| 2 | 凭据获取 | **SSH 暴力破解** | Hydra | `auth.log` + Cloud Logging · **Fail2Ban** · 密钥认证 + MFA | SSH 暴力破解僵尸网络 (2023–24) |
| 3 | 侦察 | **端口扫描与防火墙绕过** | Nmap | VPC Flow Logs · Firewall Logging · Cloud IDS | — |
| 4 | 初始访问 (人为) | **网络钓鱼 / 凭据收集** | SET | 安全意识培训 · 防钓鱼 **MFA (FIDO2)** | 0ktapus / Scattered Spider |
| 5 | 收集 / 数据外发 | **HTTP 嗅探** | Wireshark | **TLS/HTTPS** · GCP Packet Mirroring · Cloud IDS | — |
基于 **NIST SP 800-61** 的**模拟事件响应策略**将这一切串联起来(检测 → 遏制 → 消除 → 恢复 → 经验教训),并包含了量化的响应指标(例如,Fail2Ban 在 **3 次登录失败**后即遏制了暴力破解)。
## 🔎 取证样本 (真实运行记录)
**使用 SET 收集凭据** — 克隆的登录页面捕获受害者的凭据 (`WE GOT A HIT!`):

**使用 Wireshark 进行 HTTP 嗅探** — 凭据通过 HTTP 以明文形式传输 (`user=admin&pass=…`):

## 🧰 技术与展示技能
`Google Cloud (GCP)` · `gcloud CLI` · `Infrastructure as Code` · `VPC / Firewall / Flow Logs` ·
`Cloud Logging / Ops Agent` · `Cloud IDS` · `Packet Mirroring` · `Nmap` · `sqlmap` · `Hydra` ·
`Wireshark / tshark` · `SET` · `Fail2Ban` · `DVWA` · `Linux` · `Bash` · `Cyber Kill Chain` · `NIST SP 800-61`
PDF 报告由自定义的 **Pandoc → Chromium (Playwright)** pipeline 生成(请参阅项目的构建脚本)。
## ⚖️ 道德与范围
所有实验均在**隔离且经授权**的 VPC 中进行,外部访问仅限操作员的 IP (`/32`)。**未针对任何第三方系统进行攻击**,所有目标均属于本实验室,并且**所有资源在结束时均已销毁**。展示的弱凭据(例如 `teste:123456`)是刻意设置的实验室数值。**仅供教育目的使用**。
## 📂 布局
```
.
├── scripts/ # GCP provisioning, teardown and VM startup (IaC)
├── screenshots/ # evidence (images + a .pcap capture)
├── docs/ # full technical report (PDF, PT-BR)
└── README.md
```
在 **UTFPR** 开发的学术项目 — Bacharelado em Engenharia de Software (Câmpus Dois Vizinhos)。完整报告以葡萄牙语编写。
标签:CISA项目, CTI, GCP, OPA, TGT, 应用安全, 插件系统, 攻防演练, 网络安全, 防御绕过, 隐私保护, 靶场