GCP - Sourcerepos Privesc
Reading time: 4 minutes
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Izvori Repozitorijumi
Za više informacija o Izvorima Repozitorijuma pogledajte:
GCP - Source Repositories Enum
source.repos.get
Sa ovom dozvolom je moguće preuzeti repozitorijum lokalno:
gcloud source repos clone <repo-name> --project=<project-uniq-name>
source.repos.update
Princip sa ovom dozvolom će moći da piše kod unutar repozitorijuma kloniranog sa gcloud source repos clone <repo>
. Ali imajte na umu da se ova dozvola ne može prikačiti na prilagođene uloge, tako da mora biti dodeljena putem unapred definisane uloge kao što su:
- Vlasnik
- Urednik
- Administrator repozitorijuma izvora (
roles/source.admin
) - Pisac repozitorijuma izvora (
roles/source.writer
)
Da biste pisali, jednostavno izvršite običan git push
.
source.repos.setIamPolicy
Sa ovom dozvolom napadač bi mogao da dodeli sebi prethodne dozvole.
Pristup tajnama
Ako napadač ima pristup tajnama gde su tokeni pohranjeni, moći će da ih ukrade. Za više informacija o tome kako pristupiti tajni, proverite:
Dodavanje SSH ključeva
Moguće je dodati ssh ključeve u projekat Source Repository u veb konzoli. To šalje POST zahtev na /v1/sshKeys:add
i može se konfigurisati na https://source.cloud.google.com/user/ssh_keys
Kada je vaš ssh ključ postavljen, možete pristupiti repozitorijumu sa:
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
I zatim koristite git
komande kao i obično.
Ručne Kredencijale
Moguće je kreirati ručne kredencijale za pristup Source Repositories:
.png)
Klikom na prvu vezu bićete preusmereni na https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Što će prikazati Oauth autorizacijski prozor za davanje pristupa Google Cloud Development. Tako da će vam biti potrebni ili kredencijali korisnika ili otvorena sesija u pretraživaču za ovo.
Ovo će vas odvesti na stranicu sa bash skriptom za izvršavanje i konfiguraciju git kolačića u $HOME/.gitcookies
.png)
Izvršavanjem skripte možete koristiti git clone, push... i to će raditi.
source.repos.updateProjectConfig
Sa ovom dozvolom moguće je onemogućiti podrazumevanu zaštitu Source Repositories da ne učitava kod koji sadrži privatne ključeve:
gcloud source project-configs update --disable-pushblock
Možete takođe konfigurisati drugačiju pub/sub temu ili čak potpuno onemogućiti:
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.