GCP Pentesting
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)
Voordat jy begin pentesting 'n GCP omgewing, is daar 'n paar basiese dinge wat jy moet weet oor hoe dit werk om jou te help verstaan wat jy moet doen, hoe om miskonfigurasies te vind en hoe om dit te benut.
Konsepte soos organisasie hiërargie, toestemmings en ander basiese konsepte word verduidelik in:
GCP - Basic InformationOm 'n GCP omgewing te oudit is dit baie belangrik om te weet: watter dienste gebruik word, wat is blootgestel, wie het toegang tot wat, en hoe is interne GCP dienste en eksterne dienste gekoppel.
Vanuit 'n Red Team perspektief, is die eerste stap om 'n GCP omgewing te kompromitteer om te slaag om 'n paar akkrediteer te verkry. Hier is 'n paar idees oor hoe om dit te doen:
Leaks in github (of soortgelyk) - OSINT
Sosiale Ingenieurswese (Kyk na die bladsy Workspace Security)
Wagwoord hergebruik (wagwoord leaks)
Kw vulnerabilities in GCP-Hosted Applications
Server Side Request Forgery met toegang tot metadata eindpunt
Plaaslike Lêer Lees
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
3de partye gekompromitteer
Interne Werknemer
Of deur 'n nie-geauthentiseerde diens bloot te stel:
GCP - Unauthenticated Enum & AccessOf as jy 'n hersiening doen, kan jy net vraag om akkrediteer met hierdie rolle:
GCP - Permissions for a PentestNadat jy daarin geslaag het om akkrediteer te verkry, moet jy weet aan wie behoort daardie akkrediteer, en waartoe hulle toegang het, so jy moet 'n paar basiese enumerasie uitvoer:
Vir meer inligting oor hoe om GCP metadata te enumerate, kyk na die volgende hacktricks bladsy:
In GCP kan jy verskeie opsies probeer om te probeer raai wie jy is:
Jy kan ook die API-eindpunt /userinfo
gebruik om meer inligting oor die gebruiker te kry:
As jy genoeg regte het, sal die nagaan van die voorregte van elke entiteit binne die GCP-rekening jou help om te verstaan wat jy en ander identiteite kan doen en hoe om voorregte te verhoog.
As jy nie genoeg regte het om IAM te enumerate nie, kan jy brute-force hulle steel om dit uit te vind. Kyk hoe om die numerasie en brute-forcing te doen in:
GCP - IAM, Principals & Org Policies EnumNou dat jy 'n bietjie inligting oor jou akrediteer het (en as jy 'n rooi span is, hoop ek jy is nie opgespoor nie). Dit is tyd om uit te vind watter dienste in die omgewing gebruik word. In die volgende afdeling kan jy 'n paar maniere kyk om sommige algemene dienste te enumerate.
GCP het 'n verbasende hoeveelheid dienste, in die volgende bladsy sal jy basiese inligting, enumerasie cheatsheets vind, hoe om opsporing te vermy, volharding te verkry, en ander post-exploitatie truuks oor sommige van hulle:
GCP - ServicesLet daarop dat jy nie al die werk handmatig hoef te doen nie, hieronder in hierdie pos kan jy 'n afdeling oor outomatiese gereedskap vind.
Boonop, in hierdie fase mag jy meer dienste ontdek het wat aan nie-geverifieerde gebruikers blootgestel is, jy mag in staat wees om hulle te benut:
GCP - Unauthenticated Enum & AccessDie mees algemene manier wanneer jy 'n paar wolk akrediteer of 'n diens wat binne 'n wolk loop gecompromitteer het, is om misgeconfigureerde voorregte wat die gecompromitteerde rekening mag hê, te misbruik. So, die eerste ding wat jy moet doen is om jou voorregte te enumerate.
Boonop, tydens hierdie enumerasie, onthou dat regte op die hoogste vlak van "Organisasie" gestel kan word.
GCP - Privilege EscalationGCP - Post ExploitationGCP - PersistenceTerwyl jy GCP dienste enumerate, mag jy sommige van hulle gevind het wat elemente aan die Internet blootstel (VM/Containers poorte, databasisse of wagdiens, snappings of emmers...). As pentester/rooi span lid moet jy altyd kyk of jy sensitiewe inligting / kwesbaarhede op hulle kan vind, aangesien hulle jou mag verder toegang tot die AWS-rekening bied.
In hierdie boek moet jy inligting vind oor hoe om blootgestelde GCP dienste te vind en hoe om hulle te kontroleer. Oor hoe om kwesbaarhede in blootgestelde netwerkdienste te vind, sou ek jou aanbeveel om te soek vir die spesifieke diens in:
Die kompromittering van beginsels in een platform mag 'n aanvaller toelaat om die ander een te kompromitteer, kyk dit in:
GCP <--> Workspace PivotingIn die GCloud-konsol, in https://console.cloud.google.com/iam-admin/asset-inventory/dashboard kan jy hulpbronne en IAM's sien wat deur projek gebruik word.
Hier kan jy die bates sien wat deur hierdie API ondersteun word: https://cloud.google.com/asset-inventory/docs/supported-asset-types
Kyk gereedskap wat in verskeie wolke hier gebruik kan word.
gcp_scanner: Dit is 'n GCP hulpbron skandeerder wat kan help om te bepaal watter vlak van toegang sekere akrediteer besit op GCP.
gcp_enum: Bash-skrip om 'n GCP-omgewing te enumereer met behulp van gcloud cli en die resultate in 'n lêer te stoor.
GCP-IAM-Privilege-Escalation: Skripte om hoë IAM-privileges te enumereer en om privileges in GCP te eskaleer deur dit te misbruik (Ek kon nie die enumereer-skrip laat loop nie).
BF My GCP Permissions: Skrip om jou toestemmings te bruteforce.
Onthou dat jy die parameter --log-http
met die gcloud
cli kan gebruik om die versoeke wat die hulpmiddel uitvoer te druk. As jy nie wil hê die logs moet die token waarde redigeer nie, gebruik gcloud config set log_http_redact_token false
Boonop, om die kommunikasie te onderskep:
Om 'n uitgeputte diensrekening OAuth-token van die metadata-eindpunt te gebruik kan jy net doen:
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)