云攻击面
IAM、存储与元数据风险。
云攻击面 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
云端共同责任模型
在云环境中,提供商负责保护基础设施,客户负责保护配置、身份和数据。大多数入侵发生在责任边界的客户一侧。
- 提供商负责修补虚拟机监控程序并保障物理安全。
- 客户负责 IAM 策略、存储权限和网络规则。
- 配置错误而非提供商遭到入侵,是主要风险。
身份是新的边界
云环境没有传统的网络边界。访问由 IAM 管理:用户、角色、策略和密钥。泄露的访问密钥造成的危害可能与被盗的域管理员密码一样严重。
- IAM 策略授予对资源执行操作的权限。
- 角色允许服务和用户获取临时凭据。
- 权限过大的身份是主要的提权途径。
凭据暴露
云凭据不断泄露。常见来源包括:
- 提交到公开 Git 仓库的访问密钥。
- 硬编码在移动应用、持续集成日志或容器镜像中的密钥。
- 服务器端请求伪造(SSRF)访问元数据服务。
- 过度共享长期有效密钥,而不是使用短期角色。
# Scan a repo for leaked cloud secrets
trufflehog git file://./repo --only-verified
# Validate an AWS key you found
aws sts get-caller-identity元数据服务
每个云实例都会公开一个元数据端点,该端点可以提供临时角色凭证。若某个能够访问该端点的 VM 存在 SSRF 或 RCE,攻击者通常就能获得该实例的角色权限。
- AWS IMDS 位于
169.254.169.254。 - IMDSv1 只需发送请求,因此很容易被 SSRF 滥用。
- IMDSv2 要求会话令牌(先 PUT 再 GET),从而遏制许多 SSRF 攻击。
# IMDSv1 (vulnerable) credential theft via SSRF
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE
# IMDSv2 requires a token first
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' -H 'X-aws-ec2-metadata-token-ttl-seconds: 60')存储配置错误
对象存储(S3、GCS、Azure Blob)是数据暴露的常见来源。
- 公开读取的存储桶会泄露敏感文件。
- 公开写入的存储桶允许篡改内容或托管恶意软件。
- 范围过宽的存储桶策略或访问控制列表会授予已认证用户访问权限。
- 有效期过长的预签名链接会泄露持久访问权限。
# Enumerate and test an S3 bucket
aws s3 ls s3://target-bucket --no-sign-request
aws s3 cp s3://target-bucket/secret.txt . --no-sign-request网络与服务暴露
云网络控制措施(安全组、网络安全组、防火墙规则)很容易被配置得过于开放。
- 数据库或管理端口暴露给
0.0.0.0/0。 - 管理平面(Kubernetes API、RDP、SSH)可以从互联网访问。
- 内部服务在没有身份验证的情况下默认信任 VPC。
无服务器与托管服务
无服务器架构会转移风险,但不会消除风险。函数、队列和托管数据库各自都有执行身份。
- Lambda 的执行角色可能被授予过多权限。
- 环境变量中经常存放着在系统被攻破后可以读取的机密。
- 事件源配置错误可能使不受信任的输入触发高权限函数。
控制平面与数据平面
请区分这两个攻击面:
- 控制平面:云 API(创建资源、修改 IAM、读取配置)。一旦控制平面被攻破,整个账户都会受到影响。
- 数据平面:工作负载本身(应用、VM、容器)。
在数据平面取得立足点后获得控制平面凭证,是云环境中经典的权限提升路径。
多账户与跨租户
大型组织会将工作负载拆分到多个账户、订阅或项目中。
- 信任策略薄弱的跨账户角色允许攻击者横向转移。
- 第三方集成角色中的混淆代理问题可能被滥用。
- 组织级角色(例如 OrganizationAccountAccessRole)具有很高价值。
日志记录与检测面
防御者依赖云原生日志。攻击者则会尝试让这些日志失效。
- CloudTrail、Activity Log 和 Audit Logs 会记录控制平面调用。
- 攻击者可能禁用跟踪记录或停止日志传送。
- GuardDuty、Security Command Center 和 Defender 会标记异常。
禁用日志记录本身就是一个高信号事件,值得针对它设置警报。
界定云端测试范围
云端渗透测试需要了解云服务提供商的规则并获得授权。某些操作(拒绝服务、某些类型的扫描)会违反服务提供商的条款。请始终确认账户归属,约定影响范围,并优先进行只读枚举。
请使用专用测试账户或带有清晰标记的资源,绝不要接触文档规定范围之外的资源。
快速检查
请确认您已掌握云攻击面。
回顾
您已经梳理了云攻击面。
- 客户侧的配置错误是云风险的主要来源。
- 身份是安全边界;泄露的密钥和角色是关键攻击途径。
- 元数据服务将数据平面中的漏洞连接到云凭证。
- 存储、网络和日志记录配置错误共同构成了攻击面的其他部分。
下一步:枚举云资源以发现这些问题。
常见问题解答
「云攻击面」课时是免费的吗?
是的 — 「云攻击面」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「云攻击面」这节课中我会学到什么?
IAM、存储与元数据风险。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「云攻击面」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。