0Pricing
Ethical Hacking Academy · 课时

云攻击面

AWS、Azure、GCP

云攻击面 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

什么是云攻击面

云攻击面是攻击者可能尝试进入云环境或从中提取数据的所有入口点的总和。与本地部署的网络不同,云攻击面主要由配置和身份决定,而不是由物理边界决定。

  • 面向公众的应用程序接口和管理控制台
  • 身份与访问管理(IAM)
  • 存储桶、数据库和无服务器函数
  • 网络暴露面(安全组、负载均衡器)

一个配置错误的设置就可能暴露整个账户。

三大云平台:AWS、Azure、GCP

大多数云渗透测试都会针对三大主要提供商之一。每个平台都有自己的身份模型和术语,但攻击模式大同小异。

  • AWS — IAM 用户/角色、S3、EC2、Lambda
  • Azure — Entra ID(Azure AD)、Blob Storage、虚拟机、Functions
  • GCP — IAM 服务账户、Cloud Storage、Compute Engine

深入学习其中一个平台会让其他平台更容易掌握,因为核心概念(身份、计算、存储、网络)在它们之间是相通的。

共享责任模型

云提供商负责保护基础设施;客户负责保护自己放入其中的内容。这就是共享责任模型,几乎每次云环境泄露都发生在客户一侧。

  • 提供商:物理数据中心、虚拟机监控程序、托管服务补丁
  • 客户:IAM 策略、数据、OS 补丁(IaaS)、网络配置

作为渗透测试人员,您应专注于客户的责任范围,因为可被利用的错误就存在于那里。

枚举云身份

云评估的第一项工作是弄清楚您是谁,以及使用现有凭据能够执行哪些操作。AWS CLI 可以立即显示调用方身份。

如果某个密钥的权限过大,这个单一身份就可能横向移动到整个账户。

# Confirm which AWS identity a credential belongs to
aws sts get-caller-identity

# Example output
# {
#   "UserId": "AIDA...",
#   "Account": "123456789012",
#   "Arn": "arn:aws:iam::123456789012:user/devuser"
# }

公共攻击面与私有攻击面

云资源可能可以从公共互联网访问,也可能只能从虚拟网络内部访问。配置错误导致的暴露是最常见的发现之一。

  • 对 0.0.0.0/0 开放的安全组 / NSG
  • 设置为允许公共读取的存储桶
  • 启用了公共端点的数据库
  • 暴露在外的管理端口(22、3389、5432)

绘制公共资源的分布图是云侦察的基础。

从外部发现资源

即使没有凭据,攻击者也会枚举目标的云环境足迹。可预测的命名和 DNS 会泄露数量惊人的信息。

工具会根据公司名称和常见模式,暴力猜测存储桶名称和存储资源名称。

# Resolve a cloud-hosted hostname to map provider/region
nslookup assets.example.com

# Probe a guessed S3 bucket name
curl -s -o /dev/null -w '%{http_code}\n' https://example-backups.s3.amazonaws.com/

管理平面与数据平面

每个云账户中都存在两个不同的攻击层面:

  • 管理/控制平面 — 用于创建、修改和删除资源的 API(例如 iam:CreateUser、ec2:RunInstances)
  • 数据平面 — 访问资源内部数据的权限(读取 S3 对象、查询数据库)

攻陷管理平面通常意味着游戏结束,因为攻击者可以授予自己想要的任何数据平面访问权限。

日志记录与检测面

云操作会被集中记录。作为渗透测试人员,您必须知道这些记录的存在,因为防御人员会监控它们;而发现日志记录被禁用本身就是一项发现。

  • AWS CloudTrail — 记录所有 API 调用
  • Azure 活动日志 / Monitor
  • GCP Cloud Audit Logs

即使尚未进行任何利用,发现某个账户禁用了日志记录或未对其进行监控,也属于高风险发现。

# Check whether CloudTrail logging is active
aws cloudtrail describe-trails
aws cloudtrail get-trail-status --name my-trail

常见的云入口

大多数云环境入侵都始于少数几类立足点:

  • 泄露在 Git 仓库、持续集成日志或移动应用中的访问密钥
  • 附加到已被入侵服务器上的权限过大的 IAM 角色
  • 通过 SSRF 访问实例元数据服务
  • 公开的存储桶暴露机密或备份

识别这些模式有助于您确定首先应从哪里开始排查。

系统化地梳理攻击面

结构化的方法可以确保云评估全面而不遗漏。在获取凭证后,自动化工具可以枚举整个账户。

ScoutSuite 和 Prowler 等工具会审计各项服务的配置,并自动标记风险。

# Audit an AWS account for misconfigurations (read-only)
prowler aws

# Multi-cloud configuration review
scout aws

先确定范围与授权

云测试必须始终处于委托授权范围内。云服务提供商也有自身的交战规则。

  • 确认纳入范围的具体账户、订阅或项目
  • 避免影响其他租户或共享基础设施的操作
  • 未经明确的书面批准,绝不要运行拒绝服务类测试

未经授权的云测试可能违反服务提供商条款及当地法律。

快速检查

在共享责任模型下,哪一方负责 IAM 策略和数据配置?

回顾:云攻击面

您已经了解了云攻击面的定义,以及它与传统网络的差异。

  • 攻击面由身份与配置塑造,而不是由物理边界塑造
  • AWS、Azure 和 GCP 共享相同的核心概念:身份、计算、存储和网络
  • 共享责任模型规定由客户负责配置和数据
  • 区分管理平面和数据平面
  • 测试前始终确认范围和授权

接下来,我们将深入学习 IAM 配置错误,这是云攻击的核心。

常见问题解答

「云攻击面」课时是免费的吗?

是的 — 「云攻击面」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「云攻击面」这节课中我会学到什么?

AWS、Azure、GCP 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「云攻击面」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 云攻击面
  2. IAM 错误配置
  3. S3 与存储暴露
  4. 元数据与 SSRF
← 返回 Ethical Hacking Academy