GCP - Sourcerepos Privesc

Support HackTricks

Hifadhi za Chanzo

Kwa maelezo zaidi kuhusu Hifadhi za Chanzo angalia:

source.repos.get

Kwa ruhusa hii inawezekana kupakua hifadhi hiyo kwenye kompyuta:

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. Kwa maelezo zaidi kuhusu jinsi ya kufikia siri angalia:

Ongeza funguo za SSH

Inawezekana kuongeza funguo za ssh kwenye mradi wa Hifadhi ya Chanzo katika konsoli 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 imewekwa, unaweza kufikia hifadhi kwa:

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

Na kisha tumia git amri kama kawaida.

Hati za Mikono

Inawezekana kuunda hati za mikono ili kufikia Hifadhi za Chanzo:

Kibonyeza kwenye 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 kipeperushi cha ruhusa ya Oauth ili kutoa ufikiaji kwa Google Cloud Development. Hivyo utahitaji ama hati za mtumiaji au kikao kilichofunguliwa kwenye kivinjari kwa hili.

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

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

source.repos.updateProjectConfig

Kwa ruhusa hii inawezekana kuzima ulinzi wa default wa Hifadhi za Chanzo ili usiweke msimbo unaojumuisha Funguo Binafsi:

gcloud source project-configs update --disable-pushblock

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

gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
Support HackTricks

Last updated