GCP - Sourcerepos 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

Source Repositories

Za više informacija o Source Repositories pogledajte:

GCP - Source Repositories Enum

source.repos.get

Sa ovom dozvolom moguće je preuzeti repozitorij lokalno:

Clone source repository ```bash gcloud source repos clone --project= ```

source.repos.update

Entitet sa ovom dozvolom će moći da piše kod u repozitorijumu kloniranom sa gcloud source repos clone <repo>. Međutim, imajte na umu da se ova dozvola ne može pridružiti prilagođenim rolama, već mora biti dodeljena putem unapred definisane role kao što su:

  • Owner
  • Editor
  • Source Repository Administrator (roles/source.admin)
  • Source Repository Writer (roles/source.writer)

Za pisanje jednostavno izvršite običan git push.

source.repos.setIamPolicy

Sa ovom dozvolom napadač bi mogao sebi dodeliti prethodne dozvole.

Pristup tajnama

Ako napadač ima pristup tajnama u kojima su tokeni sačuvani, moći će da ih ukrade. Za više informacija o tome kako pristupiti tajni pogledajte:

GCP - Secretmanager Privesc

Dodavanje SSH ključeva

Moguće je dodati ssh ključeve u Source Repository projekat u web konzoli. Pravi POST zahtev na /v1/sshKeys:add i može se konfigurirati na https://source.cloud.google.com/user/ssh_keys

Kada je vaš ssh ključ postavljen, možete pristupiti repozitorijumu sa:

Kloniranje repozitorijuma pomoću SSH ```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p//r/ ```

Nakon toga koristite git komande kao i obično.

Ručno kreirani kredencijali

Moguće je kreirati ručno kredencijale za pristup Source Repositories:

Klikom na prvi link bićete preusmereni na https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3

Koji će prikazati Oauth authorization prompt za dodelu pristupa Google Cloud Development. Dakle, biće vam potrebni ili kredencijali korisnika ili otvorena sesija u pregledaču za ovo.

Ovo će vas odvesti na stranicu sa bash skriptom za izvršavanje koja konfiguriše git cookie u $HOME/.gitcookies

Izvršavanjem skripte možete zatim koristiti git clone, push… i radiće.

source.repos.updateProjectConfig

Sa ovom dozvolom moguće je onemogućiti podrazumevanu zaštitu Source Repositories da ne dozvoli upload koda koji sadrži privatne ključeve:

Onemogući pushblock i izmeni pub/sub konfiguraciju ```bash gcloud source project-configs update --disable-pushblock ``` Takođe možete konfigurisati drugu pub/sub temu ili je čak potpuno onemogućiti: ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```

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