AymanDjioui/Cloud-Attack-Range-Detection
GitHub: AymanDjioui/Cloud-Attack-Range-Detection
一个集成红蓝队的云安全仿真项目,用于模拟SSRF攻击并实时检测,辅以AI威胁分析以增强安全研究。
Stars: 0 | Forks: 0
# ☁️🛡️ 云攻击靶场与检测

## 📋 目录
- [概述](#overview)
- [架构](#architecture)
- [攻击场景](#attack-scenario)
- [检测与响应](#detection--response)
- [AI 集成](#ai-integration)
- [项目结构](#project-structure)
- [设置与部署](#setup--deployment)
- [截图展示](#screenshots)
- [技术栈](#technologies-used)
- [团队](#team)
## 概述
本项目实现了一个**完整的云安全仿真环境**,用于研究和检测现代云端攻击。其特点包括:
- 🔴 **红队:** 自动化 SSRF 攻击链,针对模拟 AWS 基础设施上托管的脆弱银行应用
- 🔵 **蓝队:** 使用 Wazuh SIEM 进行实时检测,配备 16 条自定义检测规则,映射至 MITRE ATT&CK 框架
- 🤖 **AI 层:** Google Gemini 驱动的分析引擎,自动处理高严重性告警并生成可操作的威胁情报
整个环境运行在通过内部网络连接的 **3 台隔离虚拟机** 上,模拟真实的企业场景。
## 架构
项目分布在三个虚拟机上以模拟真实网络环境:
| 虚拟机 | 角色 | IP 地址 | 关键组件 |
|--------|------|---------|----------|
| **Kali Linux** | 攻击者 | `192.168.100.30` | 攻击脚本、`curl`、`jq`、AWS CLI |
| **Ubuntu Server** | 云目标 | `192.168.100.20` | SecureBank API、LocalStack(AWS)、Mock IMDS、Wazuh Agent |
| **Ubuntu Server** | 安全运营中心/防御方 | `192.168.100.10` | Wazuh SIEM、AI 引擎、AI 仪表板 |
### 数据流
```
Attacker (Kali) ──SSRF──▶ SecureBank API ──▶ Mock IMDS (steal IAM keys)
│
▼
LocalStack (AWS)
├── DynamoDB (exfiltrate data)
├── S3 (create backdoor bucket)
└── IAM (escalate privileges)
│
CloudTrail Logs + Wazuh Agent
│
▼
SOC VM (Wazuh SIEM + AI Engine)
├── 16 Custom Detection Rules
├── Gemini AI Analysis
└── AI Insights Dashboard
```
## 攻击场景
自动化攻击链(`attack_chain.sh`)模拟了一个复杂的**基于 SSRF 的云凭证窃取**:
| 阶段 | MITRE ATT&CK | 描述 |
|------|--------------|------|
| 1. 侦察 | T1078 | 针对 SecureBank API 的暴力破解登录尝试 |
| 2. 初始访问 | T1190 | 使用窃取/弱凭证进行认证 |
| 3. SSRF 利用 | T1557 | 利用支付验证端点访问内部 IMDS |
| 4. 凭证窃取 | T1552.005 | 从元数据服务窃取 IAM 安全凭证 |
| 5. 发现 | T1580 | 枚举 AWS 服务(S3、DynamoDB、IAM) |
| 6. 数据泄露 | T1530 | 从 DynamoDB 下载敏感数据 |
| 7. 持久化 | T1098 | 创建后门 IAM 用户和 S3 存储桶 |
| 8. 权限提升 | T1078.004 | 为后门用户附加管理员策略 |
## 检测与响应
### 自定义 Wazuh 规则(16 条)
所有告警均映射至 MITRE ATT&CK 战术与技术:
```
json
SSRF
SSRF attack targeting AWS Instance Metadata Service
T1557
```
| 规则等级 | 严重性 | 数量 | 示例 |
|----------|--------|------|------|
| 12-15 | 🔴 严重 | 5 | SSRF 检测、IAM 凭证窃取、权限提升 |
| 8-11 | 🟡 高危 | 5 | 可疑 API 调用、数据泄露、后门创建 |
| 6-7 | 🟠 中危 | 6 | 登录失败、异常 S3 操作、服务枚举 |
## AI 集成
### AI 分析引擎(`ai-engine/`)
每 60 秒运行一次的 Python 服务:
1. 轮询 Wazuh 以获取 `rule_level ≥ 6` 的新告警
2. 将告警上下文发送给 **Google Gemini** 进行深度分析
3. 将结构化结果存储到 PostgreSQL:
- 严重性分类
- AI 生成的摘要和修复步骤
- MITRE ATT&CK 映射
- 威胁狩猎查询(可直接粘贴到 Wazuh)
- 入侵指标(IOCs)
### AI 洞察仪表板(`ai-panel/`)
位于 `http://192.168.100.10:3000` 的实时网络仪表板:
- **仪表板** — 支持严重性筛选和时间范围的告警总览
- **分析** — 告警活动分解及高峰时段分析
- **安全助手** — 供 SOC 分析师使用的 AI 聊天机器人(由 OpenRouter/Gemma 4 驱动,支持 Gemini 回退)
- **一键复制** — 一键复制威胁狩猎查询至 Wazuh
## 项目结构
```
├── kali-attack/ # 🔴 Attacker VM scripts
│ ├── attack_chain.sh # Full automated attack
│ ├── detection_delay.sh # Detection timing test
│ ├── reset_between_runs.sh # Cleanup between demos
│ └── setup_kali.sh # Kali dependencies setup
│
├── securebank-api/ # ☁️ Vulnerable banking app
│ ├── server.js # Express API with SSRF vuln
│ ├── public/index.html # Banking UI
│ └── Dockerfile
│
├── mock-imds/ # ☁️ Fake AWS metadata service
│ ├── imds_server.py # Returns fake IAM credentials
│ └── Dockerfile
│
├── cloudtrail-forwarder/ # ☁️ Log bridge to Wazuh
│ ├── cloudtrail_forwarder.py # Polls LocalStack → Wazuh
│ └── Dockerfile
│
├── terraform/ # ☁️ AWS infrastructure (LocalStack)
│ ├── provider.tf # LocalStack provider config
│ ├── dynamodb.tf # Customer database tables
│ ├── s3.tf # S3 buckets
│ ├── iam.tf # IAM roles and policies
│ └── cloudtrail.tf # CloudTrail logging
│
├── wazuh-rules/ # 🛡️ Custom detection rules
│ ├── cloudtrail_rules.xml # 16 custom alert rules
│ ├── cloudtrail_decoders.xml # Log decoders
│ └── deploy-rules.sh # Auto-deploy script
│
├── ai-engine/ # 🤖 AI analysis backend
│ ├── ai_engine.py # Gemini-powered analyzer
│ ├── requirements.txt
│ └── Dockerfile
│
├── ai-panel/ # 🤖 SOC dashboard
│ ├── server.py # Flask API + OpenRouter chat
│ ├── public/index.html # Dashboard UI
│ ├── requirements.txt
│ └── Dockerfile
│
├── docker-compose.target.yml # ☁️ Target VM orchestration
├── docker-compose.ai.yml # 🛡️ SOC VM orchestration
├── install-wazuh-agent.sh # 🛡️ Wazuh agent installer
└── project-architecture.jpeg # 📐 Architecture diagram
```
## 设置与部署
### 前置条件
- 具有 3 台位于同一网络(`192.168.100.0/24`)虚拟机的 VMware/VirtualBox
- 目标虚拟机和 SOC 虚拟机上需安装 Docker 和 Docker Compose
- 需配备 `curl`、`jq` 和 `aws` CLI 的 Kali Linux
### 1. 目标虚拟机(192.168.100.20)
```
# 部署脆弱的云基础设施
cd ~/cloud-target
docker compose up -d
# 初始化 AWS 资源(LocalStack)
cd terraform && terraform init && terraform apply -auto-approve
```
### 2. SOC 虚拟机(192.168.100.10)
```
# 部署 Wazuh SIEM(使用 wazuh-docker 单节点)
cd ~/wazuh-docker/single-node
docker compose up -d
# 部署自定义检测规则
cd ~/wazuh-rules && bash deploy-rules.sh
# 部署 AI Engine + 仪表板
cd ~/ai-engine
echo "GEMINI_API_KEY=your-key" > .env
echo "OPENROUTER_API_KEY=your-key" >> .env
docker compose up -d --build
```
### 3. 攻击者虚拟机(192.168.100.30)
```
# 设置工具
cd ~/kali-attack && bash setup_kali.sh
# 启动攻击
bash attack_chain.sh
```
### 4. 监控
- **Wazuh 仪表板:** `https://192.168.100.10`(admin / SecretPassword)
- **AI 洞察面板:** `http://192.168.100.10:3000`
- **SecureBank 应用:** `http://192.168.100.20:8080`
## 截图展示
### 🏦 SecureBank — 脆弱银行应用
| 截图 | 描述 |
|------|------|
|  | 包含演示账户的登录页面 |
|  | 显示交易记录的账户仪表板 |
|  | 脆弱的"网关验证"端点(SSRF 入口) |
### 🔴 攻击链 — Kali Linux
| 截图 | 描述 |
|------|------|
|  | 步骤 1-2:侦察、暴力破解与成功登录 |
|  | 步骤 3-4:SSRF 利用与 IAM 凭证窃取 |
|  | 步骤 5-6:权限提升与 DynamoDB 数据导出 |
### 🛡️ Wazuh SIEM — 检测
| 截图 | 描述 |
|------|------|
|  | 包含告警严重性摘要的 Wazuh 仪表板概览 |
|  | 告警发现视图 — 检测到 5 个严重 SSRF 告警 |
|  | 详细 SSRF 告警,包含源 IP、请求参数及事件元数据 |
### 🤖 AI 威胁情报仪表板
| 截图 | 描述 |
|------|------|
|  | AI 驱动的威胁分析,含严重性编码告警 |
|  | 展开告警视图,含 AI 分析、修复步骤及 MITRE ATT&CK 映射 |
|  | 分析视图:严重性分布、主要攻击者 IP、MITRE 映射及活动日志 |
|  | AI 安全助手实时分析活跃威胁 |
## 技术栈
| 类别 | 技术 |
|------|------|
| **SIEM** | Wazuh 4.x(管理器、索引器、仪表板) |
| **云模拟** | LocalStack 3.4、Terraform |
| **AI/ML** | Google Gemini 2.0 Flash、OpenRouter(Gemma 4 31B) |
| **后端** | Python(Flask)、Node.js(Express) |
| **数据库** | PostgreSQL 15、OpenSearch(Wazuh 索引器) |
| **容器化** | Docker、Docker Compose |
| **攻击工具** | curl、jq、AWS CLI、Bash 脚本 |
| **框架** | MITRE ATT&CK |
## 团队
| 姓名 | 角色 |
|------|------|
| **Ayman Djioui** | 项目负责人、AI 集成与 SOC 仪表板 |
| **Aymane Elouafi** | 云基础设施与攻击模拟 |
| **Badr Jakout** | Wazuh SIEM 与检测规则 |
| **Amine Chaker** | SecureBank 应用与 SSRF 漏洞 |
## 许可证
本项目**仅供教育目的**。它作为 ENSA Khouribga 网络安全课程的一部分开发。演示的攻击技术仅应在受控的实验环境中使用。
标签:AI威胁分析, AMSI绕过, AWS安全, CISA项目, IAM密钥安全, LocalStack模拟, MITM代理, MITRE ATT&CK框架, SIEM系统, SSRF攻击, StruQ, Wazuh日志分析, 云基础设施安全, 企业安全演练, 凭据窃取, 后端开发, 威胁检测, 恐怖情报生成, 攻击模拟, 测试用例, 网络安全, 自动化响应, 虚拟机隔离, 请求拦截, 逆向工具, 银行应用安全, 隐私保护, 驱动签名利用