GCP - Public Buckets Privilege Escalation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
버킷 정책이 “allUsers” 또는 “allAuthenticatedUsers”가 버킷 정책에 쓰기 (즉, storage.buckets.setIamPolicy 권한)를 허용한다면, 누구나 버킷 정책을 수정하고 자신에게 전체 접근 권한을 부여할 수 있습니다.
버킷에 대한 권한을 확인하는 방법은 2가지가 있습니다. 첫 번째는 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
allAuthenticatedUsers
에게 Storage Admin
권한을 부여하기 위해 다음을 실행할 수 있습니다:
또 다른 공격은 버킷을 제거하고 당신의 계정에서 다시 생성하여 소유권을 훔치는 것입니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)