GCP - BigQuery Privesc
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
BigQuery
Za više informacija o BigQuery, proverite:
GCP - Bigquery EnumRead Table
Čitanjem informacija koje su pohranjene unutar BigQuery tabele, može biti moguće pronaći senzitivne informacije. Da biste pristupili informacijama, potrebne su dozvole bigquery.tables.get
, bigquery.jobs.create
i bigquery.tables.getData
:
Export data
Ovo je još jedan način da se pristupi podacima. Izvezite ih u skladišni prostor u oblaku i preuzmite datoteke sa informacijama.
Da biste izvršili ovu radnju, potrebna su sledeća ovlašćenja: bigquery.tables.export
, bigquery.jobs.create
i storage.objects.create
.
Insert data
Možda je moguće uneti određene pouzdane podatke u Bigquery tabelu kako bi se iskoristila ranjivost na nekom drugom mestu. Ovo se može lako uraditi sa dozvolama bigquery.tables.get
, bigquery.tables.updateData
i bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
bigquery.datasets.setIamPolicy
Napadač bi mogao da zloupotrebi ovu privilegiju da dodeli sebi dodatne dozvole nad BigQuery skupom podataka:
bigquery.datasets.update
, (bigquery.datasets.get
)
bigquery.datasets.update
, (bigquery.datasets.get
)Samo ova dozvola omogućava da ažurirate svoj pristup BigQuery skupu podataka modifikovanjem ACL-ova koji ukazuju ko može da mu pristupi:
bigquery.tables.setIamPolicy
bigquery.tables.setIamPolicy
Napadač bi mogao da zloupotrebi ovu privilegiju da dodeli sebi dodatne dozvole 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 pomenutim dozvolama moguće je ažurirati politiku reda.
Međutim, koristeći cli bq
potrebne su vam još neke: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Moguće je pronaći ID filtera u izlazu enumeracije pravila redova. Primer:
Ако имате bigquery.rowAccessPolicies.delete
уместо bigquery.rowAccessPolicies.update
, можете једноставно да избришете политику:
Joša jedna potencijalna opcija za zaobilaženje politika pristupa redovima bi bila da jednostavno promenite vrednost ograničenih podataka. Ako možete da vidite samo kada je term
Cfba
, jednostavno izmenite sve zapise u tabeli da imaju term = "Cfba"
. Međutim, ovo je sprečeno od strane bigquery-a.
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated