GCP - IAM Post Exploitation

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

IAM

You can find further information about IAM in:

GCP - IAM, Principals & Org Policies Enum

Dodeljivanje pristupa konzoli za upravljanje

Pristup GCP management console se dodeljuje korisničkim nalozima, a ne service accounts. Da biste se prijavili u web interfejs, možete dodeliti pristup Google account-u koji kontrolišete. To može biti generički “@gmail.com” nalog, ne mora da bude član ciljne organizacije.

Međutim, da biste dodelili primitivnu ulogu Owner generičkom “@gmail.com” nalogu, moraćete da koristite web konzolu. gcloud će prijaviti grešku ako pokušate da mu dodelite dozvolu iznad Editor.

Možete koristiti sledeću naredbu da dodelite korisniku primitivnu ulogu Editor za vaš postojeći projekat:

gcloud projects add-iam-policy-binding [PROJECT] --member user:[EMAIL] --role roles/editor

Ako ste ovde uspeli, pokušajte pristupiti web interfejsu i istražiti odatle.

Ovo je najviši nivo koji možete dodeliti koristeći gcloud tool.

Brisanje IAM komponenti iam.*.delete

Dozvole iam.*.delete (npr. iam.roles.delete, iam.serviceAccountApiKeyBindings.delete, iam.serviceAccountKeys.delete, itd.) omogućavaju identitetu da obriše kritične IAM komponente kao što su custom roles, API key bindings, service account keys i same service accounts. U rukama napadača, ovo omogućava uklanjanje legitimnih mehanizama pristupa kako bi se prouzrokovao denial of service.

Da biste izveli takav napad, moguće je, na primer, obrisati roles koristeći:

gcloud iam roles delete <ROLE_ID> --project=<PROJECT_ID>

iam.serviceAccountKeys.disable || iam.serviceAccounts.disable

Dozvole iam.serviceAccountKeys.disable i iam.serviceAccounts.disable omogućavaju onemogućavanje aktivnih ključeva servisnih naloga ili samih servisnih naloga, što u rukama napadača može da se iskoristi za ometanje rada, prouzrokovanje denial of service-a ili otežavanje incident response-a sprečavanjem upotrebe legitimate credentials.

Da biste onemogućili servisni nalog, možete koristiti sledeću komandu:

gcloud iam service-accounts disable <SA_EMAIL> --project=<PROJECT_ID>

Da biste onemogućili ključeve Service Account-a, možete upotrebiti sledeću komandu:

gcloud iam service-accounts keys disable <KEY_ID> --iam-account=<SA_EMAIL>

iam.*.undelete

Dozvole iam.*.undelete omogućavaju vraćanje prethodno obrisanih elemenata kao što su API key bindings, custom roles ili service accounts. U rukama napadača, ovo se može iskoristiti za poništavanje odbrambenih mera (oporavak uklonjenog pristupa), ponovno uspostavljanje obrisanih vektora kompromitacije radi održavanja perzistencije, ili izbegavanje mera sanacije, što komplikuje suzbijanje incidenta.

gcloud iam service-accounts undelete "${SA_ID}" --project="${PROJECT}"

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