检测 AWS IAM 权限提升
概述
本 skill 使用 boto3 和 Cloudsplaining 风格的分析来识别 AWS 账户中的 IAM 权限提升路径。它下载账户授权详情,分析每个策略的危险权限组合(iam:PassRole + lambda:CreateFunction、iam:CreatePolicyVersion、sts:AssumeRole),并标记违反最小权限原则的策略。
前置条件
- Python 3.8+ 及 boto3 库
- 具有 IAM 只读访问权限的 AWS 凭据(iam:GetAccountAuthorizationDetails)
- 可选:用于生成 HTML 报告的 cloudsplaining Python 包
工作流程
- 下载 IAM 授权详情 — 调用 iam:GetAccountAuthorizationDetails 检索所有用户、组、角色和策略
- 分析策略中的权限提升 — 检查每个策略中的已知提升权限组合
- 识别通配符资源策略 — 标记使用 Resource: "*" 配合危险操作的策略
- 映射主体到策略关系 — 构建主体可访问哪些提升路径的图
- 评分和优先排序发现 — 根据提升向量类型按严重性对发现进行排名
- 生成报告 — 生成带修复指导的结构化 JSON 报告
输出格式
- 带严重性评分的权限提升发现 JSON 报告
- 每个主体的危险权限组合列表
- 通配符资源策略审计结果
- 每个发现的修复建议