GCP - Orgpolicy Privesc

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

orgpolicy

orgpolicy.policy.set

An attacker koji koristi orgpolicy.policy.set može manipulisati organizacionim politikama, što će mu omogućiti uklanjanje određenih ograničenja koja ometaju specifične operacije. Na primer, ograničenje appengine.disableCodeDownload obično onemogućava preuzimanje izvornog koda App Engine. Međutim, korišćenjem orgpolicy.policy.set, attacker može deaktivirati ovo ograničenje, čime stiče pristup za preuzimanje izvornog koda, iako je on prvobitno bio zaštićen.

Dobavi informacije o org policy i onemogući sprovođenje ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ]

Disable

gcloud resource-manager org-policies disable-enforce [–folder | –organization | –project ]

</details>

Python skripta za ovu metodu može se naći [here](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py).

### `orgpolicy.policy.set`, `iam.serviceAccounts.actAs`

Uobičajeno nije moguće prikačiti service account iz drugog projekta na resource jer postoji primenjen policy constraint nazvan **`iam.disableCrossProjectServiceAccountUsage`** koji to onemogućava.

Moguće je proveriti da li je ovaj constraint primenjen pokretanjem sledeće komande:

<details>
<summary>Verify cross-project service account constraint</summary>
```bash
gcloud resource-manager org-policies describe \
constraints/iam.disableCrossProjectServiceAccountUsage \
--project=<project-id> \
--effective

booleanPolicy:
enforced: true
constraint: constraints/iam.disableCrossProjectServiceAccountUsage

Ovo sprečava napadača da zloupotrebi dozvolu iam.serviceAccounts.actAs da impersonira servisni nalog iz drugog projekta bez potrebnih dodatnih infrastrukturnih dozvola da, na primer, pokrene novi VM, što bi moglo dovesti do eskalacije privilegija.

Međutim, napadač sa dozvolama orgpolicy.policy.set može zaobići ovu restrikciju tako što će onemogućiti ograničenje iam.disableServiceAccountProjectWideAccess. Ovo omogućava napadaču da prikači servisni nalog iz drugog projekta na resurs u svom projektu, efektivno eskalirajući svoje privilegije.

Onemogućavanje ograničenja za servisne naloge između projekata ```bash gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project= ```

Reference

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks