Aireck2/cyber-project-01
GitHub: Aireck2/cyber-project-01
一个用 Terraform 搭建的 AWS 云安全实战实验室,用于模拟和演练从 SSRF 到 S3 数据渗出的完整攻击链。
Stars: 0 | Forks: 0
# SSRF 到 S3 数据渗出
[](https://terraform.io)
[](https://aws.amazon.com)
[](LICENSE)
**难度:** 中等 · **规模:** 小型 [场景](#scenario) • [架构](#architecture) • [前置条件](#prerequisites) • [部署](#deployment) • [攻击流程](#attack-flow) • [清理](#cleanup)
这是一个动手实践的网络安全实验室,模拟针对 AWS EC2 实例的 **服务器端请求伪造 (SSRF)** 攻击,其灵感来自 [2019 年 Capital One 数据泄露事件](https://en.wikipedia.org/wiki/Capital_One_data_breach)。利用配置不当的反向代理,从 EC2 元数据服务中窃取 IAM 凭证,并从私有的 S3 存储桶中渗出敏感的持卡人数据。
## 场景
从一个没有任何权限的匿名攻击者开始,你的目标是:
1. 识别充当反向代理且配置不当的 EC2 实例。
2. 通过篡改 `Host` 标头,构造 SSRF 请求以查询 **EC2 元数据服务** (`169.254.169.254`)。
3. 获取 **IAM 实例配置文件凭证**(Access Key ID、Secret Access Key、Session Token)。
4. 使用这些凭证发现并列出私有的 S3 存储桶。
5. 从 S3 存储桶中 **下载机密的持卡人数据**。
## 架构

### 部署的资源
| 资源 | 描述 |
| ------------------- | --------------------------------------------------------------------------------- |
| **VPC** | `10.10.0.0/16`,包含 2 个公有子网、Internet Gateway 和路由 |
| **EC2 Instance** | Ubuntu 22.04,运行存在漏洞的 nginx 反向代理 (`t3.micro`) |
| **IAM Role** | 附加到实例配置文件的 `cg-banking-WAF-Role`,具有 `AmazonS3FullAccess` 权限 |
| **S3 Bucket** | 私有存储桶 `cg-cardholder-data-bucket-*`,包含伪造的持卡人 CSV 文件 |
| **Security Groups** | SSH (端口 22) 和 HTTP (端口 80) 限制为您的 IP 可访问 |
nginx 反向代理被故意配置为不当状态:它根据 `Host` 标头转发请求,从而允许针对 EC2 元数据服务的 SSRF。
## 前置条件
- [AWS CLI](https://aws.amazon.com/cli/) 并配置了管理员配置文件
- [Terraform](https://developer.hashicorp.com/terraform/downloads) >= 1.5
- 一对 SSH 密钥(默认:项目根目录下的 `cloudgoat` / `cloudgoat.pub`)
- 您的公网 IP 地址记录在 `whitelist.txt` 中(每行一个条目)
## 部署
```
# 将你的公网 IP 写入白名单
echo "$(curl -s ifconfig.me)" > whitelist.txt
# 生成 SSH 密钥对
ssh-keygen -t rsa -b 2048 -f cloudgoat -N ""
# 初始化并部署
cd terraform
terraform init
terraform apply -auto-approve \
-var="profile=default" \
-var="cgid=$(openssl rand -hex 4)"
```
部署完成后,Terraform 会输出 **目标 EC2 IP 地址** - 这是您的入口点。
## 攻击流程
### 1. 侦察
您将获得 EC2 实例的公网 IP。探测该 Web 服务器:
```
curl http://**难度:** 中等 · **规模:** 小型 [场景](#scenario) • [架构](#architecture) • [前置条件](#prerequisites) • [部署](#deployment) • [攻击流程](#attack-flow) • [清理](#cleanup)
标签:AWS, DPI, ECS, OPA, SSRF, StruQ, Terraform, 漏洞利用检测, 漏洞探索, 网络安全, 隐私保护, 靶场