Secuestrar el rol de la definición de trabajo de Batch
Puede enviar un trabajo de Batch con un comando de sobrescritura y ejecutar un contenedor como su rol de trabajo.
Concede escalada por sí solo.
batch:SubmitJobPor sí solo, batch:SubmitJob puede enviar un trabajo de Batch con un comando de sustitución y ejecutar un contenedor con su rol de trabajo. Con un alcance de recursos amplio, eso por sí solo llega a acceso de administrador.
Por qué es peligroso
Un principal puede llamar a batch:SubmitJob sobre una definición de trabajo de Batch existente que ya tiene el rol del trabajo, aportando un ContainerOverrides.Command cuyo comando de shell controla el atacante. Batch ejecuta ese comando en un contenedor como el rol objetivo, sin necesidad de iam:PassRole ni de batch:RegisterJobDefinition, porque el rol objetivo ya está vinculado a la definición de trabajo. El comando lee las credenciales activas del rol objetivo desde el endpoint de metadatos de la tarea o llama directamente a AWS; si el rol objetivo tiene privilegios, se trata de una escalada total de privilegios contra una definición de trabajo en la 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 SubmitJob. La llamada es ruidosa en CloudTrail y destaca de la actividad normal.
Detección
SubmitJobRequisitos previos
Una definición de trabajo de Batch existente con un jobRoleArn; una cola de trabajos accesible; permiso para enviar un trabajo. ContainerOverrides.Command debe estar permitido (el valor por defecto).
Táctica
Escalada de privilegios
Un control que lo eliminaría: Restringe batch:SubmitJob en las colas y definiciones de trabajos que tienen un jobRoleArn con privilegios; no permitas ContainerOverrides.Command.
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 batch:SubmitJob?
Puede enviar un trabajo de Batch con un comando de sobrescritura y ejecutar un contenedor como su rol de trabajo.
¿Puede batch:SubmitJob 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 definición de trabajo de Batch?
Vigila SubmitJob en CloudTrail. La llamada es ruidosa en CloudTrail y destaca de la actividad normal.
¿Cómo se rompe esta ruta?
Un control que lo eliminaría es: Restringe batch:SubmitJob en colas/definiciones de trabajos que tengan un jobRoleArn con privilegios; no permitas ContainerOverrides.Command. 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.