GCP - Public Buckets Privilege Escalation
存储桶权限提升
如果存储桶策略允许“allUsers”或“allAuthenticatedUsers”写入其存储桶策略(storage.buckets.setIamPolicy 权限),那么任何人都可以修改存储桶策略并授予自己完全访问权限。
检查权限
检查存储桶权限有两种方法。第一种是通过向 https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
发出请求或运行 gsutil iam get gs://BUCKET_NAME
来请求它们。
然而,如果您的用户(可能属于“allUsers”或“allAuthenticatedUsers”)没有权限读取存储桶的 iam 策略(storage.buckets.getIamPolicy),那将无法工作。
另一种始终有效的选项是使用存储桶的 testPermissions 端点来确定您是否拥有指定权限,例如访问:https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam/testPermissions?permissions=storage.buckets.delete&permissions=storage.buckets.get&permissions=storage.buckets.getIamPolicy&permissions=storage.buckets.setIamPolicy&permissions=storage.buckets.update&permissions=storage.objects.create&permissions=storage.objects.delete&permissions=storage.objects.get&permissions=storage.objects.list&permissions=storage.objects.update
提升权限
为了将 Storage Admin
授予 allAuthenticatedUsers
,可以运行:
另一个攻击方法是删除存储桶并在您的帐户中重新创建它以窃取所有权。
参考文献
Last updated