GCP - Compute Instances
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
As Instâncias de Computação do Google Cloud são máquinas virtuais personalizáveis na infraestrutura de nuvem do Google, oferecendo poder computacional escalável e sob demanda para uma ampla gama de aplicações. Elas fornecem recursos como implantação global, armazenamento persistente, opções flexíveis de SO e fortes integrações de rede e segurança, tornando-as uma escolha versátil para hospedar sites, processar dados e executar aplicações de forma eficiente na nuvem.
As VMs Confidenciais usam recursos de segurança baseados em hardware oferecidos pela última geração de processadores AMD EPYC, que incluem criptografia de memória e virtualização criptografada segura. Esses recursos permitem que a VM proteja os dados processados e armazenados dentro dela, até mesmo do sistema operacional host e do hipervisor.
Para executar uma VM Confidencial, pode ser necessário alterar coisas como o tipo da máquina, interface de rede, imagem do disco de inicialização.
É possível selecionar o disco a ser usado ou criar um novo. Se você selecionar um novo, pode:
Selecionar o tamanho do disco
Selecionar o SO
Indicar se deseja deletar o disco quando a instância for deletada
Criptografia: Por padrão, uma chave gerenciada pelo Google será usada, mas você também pode selecionar uma chave do KMS ou indicar chave bruta a ser usada.
É possível implantar um container dentro da máquina virtual. É possível configurar a imagem a ser usada, definir o comando a ser executado dentro, argumentos, montar um volume e variáveis de ambiente (informações sensíveis?) e configurar várias opções para este container, como executar como privilegiado, stdin e pseudo TTY.
Por padrão, a conta de serviço padrão do Compute Engine será usada. O e-mail desta SA é como: <proj-num>-compute@developer.gserviceaccount.com
Esta conta de serviço tem papel de Editor sobre todo o projeto (altos privilégios).
E os escopos de acesso padrão são os seguintes:
https://www.googleapis.com/auth/devstorage.read_only -- Acesso de leitura a buckets :)
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/trace.append
No entanto, é possível conceder cloud-platform
com um clique ou especificar personalizados.
É possível permitir tráfego HTTP e HTTPS.
IP Forwarding: É possível habilitar o encaminhamento de IP a partir da criação da instância.
Hostname: É possível dar à instância um hostname permanente.
Interface: É possível adicionar uma interface de rede.
Essas opções irão aumentar a segurança da VM e são recomendadas:
Secure boot: O Secure boot ajuda a proteger suas instâncias de VM contra malware e rootkits em nível de inicialização e kernel.
Enable vTPM: O Módulo de Plataforma Confiável Virtual (vTPM) valida a integridade de pré-inicialização e inicialização da sua VM convidada e oferece geração e proteção de chaves.
Integrity supervision: A supervisão de integridade permite que você monitore e verifique a integridade de inicialização em tempo de execução de suas instâncias de VM blindadas usando relatórios do Stackdriver. Requer que o vTPM esteja habilitado.
A maneira comum de habilitar o acesso à VM é permitindo certas chaves públicas SSH para acessar a VM.
No entanto, também é possível habilitar o acesso à VM via serviço os-config
usando IAM. Além disso, é possível habilitar 2FA para acessar a VM usando este serviço.
Quando este serviço está habilitado, o acesso via chaves SSH é desabilitado.
É possível definir automação (userdata no AWS) que são comandos de shell que serão executados toda vez que a máquina for ligada ou reiniciada.
É também possível adicionar valores de chave-valor de metadados extras que estarão acessíveis a partir do endpoint de metadados. Essas informações são comumente usadas para variáveis de ambiente e scripts de inicialização/desligamento. Isso pode ser obtido usando o método describe
de um comando na seção de enumeração, mas também pode ser recuperado de dentro da instância acessando o endpoint de metadados.
Além disso, o token de autenticação para a conta de serviço anexada e informações gerais sobre a instância, rede e projeto também estarão disponíveis no endpoint de metadados. Para mais informações, consulte:
Uma chave de criptografia gerenciada pelo Google é usada por padrão, mas uma chave de criptografia gerenciada pelo cliente (CMEK) pode ser configurada. Você também pode configurar o que fazer quando a CMEK utilizada for revogada: Notificar ou desligar a VM.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)