GCP - BigQuery Privesc
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)
Vir meer inligting oor BigQuery kyk:
Deur die inligting wat in 'n BigQuery tabel gestoor is te lees, mag dit moontlik wees om sensitiewe inligting te vind. Om toegang tot die inligting te verkry, is die toestemming wat benodig word bigquery.tables.get
, bigquery.jobs.create
en bigquery.tables.getData
:
Dit is nog 'n manier om toegang tot die data te verkry. Eksporteer dit na 'n wolkberging emmer en aflaai die lêers met die inligting.
Om hierdie aksie uit te voer, is die volgende toestemmings nodig: bigquery.tables.export
, bigquery.jobs.create
en storage.objects.create
.
Dit mag dalk moontlik wees om sekere vertroude data in 'n Bigquery-tabel in te voer om 'n kwesbaarheid op 'n ander plek te misbruik. Dit kan maklik gedoen word met die toestemmings bigquery.tables.get
, bigquery.tables.updateData
en bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
'n Aanvaller kan hierdie voorreg misbruik om vir homself verdere toestemmings oor 'n BigQuery-dataset te gee:
bigquery.datasets.update
, (bigquery.datasets.get
)Net hierdie toestemming laat jou toe om jou toegang oor 'n BigQuery-dataset op te dateer deur die ACLs te wysig wat aandui wie toegang het:
bigquery.tables.setIamPolicy
'n Aanvaller kan hierdie voorreg misbruik om vir homself verdere toestemmings oor 'n BigQuery-tabel te gee:
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
Volgens die dokumentasie is dit met die genoemde toestemmings moontlik om 'n rybeleid op te dateer.
E however, met die cli bq
benodig jy nog 'n paar: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Dit is moontlik om die filter-ID in die uitvoer van die rybeleide enumerasie te vind. Voorbeeld:
As jy bigquery.rowAccessPolicies.delete
in plaas van bigquery.rowAccessPolicies.update
het, kan jy ook net die beleid verwyder:
'n Ander potensiële opsie om rytoegangbeleide te omseil, sou wees om net die waarde van die beperkte data te verander. As jy net kan sien wanneer term
Cfba
is, verander dan al die rekords van die tabel om term = "Cfba"
te hê. Dit word egter deur bigquery voorkom.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)