Secuestrar los user-data de EC2
Puede reescribir el user-data de una instancia y ejecutar código como el rol de su perfil de instancia.
Concede escalada solo en combinación. Se necesitan todos estos a la vez:
ec2:ModifyInstanceAttributeec2:StartInstancesec2:StopInstancesec2:ModifyInstanceAttribute puede reescribir el user-data de una instancia y ejecutar código con el rol de su perfil de instancia, pero solo cuando se combina con ec2:StartInstances, ec2:StopInstances. Combinados, llegan a acceso de administrador.
Por qué es peligroso
Un principal puede detener la instancia, reescribir sus datos de usuario con ec2:ModifyInstanceAttribute e iniciarla de nuevo; al arrancar, la instancia ejecuta el script de datos de usuario del atacante con el rol de su perfil de instancia ya adjunto, sin necesidad de iam:PassRole. Un perfil de instancia privilegiado supone ejecución de código arbitrario como ese rol: una escalada total de privilegios contra una máquina 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 ModifyInstanceAttribute, StopInstances, StartInstances. La llamada es ruidosa en CloudTrail y destaca de la actividad normal.
Detección
ModifyInstanceAttributeStopInstancesStartInstancesRequisitos previos
Una instancia existente con un perfil de instancia; permiso para detenerla, modificarla e iniciarla.
Táctica
Escalada de privilegios
Un control que lo eliminaría: Restringe ec2:ModifyInstanceAttribute en las instancias con perfiles de instancia asociados.
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 ec2:ModifyInstanceAttribute?
Puede reescribir el user-data de una instancia y ejecutar código como el rol de su perfil de instancia.
¿Qué más hace falta para que ec2:ModifyInstanceAttribute sea peligroso?
Solo se convierte en escalada cuando se combina con ec2:StartInstances, ec2:StopInstances. Por sí solo no basta, y eso es lo que hace que la combinación sea fácil de pasar por alto.
¿Cómo se detecta el secuestro del user-data de EC2?
Vigila ModifyInstanceAttribute, StopInstances, StartInstances 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 ec2:ModifyInstanceAttribute en instancias con perfiles de instancia asociados. 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.