rana-devesh11/aws-threat-detection-lab

GitHub: rana-devesh11/aws-threat-detection-lab

基于 AWS 原生服务构建的事件驱动威胁检测实验环境,通过攻击模拟、实时检测和 MITRE ATT&CK 映射展示完整的云安全监控流水线。

Stars: 0 | Forks: 0

# AWS 威胁检测实验室 一个实用的 AWS 安全监控和威胁检测实验室,演示了检测工程、事件驱动的安全自动化以及云安全架构。 **作者:** Devesh Rana **重点:** 云安全,威胁检测,安全工程 ## 演示 查看从攻击模拟到电子邮件告警的实时威胁检测过程(耗时 60-120 秒): 📹 **[查看完整演示](demo/DEMO_OUTPUT.md)** - 包含 CloudTrail 日志、Lambda 执行和电子邮件告警的完整演练 🎯 **12 个攻击场景** - IAM 权限提升、Root 账户活动、S3 曝光、凭证滥用 ⚡ **实时检测** - EventBridge → Lambda → SNS 流水线,延迟 <2 分钟 ``` # 快速演示(需要 AWS 部署) python3 simulations/iam_attacks.py --scenario privilege-escalation --cleanup # 在 1-2 分钟内检查邮件查看 HIGH 严重性警报 ``` ![Detection](https://img.shields.io/badge/Detection-60--120s_latency-green) ![MITRE](https://img.shields.io/badge/MITRE_ATT%26CK-T1078%2C_T1530-red) ![Cost](https://img.shields.io/badge/Cost-%245--10%2Fmonth-blue) ## 概述 本实验室在 AWS 中实现了生产级的威胁检测流水线,模拟了真实世界的攻击场景并演示了自动化检测能力。该项目将检测结果映射到 MITRE ATT&CK 框架,并实现了事件驱动的响应工作流。 ## 架构 该实验室使用 AWS 原生服务来创建集中式安全监控流水线: ``` ┌─────────────────────────────────────────────────────────────┐ │ AWS Account │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ CloudTrail │─────▶│ S3 │ │ │ │ (Logging) │ │ (Storage) │ │ │ └──────────────┘ └──────────────┘ │ │ │ │ │ │ Events │ │ ▼ │ │ ┌──────────────┐ │ │ │ EventBridge │ │ │ │ (Rules) │ │ │ └──────┬───────┘ │ │ │ │ │ ┌────┴────┬────────┬────────┐ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ │ Lambda Lambda Lambda Lambda │ │ (IAM) (S3) (Root) (Key) │ │ │ │ │ │ │ │ └────┬────┴────────┴────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ SNS │─────▶│ Email / │ │ │ │ (Alerts) │ │ Slack │ │ │ └──────────────┘ └──────────────┘ │ │ │ │ ┌──────────────┐ │ │ │ GuardDuty │──────────────┐ │ │ │ (Findings) │ │ │ │ └──────────────┘ │ │ │ │ │ │ │ └───────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘ ``` ## 组件 ### 检测源 - **CloudTrail**:捕获所有 API 调用和管理事件 - **GuardDuty**:基于 ML 的威胁情报和异常检测 - **EventBridge**:事件路由和模式匹配 ### 检测逻辑 Lambda 函数为以下内容实现了检测规则: 1. **IAM 滥用检测** - 权限提升尝试 - 策略修改 - 角色担任模式 - 用户创建/删除 2. **访问密钥安全** - 公共存储库中的密钥泄露 - 未使用的访问密钥 - 密钥轮换违规 - 异常的密钥使用 3. **Root 账户活动** - Root 登录检测 - Root API 使用 - MFA 状态变更 4. **S3 安全** - 公共存储桶检测 - 存储桶策略变更 - 数据泄露模式 ### 响应操作 - SNS 通知(电子邮件/Slack) - 自动补救(可选) - 记录到 CloudWatch - 指标生成 ## 威胁场景 该实验室包含了以下模拟脚本: | 场景 | MITRE ATT&CK | 描述 | |----------|--------------|-------------| | IAM 权限提升 | T1078 | 为被盗用的用户附加管理员策略 | | 访问密钥泄露 | T1552.001 | 模拟凭证泄露场景 | | Root 账户使用 | T1078.004 | Root 账户登录尝试 | | 公开 S3 存储桶 | T1530 | 存储桶被公开访问 | | 可疑控制台登录 | T1078 | 来自异常位置的登录 | | IAM 枚举 | T1087 | 发现用户和角色 | ## 项目结构 ``` aws-threat-detection-lab/ ├── README.md # This file ├── ARCHITECTURE.md # Detailed design ├── terraform/ # Infrastructure as Code │ ├── main.tf │ ├── cloudtrail.tf │ ├── eventbridge.tf │ ├── lambda.tf │ ├── sns.tf │ ├── iam.tf │ └── variables.tf ├── lambda/ # Detection functions │ ├── iam_detector/ │ ├── s3_detector/ │ ├── root_detector/ │ └── key_detector/ ├── simulations/ # Attack scenarios │ ├── iam_attacks.py │ ├── s3_attacks.py │ └── credential_attacks.py ├── docs/ # Documentation │ ├── SETUP.md │ ├── DETECTIONS.md │ └── TESTING.md └── examples/ # Screenshots, outputs ``` ## 前置条件 - AWS 账户(兼容免费套餐) - 已配置 AWS CLI - Terraform >= 1.0 - Python 3.9+ - 对 AWS 服务有基本了解 ## 快速开始 ### 1. 克隆仓库 ``` git clone https://github.com/rana-devesh11/aws-threat-detection-lab.git cd aws-threat-detection-lab ``` ### 2. 配置变量 ``` cd terraform cp terraform.tfvars.example terraform.tfvars # 使用您的设置编辑 terraform.tfvars ``` ### 3. 部署基础设施 ``` terraform init terraform plan terraform apply ``` ### 4. 运行攻击模拟 ``` cd simulations python3 iam_attacks.py --scenario privilege-escalation ``` ### 5. 监控告警 在 1-2 分钟内检查您的电子邮件/Slack 以获取检测告警。 ## 检测示例 ### IAM 权限提升 **触发:** ``` aws iam attach-user-policy \ --user-name test-user \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess ``` **检测:** ``` Alert: IAM Privilege Escalation Detected User: test-user Action: AttachUserPolicy Policy: AdministratorAccess Time: 2026-05-10 17:30:45 UTC Risk: HIGH ``` ### Root 账户使用 **触发:** ``` aws s3 ls --profile root ``` **检测:** ``` Alert: Root Account Activity Detected Action: ListBuckets Source IP: 203.0.113.42 Time: 2026-05-10 17:31:12 UTC Risk: CRITICAL ``` ## 成本估算 基于最低使用量(测试/演示): | 服务 | 每月成本 | |---------|-------------| | CloudTrail | $0(首个跟踪免费) | | GuardDuty | ~$5-10(30 天免费试用) | | Lambda | $0(在免费套餐内) | | SNS | $0(在免费套餐内) | | S3 | < $1 | | **总计** | **~$5-10/月** | **注意:** 如果用于学习/测试,成本是最低的。完成操作后请记得运行 `terraform destroy`。 ## 关键特性 - **事件驱动架构**:使用 EventBridge 进行实时检测 - **基础设施即代码**:使用 Terraform 进行全自动部署 - **MITRE ATT&CK 映射**:符合行业标准的威胁框架 - **逼真的场景**:基于真实的云安全事件 - **生产级模式**:演示真实世界的安全工程实践 ## 学习成果 本实验室演示了: - AWS 安全服务集成 - 检测工程原则 - 事件驱动的安全自动化 - 云安全监控架构 - 安全的基础设施即代码 - 威胁建模和模拟 - 事件检测和响应工作流 ## 局限性 - 侧重于 AWS API 活动(不包括网络流量) - 检测规则基于签名(非 ML) - 模拟在同一账户中运行(非对手模拟) - 没有持续的威胁狩猎能力 - 仅限于 AWS 原生服务 ## 参考 - [MITRE ATT&CK 云矩阵](https://attack.mitre.org/matrices/enterprise/cloud/) - [AWS 安全最佳实践](https://docs.aws.amazon.com/security/) - [CloudTrail 日志事件参考](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html) ## 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE) ## 联系方式 Devesh Rana 网络安全工程师 [LinkedIn](https://www.linkedin.com/in/devesh-rana11/)
标签:AMSI绕过, AWS, Cloudflare, CloudTrail, DPI, EventBridge, IAM特权升级, Lambda, MITRE ATT&CK, Python, Root账户监控, S3数据暴露, SecOps, Serverless, SNS, 事件驱动, 云安全实验室, 云安全架构, 凭证滥用, 威胁检测, 安全工程, 攻击模拟, 无后门, 逆向工具, 防御工程, 驱动签名利用