GCP - Compute Post Exploitation
Computação
Para mais informações sobre Computação e VPC (Rede) verifique:
pageGCP - Compute EnumExportar e Inspeccionar Imagens localmente
Isso permitiria a um atacante acessar os dados contidos em imagens já existentes ou criar novas imagens de VMs em execução e acessar seus dados sem ter acesso à VM em execução.
É possível exportar uma imagem de VM para um bucket e depois baixá-la e montá-la localmente com o comando:
Antes de realizar esta ação, o atacante pode precisar de privilégios sobre o bucket de armazenamento e com certeza privilégios sobre o cloudbuild pois é o serviço que será solicitado para realizar a exportação. Além disso, para que isso funcione, o SA do cloudbuild <project-id>@cloudbuild.gserviceaccount.com
precisa de permissões privilegiadas:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
E o SA <project-id>-compute@developer.gserviceaccount.com
precisa de:
roles/compute.storageAdmin
roles/storage.objectAdmin
Exportar e Inspeccionar Snapshots e Discos localmente
Não é possível exportar diretamente snapshots e discos, mas é possível transformar um snapshot em um disco, um disco em uma imagem e seguindo a seção anterior, exportar essa imagem para inspecioná-la localmente
Inspectar uma Imagem criando uma VM
Com o objetivo de acessar os dados armazenados em uma imagem ou dentro de uma VM em execução de onde um atacante criou uma imagem, é possível conceder acesso a uma conta externa sobre a imagem:
e depois criar uma nova VM a partir dele:
Se você não puder dar acesso à sua conta externa sobre a imagem, você poderia lançar uma VM usando essa imagem no projeto da vítima e fazer com que os metadados executem um shell reverso para acessar a imagem adicionando o parâmetro:
Inspecionar um Snapshot/Disk anexando-o a uma VM
Com o objetivo de acessar os dados armazenados em um disco ou snapshot, você pode transformar o snapshot em um disco, um disco em uma imagem e seguir os passos anteriores.
Ou você pode conceder acesso a uma conta externa sobre o disco (se o ponto de partida for um snapshot, conceda acesso sobre o snapshot ou crie um disco a partir dele):
Anexar o disco a uma instância:
Monte o disco dentro da VM:
Acesse a VM via SSH:
Identifique o Disco: Uma vez dentro da VM, identifique o novo disco listando os dispositivos de disco. Normalmente, você pode encontrá-lo como
/dev/sdb
,/dev/sdc
, etc.Formate e Monte o Disco (se for um disco novo ou não formatado):
Crie um ponto de montagem:
Monte o disco:
Se você não pode dar acesso a um projeto externo para o snapshot ou disco, talvez precise realizar essas ações dentro de uma instância no mesmo projeto do snapshot/disco.
Última actualización