GCP - Privilege Escalation
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
GCP, soos enige ander wolk, het 'n paar beginsels: gebruikers, groepe en diensrekeninge, en 'n paar hulpbronne soos rekenaar enjin, wolk funksies… Dan, via rolle, word toestemmings aan daardie beginsels oor die hulpbronne toegeken. Dit is die manier om die toestemmings wat 'n beginsel oor 'n hulpbron in GCP het, te spesifiseer. Daar is sekere toestemmings wat 'n gebruiker sal toelaat om nog meer toestemmings op die hulpbron of derdeparty hulpbronne te verkry, en dit word privilege escalatie genoem (ook, die benutting van die kwesbaarhede om meer toestemmings te verkry).
Daarom wil ek GCP privilege escalatie tegnieke in 2 groepe verdeel:
Privesc na 'n beginsel: Dit sal jou toelaat om 'n ander beginsel na te doen, en daarom soos dit op te tree met al sy toestemmings. bv.: Misbruik getAccessToken om 'n diensrekening na te doen.
Privesc op die hulpbron: Dit sal jou toelaat om meer toestemmings oor die spesifieke hulpbron te verkry. bv.: jy kan setIamPolicy toestemming oor cloudfunctions misbruik om jou in staat te stel om die funksie te aktiveer.
Let daarop dat sommige hulpbronstoestemmings jou ook sal toelaat om 'n arbitrêre diensrekening aan die hulpbron te koppel. Dit beteken dat jy 'n hulpbron met 'n SA kan ontplooi, in die hulpbron kan kom, en die SA-token kan steel. Daarom sal dit jou in staat stel om na 'n beginsel te eskaleer via 'n hulpbron eskalasie. Dit het al in verskeie hulpbronne gebeur, maar nou is dit minder gereeld (maar kan steeds gebeur).
Dit is duidelik dat die mees interessante privilege escalatie tegnieke die van die tweede groep is omdat dit jou sal toelaat om meer voorregte buite die hulpbronne wat jy reeds oor sommige voorregte het te verkry. Let egter daarop dat eskalering in hulpbronne jou ook toegang kan gee tot sensitiewe inligting of selfs tot ander beginsels (miskien deur 'n geheim te lees wat 'n token van 'n SA bevat).
Dit is ook belangrik om daarop te let dat in GCP Diensrekeninge beide beginsels en toestemmings is, so die eskalering van voorregte in 'n SA sal jou ook toelaat om dit na te doen.
Die toestemmings tussen hakies dui die toestemmings aan wat nodig is om die kwesbaarheid met gcloud
te benut. Dit mag nie nodig wees as dit deur die API benut word nie.
Dit is hoe ek toesig vir spesifieke toestemmings toets om spesifieke aksies binne GCP uit te voer.
Laai die github repo https://github.com/carlospolop/gcp_privesc_scripts
Voeg in tests/ die nuwe skrip by
Tokens van SA wat uit GCP metadata diens gelekt is, het toegangskopes. Dit is beperkings op die toestemmings wat die token het. Byvoorbeeld, as die token die https://www.googleapis.com/auth/cloud-platform
skaal het, sal dit volledige toegang tot al GCP dienste hê. As die token egter die https://www.googleapis.com/auth/cloud-platform.read-only
skaal het, sal dit slegs lees-alleen toegang tot al GCP dienste hê, selfs al het die SA meer toestemmings in IAM.
Daar is geen direkte manier om hierdie toestemmings te omseil nie, maar jy kan altyd probeer om nuwe geloofsbriewe in die gecompromitteerde gasheer te soek, die dienssleutel te vind om 'n OAuth-token sonder beperking te genereer of na 'n ander VM met minder beperking te spring.
Wanneer toegangskopes gebruik word, sal die OAuth-token wat vir die rekenaarinstansie (VM) gegenereer word 'n skaal beperking ingesluit hê. Jy mag egter in staat wees om hierdie beperking te omseil en die toestemmings wat die gecompromitteerde rekening het, te benut.
Die beste manier om hierdie beperking te omseil, is om of nuwe geloofsbriewe in die gecompromitteerde gasheer te vind, om die dienssleutel te vind om 'n OAuth-token sonder beperking te genereer of om 'n ander VM met 'n SA met minder beperking te kompromitteer.
Kontroleer SA met sleutels wat gegenereer is met:
Die manier om jou voorregte in AWS te verhoog, is om genoeg toestemmings te hê om op een of ander manier toegang te verkry tot ander diensrekening/gebruiker/groep voorregte. Kettingverhogings totdat jy administratiewe toegang oor die organisasie het.
GCP het honderde (indien nie duisende nie) toestemmings wat aan 'n entiteit toegeken kan word. In hierdie boek kan jy alle toestemmings wat ek ken vind wat jy kan misbruik om voorregte te verhoog, maar as jy 'n pad ken wat hier nie genoem word nie, deel dit asseblief.
Die subbladsye van hierdie afdeling is georden volgens dienste. Jy kan op elke diens verskillende maniere vind om voorregte op die dienste te verhoog.
As jy binne 'n masjien in GCP is, mag jy in staat wees om toestemmings te misbruik om voorregte selfs plaaslik te verhoog:
GCP - local privilege escalation ssh pivotingLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)