GCP - KMS Enum

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

KMS

Cloud Key Management Service es un repositorio para almacenar claves criptográficas, como las utilizadas para cifrar y descifrar archivos sensibles. Las claves individuales se almacenan en anillos de claves y se pueden aplicar permisos granulares en cualquiera de los dos niveles.

Los anillos de claves de KMS se crean por defecto como globales, lo que significa que las claves dentro de ese anillo de claves son accesibles desde cualquier región. Sin embargo, es posible crear anillos de claves específicos en regiones específicas.

Nivel de Protección de la Clave

  • Claves de software: Las claves de software son creadas y gestionadas completamente por KMS en software. Estas claves no están protegidas por ningún módulo de seguridad de hardware (HSM) y se pueden utilizar para propósitos de prueba y desarrollo. No se recomienda su uso en producción porque ofrecen baja seguridad y son susceptibles a ataques.

  • Claves alojadas en la nube: Las claves alojadas en la nube son creadas y gestionadas por KMS en la nube utilizando una infraestructura altamente disponible y confiable. Estas claves están protegidas por HSMs, pero los HSMs no están dedicados a un cliente específico. Las claves alojadas en la nube son adecuadas para la mayoría de los casos de uso en producción.

  • Claves externas: Las claves externas son creadas y gestionadas fuera de KMS, y se importan a KMS para su uso en operaciones criptográficas. Las claves externas pueden almacenarse en un módulo de seguridad de hardware (HSM) o en una biblioteca de software, dependiendo de la preferencia del cliente.

Propósitos de la Clave

  • Cifrado/descifrado simétrico: Se utiliza para cifrar y descifrar datos usando una única clave para ambas operaciones. Las claves simétricas son rápidas y eficientes para cifrar y descifrar grandes volúmenes de datos.

  • Firma Asimétrica: Utilizada para la comunicación segura entre dos partes sin compartir la clave. Las claves asimétricas vienen en un par, consistiendo en una clave pública y una clave privada. La clave pública se comparte con otros, mientras que la clave privada se mantiene en secreto.

  • Descifrado Asimétrico: Utilizado para verificar la autenticidad de un mensaje o datos. Se crea una firma digital utilizando una clave privada y se puede verificar utilizando la clave pública correspondiente.

  • Firma MAC: Utilizada para asegurar la integridad y autenticidad de los datos creando un código de autenticación de mensaje (MAC) usando una clave secreta. HMAC es comúnmente utilizado para la autenticación de mensajes en protocolos de red y aplicaciones de software.

Periodo de Rotación & Periodo programado para la destrucción

Por defecto, cada 90 días pero puede ser fácilmente y completamente personalizado.

El periodo "Programado para la destrucción" es el tiempo desde que el usuario solicita la eliminación de la clave hasta que la clave es eliminada. No se puede cambiar después de que la clave es creada (por defecto 1 día).

Versión Primaria

Cada clave de KMS puede tener varias versiones, una de ellas debe ser la predeterminada, esta será la que se utilice cuando una versión no se especifique al interactuar con la clave de KMS.

Enumeración

Teniendo permisos para listar las claves, así es como puedes acceder a ellas:

# 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 decrypt --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

Escalación de Privilegios

pageGCP - KMS Privesc

Post Explotación

pageGCP - KMS Post Exploitation

Referencias

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización