Secuestrar el rol de servicio de App Runner
Puede reconfigurar un servicio de App Runner para ejecutar código del atacante con el rol de su instancia.
Concede escalada por sí solo.
apprunner:UpdateServicePor sí solo, apprunner:UpdateService puede reconfigurar un servicio de App Runner para ejecutar código del atacante con su rol de instancia. Con un alcance de recursos amplio, eso por sí solo llega a acceso de administrador.
Por qué es peligroso
Un principal puede llamar a apprunner:UpdateService sobre un servicio de App Runner existente que ya tiene el rol de instancia, reconfigurándolo para ejecutar código controlado por el atacante: un StartCommand malicioso, una imagen de contenedor con una web shell o un repositorio con un apprunner.yaml malicioso. En el siguiente despliegue, App Runner ejecuta ese código como el rol objetivo, sin necesidad de iam:PassRole ni de apprunner:CreateService, porque el rol objetivo ya está vinculado al servicio. El código lee las credenciales activas del rol objetivo desde el entorno de ejecución o llama directamente a AWS; si el rol objetivo tiene privilegios, se trata de una escalada total de privilegios contra un servicio en el que ya se confiaba.
En términos de MITRE ATT&CK, esto corresponde a T1578, Modificar la infraestructura de cómputo cloud, bajo la táctica de escalada de privilegios. AWS lo registra en CloudTrail como UpdateService. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
UpdateServiceRequisitos previos
Un servicio de App Runner existente con un rol de instancia asociado; permiso para actualizarlo. Deben estar permitidos los cambios de configuración de origen/imagen (el valor por defecto).
Táctica
Escalada de privilegios
Un control que lo eliminaría: Restringe apprunner:UpdateService en los servicios que tienen un rol de instancia con privilegios; revisa los cambios en la configuración de origen o de imagen.
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 apprunner:UpdateService?
Puede reconfigurar un servicio de App Runner para ejecutar código del atacante con el rol de su instancia.
¿Puede apprunner:UpdateService escalar privilegios por sí solo?
Sí. Concedido sobre un recurso lo bastante amplio, llega a acceso de administrador sin ningún otro permiso.
¿Cómo se detecta el secuestro del rol de servicio de App Runner?
Vigila UpdateService 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 apprunner:UpdateService en los servicios que tengan un rol de instancia con privilegios; revisa los cambios en la configuración de origen/imagen. 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?
T1578, Modificar la infraestructura de cómputo cloud, 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.