GCP - BigQuery Privesc
BigQuery
Para obtener más información sobre BigQuery, consulta:
pageGCP - Bigquery EnumLeer tabla
Al leer la información almacenada dentro de una tabla de BigQuery, podría ser posible encontrar información sensible. Para acceder a la información se necesitan los permisos bigquery.tables.get
, bigquery.jobs.create
y bigquery.tables.getData
:
Exportar datos
Esta es otra forma de acceder a los datos. Exportarlos a un bucket de almacenamiento en la nube y luego descargar los archivos con la información.
Para realizar esta acción se necesitan los siguientes permisos: bigquery.tables.export
, bigquery.jobs.create
y storage.objects.create
.
Insertar datos
Podría ser posible introducir ciertos datos confiables en una tabla de Bigquery para abusar de una vulnerabilidad en otro lugar. Esto se puede hacer fácilmente con los permisos bigquery.tables.get
, bigquery.tables.updateData
y bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
bigquery.datasets.setIamPolicy
Un atacante podría abusar de este privilegio para darse a sí mismo más permisos sobre un conjunto de datos de BigQuery:
bigquery.datasets.update
, (bigquery.datasets.get
)
bigquery.datasets.update
, (bigquery.datasets.get
)Solo este permiso permite actualizar tu acceso a un conjunto de datos de BigQuery modificando las ACL que indican quién puede acceder a él:
bigquery.tables.setIamPolicy
bigquery.tables.setIamPolicy
Un atacante podría abusar de este privilegio para darse a sí mismo más permisos sobre una tabla de 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
Según la documentación, con los permisos mencionados es posible actualizar una política de fila.
Sin embargo, usando la CLI bq
necesitas algunos más: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Es posible encontrar el ID del filtro en la salida de la enumeración de políticas de filas. Ejemplo:
Última actualización