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 严重性警报
```
  
## 概述
本实验室在 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, 事件驱动, 云安全实验室, 云安全架构, 凭证滥用, 威胁检测, 安全工程, 攻击模拟, 无后门, 逆向工具, 防御工程, 驱动签名利用