mirkaCH/AWS-Cloud-Vulnerability-Triage-and-CloudTrail-Investigation
GitHub: mirkaCH/AWS-Cloud-Vulnerability-Triage-and-CloudTrail-Investigation
一个入门级 AWS 云安全实验室,模拟 CNAPP 风格的漏洞分诊与 CloudTrail 日志调查,演示从漏洞发现到事件升级和修复建议的完整流程。
Stars: 0 | Forks: 0
# AWS 云漏洞分诊与 CloudTrail 调查

## 项目概述
这个入门级云安全项目模拟了对高危 AWS 漏洞发现的调查,其工作流程类似于云原生应用保护平台 (CNAPP),包括 Wiz 等平台。
受影响的资产是一个面向互联网的 Amazon EC2 实例,具有以下特征:
- 一个严重的软件漏洞;
- 暴露于互联网的 SSH;
- 一个权限过高的 IAM role;
- 可能访问敏感的 Amazon S3 数据;
- AWS CloudTrail 中记录了可疑的管理活动。
## 场景
一个模拟的 CNAPP 警报识别出一个名为 `prod-web-server-01` 的易受攻击的 EC2 Web 服务器。
警报指出该实例:
- 受到 `CVE-2021-44228` 的影响;
- 可以从互联网访问;
- 允许来自 `0.0.0.0/0` 的 SSH 访问;
- 具有权限过大的 IAM role;
- 可能会访问 `customer-records-prod` S3 bucket。
CloudTrail 日志还显示了来自陌生 IP 地址的可疑更改。
## 调查目标
1. 验证模拟的漏洞发现。
2. 识别受影响的 AWS 资产和暴露情况。
3. 审查 IAM 权限和网络配置。
4. 分析 CloudTrail 事件以查找可疑活动。
5. 构建事件时间线。
6. 评估可能性、影响和整体风险。
7. 建议遏制、修复和恢复行动。
8. 生成 SOC 风格的升级说明和事件报告。
## 环境与概念
- AWS EC2
- AWS IAM
- AWS Security Groups
- AWS S3
- AWS CloudTrail
- CVE 和 CVSS
- CNAPP 风格的漏洞分诊
- 互联网暴露分析
- 最小权限
- 攻击路径分析
- 事件升级与文档记录
## 仓库结构
```
aws-cloud-vulnerability-triage-lab/
├── README.md
├── GITHUB_DESCRIPTION.txt
├── TOPICS.txt
├── UPLOAD_TO_GITHUB_PL.md
├── evidence/
│ ├── simulated-wiz-finding.md
│ ├── cloudtrail-events.json
│ ├── security-group-rules.txt
│ └── iam-policy.json
├── analysis/
│ ├── vulnerability-analysis.md
│ ├── cloudtrail-investigation.md
│ ├── risk-assessment.md
│ └── timeline.md
├── incident-report/
│ ├── incident-report.md
│ └── escalation-note.md
├── remediation/
│ └── remediation-plan.md
├── scripts/
│ └── analyse_cloudtrail.py
└── screenshots/
├── project-banner.png
├── finding-summary.png
└── attack-path.png
```
## 审查的证据
| 证据 | 用途 |
|---|---|
| 模拟的 CNAPP 发现 | 漏洞与云上下文摘要 |
| CloudTrail JSON 事件 | 管理与身份活动 |
| Security Group 规则 | 网络暴露审查 |
| IAM policy | 权限与影响范围分析 |
## 关键发现
| ID | 发现 | 严重性 |
|---|---|---|
| F-01 | 面向互联网的 EC2 实例存在严重漏洞 | 严重 |
| F-02 | SSH 端口 22 暴露给 `0.0.0.0/0` | 高 |
| F-03 | EC2 role 允许无限制的操作和资源访问 | 严重 |
| F-04 | 来自陌生 IP 的可疑 Security Group 更改 | 高 |
| F-05 | 网络暴露后不久附加了 Administrator policy | 严重 |
| F-06 | CloudTrail 日志记录已停止 | 严重 |
| F-07 | 访问敏感 S3 数据的潜在路径 | 高 |
## 调查摘要
该发现需要升级,因为存在多个相互关联的弱点:
1. 外部攻击者可能访问该 EC2 实例。
2. 该实例包含严重的可利用漏洞。
3. 附加的 IAM role 具有过高的权限。
4. 该 role 可能访问敏感的 S3 数据。
5. CloudTrail 包含可疑的管理活动。
6. 日志记录已停止,降低了可见性。
这创建了一个从互联网暴露到特权云访问和敏感数据的合理攻击路径。

## CloudTrail 分析
调查重点关注以下字段:
- `eventTime`
- `eventSource`
- `eventName`
- `sourceIPAddress`
- `userIdentity`
- `requestParameters`
- `responseElements`
- `errorCode`
- `userAgent`
可疑事件包括:
- `ConsoleLogin`
- `AuthorizeSecurityGroupIngress`
- `AttachRolePolicy`
- `CreateAccessKey`
- `GetObject`
- `StopLogging`
完整分析:[`analysis/cloudtrail-investigation.md`](analysis/cloudtrail-investigation.md)
## 运行本地分析脚本
无需外部 Python 包。
```
python scripts/analyse_cloudtrail.py evidence/cloudtrail-events.json
```
该脚本:
- 加载合成的 CloudTrail 事件;
- 按时间对它们进行排序;
- 标记选定的特高风险事件名称;
- 突出显示陌生的源 IP 地址;
- 打印简明的调查时间线。
## 风险决策
**整体风险:严重**
该问题应立即升级,因为受影响的 EC2 实例:
- 面向互联网;
- 易受远程利用;
- 关联了权限过高的 IAM role;
- 有可能访问敏感数据;
- 关联了可疑的管理更改;
- 受到审计可见性丧失的影响。
## 建议措施
### 立即遏制
- 将 SSH 访问限制在已批准的管理 IP 范围内。
- 将 EC2 实例与网络隔离。
- 分离权限过高的 IAM role。
- 禁用可疑的 access key。
- 恢复并保护 CloudTrail 日志记录。
- 保留相关的日志和快照。
### 修复
- 修补或更换易受攻击的软件。
- 对 EC2 role 应用最小权限。
- 审查 S3 bucket 权限。
- 要求特权身份使用 MFA。
- 在适当情况下,使用 Systems Manager Session Manager 代替公共 SSH。
- 启用集中式日志记录和警报。
- 在修复后重新扫描资产。
完整计划:[`remediation/remediation-plan.md`](remediation/remediation-plan.md)
## 展示的技能
- 云漏洞分诊
- AWS 安全基础知识
- CloudTrail 日志分析
- IAM 权限审查
- Security Group 分析
- 攻击路径推理
- 风险优先级划分
- SOC 升级
- 事件记录
- 清晰的修复建议
## 免责声明
本仓库中的所有身份、IP 地址、账号、资源和事件都是虚构的或保留用于文档目的。本项目仅用于教育和作品集展示目的。
标签:AWS, DPI, PE 加载器, XXE攻击, 安全实验, 库, 应急响应, 漏洞分诊, 逆向工具