GCP - BigQuery Privesc
BigQuery
Za više informacija o BigQuery-u pogledajte:
pageGCP - Bigquery EnumČitanje tabele
Čitanjem informacija koje se nalaze unutar BigQuery tabele moguće je pronaći osetljive informacije. Za pristup informacijama potrebne su dozvole bigquery.tables.get
, bigquery.jobs.create
i bigquery.tables.getData
:
Izvoz podataka
Ovo je još jedan način pristupa podacima. Izvezi ih u spremište oblaka i preuzmi datoteke sa informacijama.
Da biste izvršili ovu radnju, potrebne su sledeće dozvole: bigquery.tables.export
, bigquery.jobs.create
i storage.objects.create
.
Unos podataka
Moguće je uneti određene pouzdane podatke u Bigquery tabelu kako bi se iskoristila ranjivost na nekom drugom mestu. To se može lako postići sa dozvolama bigquery.tables.get
, bigquery.tables.updateData
i bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
bigquery.datasets.setIamPolicy
Napadač bi mogao zloupotrebiti ovlašćenje da sebi dodeli dodatna ovlašćenja nad BigQuery datasetom:
bigquery.datasets.update
, (bigquery.datasets.get
)
bigquery.datasets.update
, (bigquery.datasets.get
)Samo ova dozvola omogućava ažuriranje pristupa vašem BigQuery datasetu putem izmenjivanja ACL-ova koji pokazuju ko može pristupiti.
bigquery.tables.setIamPolicy
bigquery.tables.setIamPolicy
Napadač bi mogao zloupotrebiti ovlašćenje da sebi dodeli dodatna ovlašćenja nad BigQuery tabelom:
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
Prema dokumentaciji, sa navedenim dozvolama je moguće ažurirati politiku reda.
Međutim, korišćenjem bq
komandne linije potrebno je još nekoliko dozvola: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Moguće je pronaći ID filtera u izlazu enumeracije politika redova. Primer:
Last updated