GCP - Sourcerepos Privesc

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Hifadhi za Chanzo

Kwa maelezo zaidi kuhusu Hifadhi za Chanzo angalia:

GCP - Source Repositories Enum

source.repos.get

Kwa ruhusa hii inawezekana kupakua hifadhi hiyo kwenye kompyuta yako:

bash
gcloud source repos clone <repo-name> --project=<project-uniq-name>

source.repos.update

Mtu mwenye ruhusa hii ataweza kuandika msimbo ndani ya hifadhi iliyo cloned kwa gcloud source repos clone <repo>. Lakini kumbuka kwamba ruhusa hii haiwezi kuunganishwa na majukumu ya kawaida, hivyo inapaswa kutolewa kupitia jukumu lililowekwa kama:

  • Mmiliki
  • Mhariri
  • Msimamizi wa Hifadhi ya Chanzo (roles/source.admin)
  • Mwandishi wa Hifadhi ya Chanzo (roles/source.writer)

Ili kuandika fanya tu git push ya kawaida.

source.repos.setIamPolicy

Kwa ruhusa hii mshambuliaji anaweza kujitengenezea ruhusa za awali.

Ufikiaji wa siri

Ikiwa mshambuliaji ana ufikiaji wa siri ambapo tokeni zimehifadhiwa, ataweza kuiba hizo tokeni. Kwa maelezo zaidi kuhusu jinsi ya kufikia siri angalia:

GCP - Secretmanager Privesc

Ongeza funguo za SSH

Inawezekana kuongeza funguo za ssh kwenye mradi wa Hifadhi ya Chanzo katika console ya wavuti. Inafanya ombi la posta kwa /v1/sshKeys:add na inaweza kuundwa katika https://source.cloud.google.com/user/ssh_keys

Mara tu funguo yako ya ssh inapowekwa, unaweza kufikia hifadhi kwa:

bash
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>

Na kisha tumia git amri kama kawaida.

Akikodi za Mikono

Inawezekana kuunda akikodi za mikono ili kufikia Repositories za Chanzo:

Kubonyeza kiungo cha kwanza kitakupeleka kwenye https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3

Ambayo itakuonyesha Oauth authorization prompt ili kutoa ufikiaji kwa Google Cloud Development. Hivyo utahitaji ama akikodi za mtumiaji au kikao kilichofunguliwa kwenye kivinjari kwa hili.

Hii itakutuma kwenye ukurasa wenye bash script ya kutekeleza na kuunda cookie ya git katika $HOME/.gitcookies

Kutekeleza script hiyo unaweza kisha kutumia git clone, push... na itafanya kazi.

source.repos.updateProjectConfig

Kwa ruhusa hii inawezekana kuzima ulinzi wa kawaida wa Repositories za Chanzo ili kutopeleka msimbo unao na Funguo za Kibinafsi:

bash
gcloud source project-configs update --disable-pushblock

Unaweza pia kusanifu mada tofauti ya pub/sub au hata kuizima kabisa:

bash
gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks