GCP - BigQuery Privesc
BigQuery
Para mais informações sobre o BigQuery, consulte:
pageGCP - Bigquery EnumLer Tabela
Lendo as informações armazenadas dentro de uma tabela BigQuery, pode ser possível encontrar informações sensíveis. Para acessar as informações, as permissões necessárias são bigquery.tables.get
, bigquery.jobs.create
e bigquery.tables.getData
:
Exportar dados
Esta é outra maneira de acessar os dados. Exporte-os para um bucket de armazenamento na nuvem e baixe os arquivos com as informações.
Para realizar esta ação, as seguintes permissões são necessárias: bigquery.tables.export
, bigquery.jobs.create
e storage.objects.create
.
Inserir dados
Pode ser possível inserir certos dados confiáveis em uma tabela do Bigquery para abusar de uma vulnerabilidade em outro local. Isso pode ser facilmente feito com as permissões bigquery.tables.get
, bigquery.tables.updateData
e bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
bigquery.datasets.setIamPolicy
Um atacante poderia abusar desse privilégio para se dar mais permissões sobre um conjunto de dados do BigQuery:
bigquery.datasets.update
, (bigquery.datasets.get
)
bigquery.datasets.update
, (bigquery.datasets.get
)Apenas essa permissão permite atualizar seu acesso a um conjunto de dados do BigQuery modificando as ACLs que indicam quem pode acessá-lo:
bigquery.tables.setIamPolicy
bigquery.tables.setIamPolicy
Um atacante poderia abusar desse privilégio para se dar mais permissões sobre uma tabela do BigQuery:
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
De acordo com a documentação, com as permissões mencionadas é possível atualizar uma política de linha.
No entanto, usando o cli bq
você precisa de mais algumas: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
É possível encontrar o ID do filtro na saída da enumeração de políticas de linha. Exemplo:
Última actualización