GCP Pentesting
Basiese Inligting
Voordat jy begin met pentesting van '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 misconfiguraties te vind en hoe om dit uit te buit.
Konsepte soos organisasie hiërargie, toestemmings en ander basiese konsepte word verduidelik in:
GCP - Basic InformationLaboratoriums om te leer
GCP Pentester/Red Team Metodologie
Om 'n GCP-omgewing te oudit, is dit baie belangrik om te weet: watter diensse word gebruik, wat blootgestel word, wie het toegang tot wat, en hoe interne GCP-diensse en eksterne diensse gekoppel is.
Vanuit 'n Red Team-oogpunt is die eerste stap om 'n GCP-omgewing te kompromitteer om te slaag om sekere geldeenhede te verkry. Hier het jy 'n paar idees oor hoe om dit te doen:
Lekke in github (of soortgelyk) - OSINT
Sosiale Ingenieurswese (Kyk na die bladsy Workspace Security)
Wagwoord hergebruik (wagwoordlek)
Kwesbaarhede in GCP-gehoste Aansoeke
Bedienerkant Aanvraagvervalsing met toegang tot metadata-eindpunt
Plaaslike Lêes van Lêers
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
3de partye gekraak
Interne Werknemer
Of deur 'n onbevestigde diens wat blootgestel is, te kompromitteer:
GCP - Unauthenticated Enum & AccessOf as jy 'n ondersoek doen, kan jy net vra vir geldeenhede met hierdie rolle:
GCP - Permissions for a PentestNadat jy daarin geslaag het om geldeenhede te verkry, moet jy weet aan wie daardie geldeenhede behoort, en wat hulle toegang tot het, dus moet jy 'n paar basiese opname uitvoer:
Basiese Opname
SSRF
Vir meer inligting oor hoe om GCP-metadata te opneem, kyk na die volgende hacktricks-bladsy:
Wie is ek
In GCP kan jy verskeie opsies probeer om te raai wie jy is:
Beginsels & IAM Opsomming
Indien jy genoeg toestemmings het, die voorregte van elke entiteit binne die GCP-rekening nagaan sal jou help om te verstaan wat jy en ander identiteite kan doen en hoe om voorregte te eskaleer.
Indien jy nie genoeg toestemmings het om IAM op te som nie, kan jy hulle brute-force steel om dit uit te vind. Kyk hoe om die opsomming en brute-forcing te doen in:
GCP - IAM, Principals & Org Policies EnumNou dat jy inligting oor jou geloofsbriewe het (en as jy 'n rooi span is, hopelik het jy 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 vind om sekere algemene dienste op te som.
Dienste Opsomming
GCP het 'n verbysterende hoeveelheid dienste, op die volgende bladsy sal jy basiese inligting, opsomming-spiekbriefjes, hoe om opsporing te vermy, verkry volharding, en ander post-exploitation-truuks oor sommige van hulle vind:
GCP - ServicesLet daarop dat jy nie al die werk handmatig hoef te doen nie, onderaan in hierdie pos kan jy 'n afdeling oor outomatiese gereedskap vind.
Verder, in hierdie stadium het jy dalk meer dienste ontdek wat aan ongeagte gebruikers blootgestel is, jy mag hulle kan uitbuit:
GCP - Unauthenticated Enum & AccessVoorregte Eskalasie, Post Exploitation & Volharding
Die mees algemene manier nadat jy 'n paar wolk-geloofsbriewe verkry het of 'n diens wat binne 'n wolk hardloop, gekompromitteer het, is om sleutelvoorregte te misbruik wat die gekompromitteerde rekening mag hê. Dus, die eerste ding wat jy moet doen is om jou voorregte op te som.
Verder, gedurende hierdie opsomming, onthou dat toestemmings op die hoogste vlak van "Organisasie" ingestel kan word.
GCP - Privilege EscalationGCP - Post ExploitationGCP - PersistenceOpenlik Blootgestelde Dienste
Terwyl jy GCP-dienste opsom, mag jy sommige van hulle vind wat elemente aan die internet blootstel (VM/Containers-poorte, databasisse of tou-dienste, oomblikke of houers...). As pentester/rooi spanner moet jy altyd nagaan of jy sensitiewe inligting / kwesbaarhede daarop kan vind aangesien hulle jou dalk verdere toegang tot die AWS-rekening kan bied.
In hierdie boek behoort jy inligting te vind oor hoe om blootgestelde GCP-dienste te vind en hoe om hulle te toets. Oor hoe om kwesbaarhede in blootgestelde netwerkdienste te vind, sal ek aanbeveel om te soek vir die spesifieke diens in:
GCP <--> Workspace Pivoting
Kompromittering van beginsels in een platform mag 'n aanvaller toelaat om die ander een te kompromitteer, kyk daarna in:
GCP <--> Workspace PivotingOutomatiese Gereedskap
In die GCloud-konsole, by https://console.cloud.google.com/iam-admin/asset-inventory/dashboard kan jy hulpbronne en IAMs sien wat deur die 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 na gereedskap wat in verskeie wolke gebruik kan word hier](../pentesting-cloud-methodology.md).
gcp_scanner: Dit is 'n GCP-hulpbron-skandeerder wat kan help om te bepaal watter vlak van toegang sekere geloofsbriewe op GCP het.
gcp_enum: Bash-skrip om 'n GCP-omgewing te ontleed deur die gcloud-cli te gebruik en die resultate in 'n lêer te stoor.
GCP-IAM-Privilege-Escalation: Skripte om hoë IAM-voorregte te ontleed en voorregte in GCP te eskaleer deur hulle te misbruik (Ek kon nie die ontleed-skrip laat loop nie).
gcloud-configurasie & foutopsporing
Vang gcloud, gsutil... netwerk
Onthou dat jy die parameter --log-http
kan gebruik met die gcloud
cli om die versoeke wat die instrument uitvoer te druk. As jy nie wil hê dat die logs die tokenwaarde verberg nie, gebruik gcloud config set log_http_redact_token false
Verder, om die kommunikasie te onderskep:
OAuth-token konfigureer in gcloud
Om 'n uitgelekte diensrekening OAuth-token vanaf die metadata-eindpunt te gebruik kan jy net doen:
Verwysings
Last updated