AWS Penetration Testing
此技能应在用户询问“渗透测试AWS”、“测试AWS安全性”、“枚举IAM”、“利用云基础设施”、“AWS权限提升”、“S3存储桶测试”、“元数据SSRF”、“Lambda利用”,或需要关于亚马逊云服务安全评估指导时使用。
作者
zebbern
分类
其他工具安装
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
AWS Penetration Testing - 云环境安全评估与红队工具
技能概述
AWS Penetration Testing 是一个专业的云安全测试技能,为安全测试人员和红队成员提供 AWS 环境下的完整渗透测试方法论,涵盖 IAM 权限枚举、凭证提权、元数据 SSRF 利用、S3 存储桶测试和 Lambda 代码注入等核心技术。
适用场景
1. 云基础设施安全评估
当企业需要对 AWS 部署进行安全审计时,该技能提供系统化的测试流程。包括 IAM 权限边界检查、S3 存储桶公开访问检测、EC2 安全配置审查等,帮助发现云环境中的安全薄弱环节。
2. SSRF 漏洞利用与凭证获取
在应用层发现 SSRF 漏洞后,通过访问 AWS 元数据端点(169.254.169.254)获取 EC2 实例的临时 IAM 凭证。支持 IMDSv1 和 IMDSv2 两种模式,以及 Fargate 容器的凭证获取技术。
3. 红队行动与持久化
为授权的红队演练提供 AWS 环境下的横向移动和持久化技术,包括创建访问密钥、附加管理员策略、Lambda 代码注入、SSM 命令执行等,并涵盖 CloudTrail 日志处理和 GuardDuty 规避建议。
核心功能
1. IAM 权限枚举与提权
通过 enumerate-iam、Pacu 和 Principal Mapper 等工具全面分析当前凭证的权限范围。识别 Shadow Admin 权限(如 iam:CreateAccessKey、iam:AttachUserPolicy),并提供多种提权路径:为目标用户创建访问密钥、将管理员策略附加到自己的账户、通过 Lambda 代码注入获取更高权限等。
2. 元数据端点 SSRF 利用
提供完整的 EC2 元数据端点利用流程,从获取 IAM 角色名称到提取临时凭证(AccessKeyId、SecretAccessKey、Token)。包含 IMDSv2 的 token 获取方式和 Fargate 容器凭证路径(/v2/credentials/),帮助测试人员从 SSRF 入手实现云资源接管。
3. S3 与 Lambda 资源测试
集成多种 S3 存储桶发现工具,支持公开存储桶枚举和批量下载。Lambda 功能覆盖函数列表获取、代码下载、远程调用和代码注入提权。配合 aws_consoler 工具可将 CLI 凭证转换为控制台登录 URL,实现完整的资源测试闭环。
常见问题
AWS 渗透测试需要哪些前置条件?
需要 AWS CLI 配置有效的访问凭证(即使是低权限用户)、Python 3 环境和 boto3 库。推荐工具包括 Pacu(开源 AWS 漏洞利用框架)、Prowler(安全审计)、SkyArk(Shadow Admin 发现)和 enumerate-iam(权限枚举)。重要前提:必须获得客户的书面授权,确保所有测试活动在合法范围内。
如何绕过 IMDSv2 的元数据端点保护?
IMDSv2 要求先获取 token 才能访问元数据。该技能提供完整的绕过思路:使用 X-aws-ec2-metadata-token-ttl-seconds 头获取 token,然后用 token 访问凭证端点。对于 Fargate 容器,可以从 /proc/self/environ 读取 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 环境变量,再访问 169.254.170.2 获取凭证。如果 IMDSv2 强制启用,可尝试寻找应用内的 SSRF 或其他凭证泄露点。
测试活动会被 CloudTrail 记录吗?
大多数 AWS API 调用会被 CloudTrail 记录,包括 IAM 操作、S3 访问和 EC2 管理。该技能提供日志处理建议,但重点强调应按照合规要求保留审计轨迹。测试时注意 Kali/Parrot/Pentoo Linux 的默认 User-Agent 会触发 GuardDuty 告警,建议使用 Pacu 框架(可修改 User-Agent)。所有操作应有完整的文档记录,用于事后审计和复盘。
该技能是否有使用限制?
是的。该技能仅用于获得明确书面授权的安全测试、红队演练、CTF 竞赛和安全研究场景。禁止用于未经授权的访问、数据窃取或破坏性操作。测试范围应严格限制在合同约定的资源内,不应在生产环境修改数据,不应留下未文档化的持久化后门。