GCP - Cloud SQL Post Exploitation
Cloud SQL
Para mais informações sobre o Cloud SQL, consulte:
GCP - Cloud SQL Enumcloudsql.instances.update
, (cloudsql.instances.get
)
cloudsql.instances.update
, (cloudsql.instances.get
)Para se conectar aos bancos de dados, você apenas precisa de acesso à porta do banco de dados e saber o nome de usuário e senha, não há requisitos de IAM. Portanto, uma maneira fácil de obter acesso, supondo que o banco de dados tenha um endereço IP público, é atualizar as redes permitidas e permitir que seu próprio endereço IP acesse.
Também é possível usar --no-backup
para interromper os backups do banco de dados.
Como esses são os requisitos, não tenho certeza do que são as permissões cloudsql.instances.connect
e cloudsql.instances.login
. Se você souber, envie um PR!
cloudsql.users.list
cloudsql.users.list
Obtenha uma lista de todos os usuários do banco de dados:
cloudsql.users.create
cloudsql.users.create
Esta permissão permite criar um novo usuário dentro do banco de dados:
cloudsql.users.update
cloudsql.users.update
Esta permissão permite atualizar um usuário dentro do banco de dados. Por exemplo, você poderia alterar sua senha:
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
Os backups podem conter informações sensíveis antigas, então é interessante verificá-los. Restaurar um backup dentro de um banco de dados:
Para fazer de forma mais furtiva, é recomendado criar uma nova instância SQL e recuperar os dados lá, em vez de nos bancos de dados em execução atualmente.
cloudsql.backupRuns.delete
cloudsql.backupRuns.delete
Essa permissão permite excluir backups:
cloudsql.instances.export
, storage.objects.create
cloudsql.instances.export
, storage.objects.create
Exporte um banco de dados para um Bucket de Armazenamento na Nuvem para que você possa acessá-lo a partir de lá:
cloudsql.instances.import
, storage.objects.get
cloudsql.instances.import
, storage.objects.get
Importar um banco de dados (sobrescrever) de um Bucket de Armazenamento na Nuvem:
cloudsql.databases.delete
cloudsql.databases.delete
Excluir um banco de dados da instância do banco de dados:
Last updated