Abrir una shell de ECS Exec
Puede abrir una shell interactiva de ECS Exec dentro de un contenedor en ejecución.
Concede escalada por sí solo.
ecs:ExecuteCommandPor sí solo, ecs:ExecuteCommand puede abrir una shell interactiva de ECS Exec dentro de un contenedor en ejecución. Con un alcance de recursos amplio, eso por sí solo llega a acceso de administrador.
Por qué es peligroso
Un principal puede llamar a ecs:ExecuteCommand para abrir una shell interactiva dentro del contenedor en ejecución mediante ECS Exec, sin clave SSH, sin puerto abierto en el grupo de seguridad y sin iam:PassRole, eludiendo por completo la ruta de red. Eso proporciona ejecución de código dentro del contenedor, desde el cual el principal puede leer las credenciales temporales del rol de la tarea desde el endpoint de metadatos de tareas de ECS y pivotar más a fondo en la cuenta.
En términos de MITRE ATT&CK, esto corresponde a T1651, Comando de administración cloud, bajo la táctica de movimiento lateral. AWS lo registra en CloudTrail como ExecuteCommand. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
ExecuteCommandRequisitos previos
La tarea objetivo está en estado RUNNING con enableExecuteCommand=true y tiene un rol de tarea o de ejecución.
MITRE ATT&CK
T1651 · Comando de administración cloudTáctica
Movimiento lateral
Un control que lo eliminaría: Restringe ecs:ExecuteCommand a principales break-glass; desactiva ECS Exec (enableExecuteCommand=false) en las tareas que no lo necesiten.
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 ecs:ExecuteCommand?
Puede abrir una shell interactiva de ECS Exec dentro de un contenedor en ejecución.
¿Puede ecs:ExecuteCommand 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 la apertura de una shell de ECS Exec?
Vigila ExecuteCommand 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 ecs:ExecuteCommand a principales break-glass; desactiva ECS Exec (enableExecuteCommand=false) en las tareas que no lo necesiten. 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?
T1651, Comando de administración cloud, en la táctica de movimiento lateral.
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.