Autoconcesión de pull/push de ECR mediante la política del repositorio
Puede reescribir la política de un repositorio de ECR para concederse pull/push y luego descargar o envenenar imágenes.
Concede escalada por sí solo.
ecr:SetRepositoryPolicyPor sí solo, ecr:SetRepositoryPolicy puede reescribir la política de un repositorio de ECR para concederse permisos de descarga y subida, y luego descargar o envenenar imágenes. 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 ecr:SetRepositoryPolicy sobre el repositorio para asociar una política que le concede a sí mismo (o a una cuenta externa o al público) permiso de pull o de push. Hacer pull permite leer imágenes de contenedor, que con frecuencia incluyen credenciales, tokens y código fuente: exfiltración directa de datos. Hacer push reemplaza las etiquetas de imagen en las que confía un consumidor posterior de ECS/EKS/CodeBuild, envenenando la cadena de suministro para que el código del atacante se ejecute después con el rol del consumidor. El atacante reescribe la cerradura en lugar de tener una llave.
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 SetRepositoryPolicy. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
SetRepositoryPolicyRequisitos previos
ecr:SetRepositoryPolicy sobre el repositorio. El abuso supone además que ninguna barrera de SCP, límite o PrincipalOrgID bloquea la concesión excesiva; la variante de push supone que un consumidor con privilegios descarga después la etiqueta envenenada.
MITRE ATT&CK
T1098 · Manipulación de cuentasTáctica
Escalada de privilegios
Un control que lo eliminaría: Restringe ecr:SetRepositoryPolicy a los administradores del registro; deniega la escritura de políticas de repositorio mediante una SCP; exige aws:PrincipalOrgID en las políticas de repositorio; activa la inmutabilidad de etiquetas y el escaneo de imágenes para detectar una subida envenenada.
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 ecr:SetRepositoryPolicy?
Puede reescribir la política de un repositorio de ECR para concederse pull/push y luego descargar o envenenar imágenes.
¿Puede ecr:SetRepositoryPolicy 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 pull/push de ECR mediante una política de repositorio?
Vigila SetRepositoryPolicy 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 ecr:SetRepositoryPolicy a los administradores del registro; deniega las escrituras de políticas de repositorio mediante SCP; exige aws:PrincipalOrgID en las políticas de repositorio; activa la inmutabilidad de etiquetas y el escaneo de imágenes para que se detecte un push envenenado. 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.