GCP - Public Buckets Privilege Escalation

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기

버킷 권한 상승

버킷 정책이 “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 권한을 부여하기 위해 다음을 실행할 수 있습니다:

gsutil iam ch allAuthenticatedUsers:admin gs://BUCKET_NAME

또 다른 공격은 버킷을 제거하고 당신의 계정에서 다시 생성하여 소유권을 훔치는 것입니다.

References

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated