用途
该技能用于对 AWS 云环境进行渗透测试,覆盖信息收集、权限提升、资源利用与持久化等环节,面向红队行动、授权安全评估和受控教学环境。技能明确要求仅限授权使用,并设置强制确认门:在执行任何探测、利用、更改、持久化、数据提取或凭据访问命令前,必须让用户说明确切目标(URL、IP、账户或资源),确认书面授权与允许范围,展示具体命令及预期效果,并在当前对话中获得明确确认;否则保持只读,仅提供防御性指导,并优先使用沙箱、一次性虚拟机或受控实验环境。
主要能力
技能覆盖以下技术方向:
- 初始枚举:使用
aws sts get-caller-identity确认当前身份,配置 profile,列出访问密钥,并使用 enumerate-iam 枚举权限。 - IAM 枚举:列出用户、用户所属组、附加策略、内联策略、策略详情、角色及角色附加策略。
- 元数据 SSRF(EC2):针对 IMDSv1 访问
http://169.254.169.254/latest/meta-data/,获取 IAM 角色名并提取临时凭据;针对 IMDSv2 需先获取 token;还涉及 Fargate 容器凭据路径(/proc/self/environ与http://169.254.170.2/v2/credentials/...)。 - 权限提升:列出等价于管理员的 Shadow Admin 权限(如
iam:CreateAccessKey、iam:CreateLoginProfile、iam:AttachUserPolicy、iam:PutUserPolicy、iam:AddUserToGroup、iam:PassRole+ec2:RunInstances、lambda:UpdateFunctionCode),并给出为其他用户创建访问密钥、附加管理员策略、添加内联管理员策略、通过 Lambda 注入代码提权等命令示例。 - S3 存储桶利用:使用 bucket_finder 发现存储桶,列出与下载存储桶内容,以及公开存储桶搜索。
- Lambda 利用:列出函数、获取函数代码、调用函数。
- SSM 命令执行:列出托管实例、发送命令、获取命令输出。
- EC2 利用:创建卷快照、从快照创建卷、挂载到攻击者实例;Windows DC 的 Shadow Copy 攻击(CloudCopy 技术,提取 NTDS.dit 与 SYSTEM)。
- 控制台访问转换:使用 aws_consoler 将 CLI 凭据转换为控制台登录 URL。
- 痕迹清理:删除或调整 CloudTrail 配置;并提示 Kali/Parrot/Pentoo 的 user-agent 可能触发 GuardDuty,建议使用可修改 user-agent 的 Pacu。
使用方式
技能提供核心工作流与命令示例,包括初始枚举、IAM 枚举、元数据 SSRF、权限提升、S3、Lambda、SSM、EC2、控制台访问与痕迹清理等步骤。同时列出必备工具及其安装方式:Pacu(git clone https://github.com/RhinoSecurityLabs/pacu)、SkyArk(Import-Module .\SkyArk.ps1)、Prowler(pip install prowler)、ScoutSuite(pip install scoutsuite)、enumerate-iam(git clone https://github.com/andresriancho/enumerate-iam)、Principal Mapper(pip install principalmapper)。前置条件包括:配置好凭据的 AWS CLI、有效 AWS 凭据(即使低权限)、理解 AWS IAM 模型、Python 3 与 boto3 库。
适用场景
适用于授权安全评估、防御性验证或受控教学环境中的 AWS 渗透测试,例如红队行动、云安全审计与权限提升路径验证。
限制与约束
技能规定必须:测试前获得书面授权;记录所有操作以供审计;仅测试范围内资源。不得:未经批准修改生产数据;未记录即留下持久后门;永久禁用安全控制。建议:尝试元数据攻击前检查 IMDSv2;利用前充分枚举;测试结束后清理测试资源。此外,技能还提供故障排查表(如 Access Denied、元数据端点被阻止、GuardDuty 告警、凭据过期、CloudTrail 记录等)以及进阶资源指引(Lambda/API Gateway、Secrets Manager 与 KMS、容器安全、RDS/DynamoDB、VPC 横向移动等,见 references/advanced-aws-pentesting.md)。