GCP - Compute Instances

Support HackTricks

Basic Information

Google Cloud Compute Instances 是 可定制的虚拟机,运行在 Google 的云基础设施上,为各种应用提供可扩展和按需的计算能力。它们提供全球部署、持久存储、灵活的操作系统选择以及强大的网络和安全集成等功能,使其成为高效托管网站、处理数据和运行应用程序的多功能选择。

Confidential VM

保密虚拟机使用 最新一代 AMD EPYC 处理器提供的基于硬件的安全功能,包括内存加密和安全加密虚拟化。这些功能使虚拟机能够保护处理和存储的数据,甚至免受主机操作系统和虚拟机监控程序的影响。

要运行保密虚拟机,可能需要 更改 一些设置,例如 机器类型、网络 接口启动磁盘映像

Disk & Disk Encryption

可以 选择要使用的磁盘创建一个新磁盘。如果选择新磁盘,可以:

  • 选择磁盘的 大小

  • 选择 操作系统

  • 指定是否希望在实例被删除时 删除磁盘

  • 加密:默认情况下将使用 Google 管理的密钥,但您也可以 从 KMS 选择一个密钥或指定 要使用的原始密钥

Deploy Container

可以在虚拟机内部署 容器。 可以配置要使用的 映像,设置要在内部运行的 命令参数、挂载 环境变量(敏感信息?),并为该容器配置多个选项,例如以 特权 身份执行、标准输入和伪 TTY。

Service Account

默认情况下,将使用 计算引擎默认服务帐户。该服务帐户的电子邮件格式为:<proj-num>-compute@developer.gserviceaccount.com 该服务帐户在整个项目中具有 编辑者角色(高权限)

默认访问范围如下:

  • https://www.googleapis.com/auth/devstorage.read_only -- 对存储桶的读取访问 :)

  • https://www.googleapis.com/auth/logging.write

  • https://www.googleapis.com/auth/monitoring.write

  • https://www.googleapis.com/auth/servicecontrol

  • https://www.googleapis.com/auth/service.management.readonly

  • https://www.googleapis.com/auth/trace.append

但是,可以 通过点击授予 cloud-platform 权限或指定 自定义权限

Firewall

可以允许 HTTP 和 HTTPS 流量。

Networking

  • IP Forwarding:可以在实例创建时 启用 IP 转发

  • Hostname:可以为实例提供一个永久主机名。

  • Interface:可以添加网络接口。

Extra Security

这些选项将 提高虚拟机的安全性,并且推荐使用:

  • 安全启动:安全启动有助于保护您的虚拟机实例免受启动级和内核级恶意软件和根套件的攻击。

  • 启用 vTPM:虚拟受信任平台模块(vTPM)验证您的客户虚拟机的预启动和启动完整性,并提供密钥生成和保护。

  • 完整性监控:完整性监控允许您使用 Stackdriver 报告监控和验证受保护虚拟机实例的运行时启动完整性。需要启用 vTPM。

VM Access

启用对虚拟机的访问的常见方法是 允许某些 SSH 公钥 访问虚拟机。 但是,也可以 通过 os-config 服务使用 IAM 启用对虚拟机的访问。此外,还可以使用此服务启用 2FA 以访问虚拟机。 当此 服务启用 时,通过 SSH 密钥的访问将被禁用

Metadata

可以定义 自动化(AWS 中的用户数据),这些是每次机器启动或重启时将执行的 Shell 命令

还可以 添加额外的元数据键值对,这些将可以从元数据端点访问。此信息通常用于环境变量和启动/关闭脚本。可以使用枚举部分中的命令的 describe 方法 获取此信息,但也可以通过访问元数据端点从实例内部检索。

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

此外,附加服务帐户的身份验证令牌有关实例、网络和项目的一般信息也将可以从元数据端点获取。有关更多信息,请查看:

加密

默认情况下使用Google管理的加密密钥,但可以配置客户管理的加密密钥(CMEK)。您还可以配置在使用的CMEK被撤销时该怎么办:不做任何事情或关闭虚拟机。

支持HackTricks

Last updated