GCP - Compute Enum
GCP VPC & Networking
Saiba como isso funciona em:
pageGCP - VPC & NetworkingEnumeração
Você pode facilmente encontrar instâncias de computação com regras de firewall abertas em https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Instâncias de Computação
Esta é a maneira de executar máquinas virtuais dentro do GCP. Confira esta página para mais informações:
pageGCP - Compute InstancesEnumeração
Para obter mais informações sobre como SSH ou modificar os metadados de uma instância para escalar privilégios, consulte esta página:
pageGCP - local privilege escalation ssh pivotingEscalação de Privilégios
Na página a seguir, você pode verificar como abusar das permissões de computação para escalar privilégios:
pageGCP - Compute PrivescEnumeração Não Autenticada
pageGCP - Compute Unauthenticated EnumPós-Exploração
pageGCP - Compute Post ExploitationPersistência
pageGCP - Compute PersistenceLogs do Console Serial
Os Logs do Console Serial do Compute Engine são um recurso que permite visualizar e diagnosticar os logs de inicialização e do sistema operacional das suas instâncias de máquinas virtuais.
Os Logs do Console Serial fornecem uma visão de baixo nível do processo de inicialização da instância, incluindo mensagens do kernel, scripts de inicialização e outros eventos do sistema que ocorrem durante a inicialização. Isso pode ser útil para depurar problemas de inicialização, identificar configurações incorretas ou erros de software, ou solucionar problemas de conectividade de rede.
Esses logs podem expor informações sensíveis dos logs do sistema que um usuário com baixos privilégios normalmente não veria, mas com as permissões IAM apropriadas, você pode ser capaz de lê-los.
Você pode usar o seguinte comando gcloud para consultar os logs da porta serial (a permissão necessária é compute.instances.getSerialPortOutput
):
Gerenciador de Configuração do Sistema Operacional
Você pode usar o serviço de gerenciamento de configuração do sistema operacional para implantar, consultar e manter configurações consistentes (estado desejado e software) para sua instância de VM (VM). No Compute Engine, você deve usar políticas de convidados para manter configurações de software consistentes em uma VM.
O recurso de gerenciamento de configuração do sistema operacional permite que você defina políticas de configuração que especificam quais pacotes de software devem ser instalados, quais serviços devem ser habilitados e quais arquivos ou configurações devem estar presentes em suas VMs. Você pode usar uma abordagem declarativa para gerenciar a configuração de software de suas VMs, o que permite automatizar e dimensionar seu processo de gerenciamento de configuração com mais facilidade.
Isso também permite fazer login em instâncias por meio de permissões do IAM, sendo muito útil para escalonamento de privilégios e pivoteamento.
Para ativar o os-config em um projeto inteiro ou em uma instância, basta definir a chave enable-oslogin
nos metadados como true
no nível desejado.
Além disso, você pode definir os metadados enable-oslogin-2fa
como true
para ativar a autenticação em duas etapas.
Quando você o ativa ao criar uma instância, as chaves de metadados serão definidas automaticamente.
Mais sobre 2fa no OS-config, aplica-se apenas se o usuário for um usuário, se for um SA (como o SA de computação) não será necessário nada extra.
Enumeração
Imagens
Imagens Personalizadas
As imagens de computação personalizadas podem conter detalhes sensíveis ou outras configurações vulneráveis que você pode explorar.
Ao criar uma imagem, você pode escolher 3 tipos de criptografia: Usando a chave gerenciada pelo Google (padrão), uma chave do KMS, ou uma chave bruta fornecida pelo cliente.
Enumeração
Você pode consultar a lista de imagens não padrão em um projeto com o seguinte comando:
Você pode então exportar os discos virtuais de qualquer imagem em vários formatos. O comando a seguir exportaria a imagem test-image
no formato qcow2, permitindo que você baixe o arquivo e construa uma VM localmente para investigações adicionais:
Escalação de Privilégios
Verifique a seção de escalação de privilégios das Instâncias de Computação.
Modelos de Instância Personalizados
Um modelo de instância define propriedades da instância para ajudar a implantar configurações consistentes. Eles podem conter os mesmos tipos de dados sensíveis que os metadados personalizados de uma instância em execução. Você pode usar os seguintes comandos para investigar:
Pode ser interessante saber qual disco está usando novas imagens, mas esses modelos geralmente não terão informações sensíveis.
Snapshots
Os snapshots são backups de discos. Note que isso não é o mesmo que clonar um disco (outra funcionalidade disponível). O snapshot usará a mesma criptografia do disco do qual foi tirado.
Enumeração
Escalação de Privilégios
Verifique a seção de escalação de privilégios das Instâncias de Computação.
Referências
Última actualización