GCP - Compute Post Exploitation
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
有关计算和 VPC(网络)的更多信息,请查看:
GCP - Compute Enum这将允许攻击者访问已存在镜像中的数据或创建正在运行的虚拟机的新镜像,并在没有访问正在运行的虚拟机的情况下访问其数据。
可以将虚拟机镜像导出到一个存储桶,然后下载并使用以下命令在本地挂载它:
在执行此操作之前,攻击者可能需要对存储桶拥有权限,并且肯定需要对 cloudbuild 拥有权限,因为这是将被请求执行导出的 服务。
此外,为了使其正常工作,codebuild SA 和 compute SA 需要特权权限。
cloudbuild SA <project-id>@cloudbuild.gserviceaccount.com
需要:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
而 SA <project-id>-compute@developer.gserviceaccount.com
需要:
roles/compute.storageAdmin
roles/storage.objectAdmin
无法直接导出快照和磁盘,但可以 将快照转换为磁盘,将磁盘转换为映像,并按照 前一部分,将该映像导出以便在本地检查。
为了访问存储在镜像中的数据或运行中的虚拟机,攻击者创建了一个镜像,可以授予外部账户对该镜像的访问权限:
然后从它创建一个新的虚拟机:
如果您无法通过镜像授予外部帐户访问权限,您可以在受害者的项目中使用该镜像启动一个虚拟机,并使元数据执行反向 shell以访问镜像,添加参数:
为了访问存储在磁盘或快照中的数据,您可以将快照转换为磁盘,将磁盘转换为映像,并按照之前的步骤进行操作。
或者您可以授予外部帐户对磁盘的访问权限(如果起点是快照,则授予对快照的访问权限或从中创建磁盘):
将磁盘 附加到实例:
挂载磁盘到虚拟机内:
SSH 进入虚拟机:
识别磁盘:进入虚拟机后,通过列出磁盘设备来识别新磁盘。通常可以找到它作为 /dev/sdb
、/dev/sdc
等。
格式化并挂载磁盘(如果是新磁盘或原始磁盘):
创建挂载点:
挂载磁盘:
如果您无法将快照或磁盘的访问权限授予外部项目,您可能需要在与快照/磁盘相同项目的实例内执行这些操作。
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术: HackTricks 培训 GCP 红队专家 (GRTE)