Autoconcesión de descifrado KMS mediante la política de claves
Puede reescribir la política de una clave de KMS para concederse a sí mismo el descifrado y luego descifrar con ella.
Concede escalada por sí solo.
kms:PutKeyPolicyPor sí solo, kms:PutKeyPolicy puede reescribir la política de una clave de KMS para concederse el descifrado y luego descifrar con ella. Con un alcance de recursos amplio, eso por sí solo llega a acceso para un principal externo o público.
Por qué es peligroso
Un principal puede llamar a kms:PutKeyPolicy sobre la clave para adjuntar una instrucción de política de clave que le conceda kms:Decrypt, y después descifrar el texto cifrado que protege la clave. La clave es un guardián: el acceso de descifrado desbloquea todos los secretos, volúmenes, instantáneas y objetos que custodia la clave, de modo que reescribir la propia política de la clave se amplifica hasta el control de todos los datos que protege.
En términos de MITRE ATT&CK, esto corresponde a T1098, Manipulación de cuentas, en la táctica de escalada de privilegios. AWS lo registra en CloudTrail como PutKeyPolicy, CreateGrant. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
PutKeyPolicyCreateGrantRequisitos previos
kms:PutKeyPolicy sobre la clave administrada por el cliente (o kms:CreateGrant). El abuso supone que ninguna barrera de SCP, límite o PrincipalOrgID bloquea la concesión excesiva; hace falta poseer el texto cifrado (o tener acceso a él) para usar el descifrado desbloqueado.
MITRE ATT&CK
T1098 · Manipulación de cuentasTáctica
Escalada de privilegios
Un control que lo eliminaría: Restringe kms:PutKeyPolicy y kms:CreateGrant a los administradores de claves; conserva la protección de autogestión de la política de clave predeterminada; deniega la escritura de políticas de clave mediante una SCP.
Aplicarla o no depende de cómo se use el permiso en tu entorno, así que es una decisión de negocio y no una corrección automática. El mismo permiso puede ser imprescindible en una cuenta y puro riesgo en otra.
Pathbreak confirma si esta ruta se resuelve en tu cuenta, la clasifica frente a las demás según cuánto abre y usa tu modelo de amenazas y tu contexto de negocio para mostrar qué rutas merece la pena cortar.
Preguntas
¿Qué permite kms:PutKeyPolicy?
Puede reescribir la política de una clave de KMS para concederse a sí mismo el descifrado y luego descifrar con ella.
¿Puede kms:PutKeyPolicy escalar privilegios por sí solo?
Sí. Concedido sobre un recurso lo bastante amplio, llega a acceso para un principal externo o público sin ningún otro permiso.
¿Cómo se detecta la autoconcesión de KMS Decrypt mediante una política de clave?
Vigila PutKeyPolicy, CreateGrant en CloudTrail. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
¿Cómo se rompe esta ruta?
Un control que lo eliminaría es: Restringe kms:PutKeyPolicy y kms:CreateGrant a los administradores de claves; conserva la protección de autogestión de la política de clave por defecto; deniega las escrituras de políticas de clave mediante SCP. Aplicarla o no depende de cómo se use el permiso en tu cuenta, así que es una decisión de negocio y no una corrección automática.
¿De qué técnica de MITRE ATT&CK se trata?
T1098, Manipulación de cuentas, en la táctica de escalada de privilegios.
Rutas relacionadas
Referencias
Encuéntralo en tu propia cuenta
Ejecutamos un escaneo de solo lectura de una cuenta de AWS y te mostramos cuáles de estas rutas existen, ordenadas por radio de impacto, con el cambio que rompe cada una. Primeras rutas validadas en menos de una hora.