GCP - KMS Enum

Support HackTricks

KMS

O Cloud Key Management Service serve como um armazenamento seguro para chaves criptográficas, que são essenciais para operações como criptografar e descriptografar dados sensíveis. Essas chaves são organizadas dentro de anéis de chaves, permitindo uma gestão estruturada. Além disso, o controle de acesso pode ser meticulosamente configurado, seja no nível de chave individual ou para todo o anel de chaves, garantindo que as permissões estejam precisamente alinhadas com os requisitos de segurança.

Os anéis de chaves KMS são criados por padrão como globais, o que significa que as chaves dentro desse anel de chaves são acessíveis de qualquer região. No entanto, é possível criar anéis de chaves específicos em regiões específicas.

Nível de Proteção da Chave

  • Chaves de software: Chaves de software são criadas e gerenciadas pelo KMS inteiramente em software. Essas chaves não são protegidas por nenhum módulo de segurança de hardware (HSM) e podem ser usadas para testes e desenvolvimento. Chaves de software não são recomendadas para uso em produção porque oferecem baixa segurança e são suscetíveis a ataques.

  • Chaves hospedadas na nuvem: Chaves hospedadas na nuvem são criadas e gerenciadas pelo KMS na nuvem usando uma infraestrutura altamente disponível e confiável. Essas chaves são protegidas por HSMs, mas os HSMs não são dedicados a um cliente específico. Chaves hospedadas na nuvem são adequadas para a maioria dos casos de uso em produção.

  • Chaves externas: Chaves externas são criadas e gerenciadas fora do KMS, e são importadas para o KMS para uso em operações criptográficas. Chaves externas podem ser armazenadas em um módulo de segurança de hardware (HSM) ou em uma biblioteca de software, dependendo da preferência do cliente.

Propósitos da Chave

  • Criptografia/Descriptografia simétrica: Usada para criptografar e descriptografar dados usando uma única chave para ambas as operações. Chaves simétricas são rápidas e eficientes para criptografar e descriptografar grandes volumes de dados.

  • Assinatura assimétrica: Usada para comunicação segura entre duas partes sem compartilhar a chave. Chaves assimétricas vêm em um par, consistindo de uma chave pública e uma chave privada. A chave pública é compartilhada com outros, enquanto a chave privada é mantida em segredo.

  • Descriptografia assimétrica: Usada para verificar a autenticidade de uma mensagem ou dado. Uma assinatura digital é criada usando uma chave privada e pode ser verificada usando a chave pública correspondente.

  • Assinatura MAC: Usada para garantir a integridade e autenticidade dos dados criando um código de autenticação de mensagem (MAC) usando uma chave secreta. HMAC é comumente usado para autenticação de mensagens em protocolos de rede e aplicações de software.

Período de Rotação & Período Programado para Destruição

Por padrão, a cada 90 dias, mas pode ser facilmente e completamente personalizado.

O período "Programado para destruição" é o tempo desde que o usuário solicita a exclusão da chave até que a chave seja excluída. Não pode ser alterado após a criação da chave (padrão 1 dia).

Versão Primária

Cada chave KMS pode ter várias versões, uma delas deve ser a padrão, que será a usada quando uma versão não for especificada ao interagir com a chave KMS.

Enumeração

Tendo permissões para listar as chaves, é assim que você pode acessá-las:

# List the global keyrings available
gcloud kms keyrings list --location global
gcloud kms keyrings get-iam-policy <KEYRING>

# List the keys inside a keyring
gcloud kms keys list --keyring <KEYRING> --location <global/other_locations>
gcloud kms keys get-iam-policy <KEY>

# Encrypt a file using one of your keys
gcloud kms encrypt --ciphertext-file=[INFILE] \
--plaintext-file=[OUTFILE] \
--key [KEY] \
--keyring [KEYRING] \
--location global

# Decrypt a file using one of your keys
gcloud kms decrypt --ciphertext-file=[INFILE] \
--plaintext-file=[OUTFILE] \
--key [KEY] \
--keyring [KEYRING] \
--location global

Escalação de Privilégios

GCP - KMS Privesc

Pós Exploração

GCP - KMS Post Exploitation

Referências

Suporte ao HackTricks

Last updated