AymanDjioui/Cloud-Attack-Range-Detection

GitHub: AymanDjioui/Cloud-Attack-Range-Detection

一个集成红蓝队的云安全仿真项目,用于模拟SSRF攻击并实时检测,辅以AI威胁分析以增强安全研究。

Stars: 0 | Forks: 0

# ☁️🛡️ 云攻击靶场与检测 ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/63d18765d5193904.jpg) ## 📋 目录 - [概述](#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 — 脆弱银行应用 | 截图 | 描述 | |------|------| | ![SecureBank 登录](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/18f4abbd58193909.png) | 包含演示账户的登录页面 | | ![SecureBank 仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d10dab6051193916.png) | 显示交易记录的账户仪表板 | | ![SSRF 端点](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1bef3b0df5193922.png) | 脆弱的"网关验证"端点(SSRF 入口) | ### 🔴 攻击链 — Kali Linux | 截图 | 描述 | |------|------| | ![侦察与认证](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/27d59ffc71193929.png) | 步骤 1-2:侦察、暴力破解与成功登录 | | ![SSRF 与凭证](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/988cbeb77a193934.png) | 步骤 3-4:SSRF 利用与 IAM 凭证窃取 | | ![数据泄露](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/095b53c7dd193939.png) | 步骤 5-6:权限提升与 DynamoDB 数据导出 | ### 🛡️ Wazuh SIEM — 检测 | 截图 | 描述 | |------|------| | ![Wazuh 概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b01595f28f193944.png) | 包含告警严重性摘要的 Wazuh 仪表板概览 | | ![Wazuh 发现](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/9822f091c7193949.png) | 告警发现视图 — 检测到 5 个严重 SSRF 告警 | | ![告警详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c359fd467c193954.png) | 详细 SSRF 告警,包含源 IP、请求参数及事件元数据 | ### 🤖 AI 威胁情报仪表板 | 截图 | 描述 | |------|------| | ![AI 仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/0785c14ab7194002.png) | AI 驱动的威胁分析,含严重性编码告警 | | ![AI 展开视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8a6b5a146b194009.png) | 展开告警视图,含 AI 分析、修复步骤及 MITRE ATT&CK 映射 | | ![AI 分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4037800bbc194017.png) | 分析视图:严重性分布、主要攻击者 IP、MITRE 映射及活动日志 | | ![安全助手](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/491ece3dd9194025.png) | 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日志分析, 云基础设施安全, 企业安全演练, 凭据窃取, 后端开发, 威胁检测, 恐怖情报生成, 攻击模拟, 测试用例, 网络安全, 自动化响应, 虚拟机隔离, 请求拦截, 逆向工具, 银行应用安全, 隐私保护, 驱动签名利用