Pasar un rol a Bedrock AgentCore
Puede crear un intérprete de Bedrock AgentCore con un rol y ejecutar Python como ese rol.
Concede escalada solo en combinación. Se necesitan todos estos a la vez:
iam:PassRolebedrock-agentcore:CreateCodeInterpreterbedrock-agentcore:StartCodeInterpreterSessionbedrock-agentcore:InvokeCodeInterpreteriam:PassRole puede crear un intérprete de Bedrock AgentCore con un rol y ejecutar Python con él, pero solo cuando se combina con bedrock-agentcore:CreateCodeInterpreter, bedrock-agentcore:StartCodeInterpreterSession, bedrock-agentcore:InvokeCodeInterpreter. Combinados, llegan a acceso de administrador.
Por qué es peligroso
Un principal tiene iam:PassRole sobre el rol objetivo más bedrock-agentcore:CreateCodeInterpreter, StartCodeInterpreterSession e InvokeCodeInterpreter, por lo que puede crear un intérprete de código de Bedrock AgentCore con el rol objetivo adjunto, abrir una sesión e invocar Python aportado por el atacante; ese Python se ejecuta en el sandbox de AgentCore con los permisos del rol objetivo y lee sus credenciales activas desde el servicio de metadatos de la MicroVM. Como el rol objetivo confía en bedrock-agentcore.amazonaws.com, el pase se acepta; si el rol objetivo es privilegiado, se trata de una escalada total de privilegios a través de un nuevo destino de ejecución de IA de 2025, y por eso está marcada como pendiente de verificación.
En términos de MITRE ATT&CK, esto corresponde a T1648, Ejecución serverless, bajo la táctica de escalada de privilegios. AWS lo registra en CloudTrail como CreateCodeInterpreter, StartCodeInterpreterSession, InvokeCodeInterpreter. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
CreateCodeInterpreterStartCodeInterpreterSessionInvokeCodeInterpreterRequisitos previos
La política de confianza del rol objetivo debe permitir bedrock-agentcore.amazonaws.com. Se necesitan las tres acciones de bedrock-agentcore (crear, iniciar sesión, invocar) más iam:PassRole; el intérprete de código ejecuta el Python del atacante con el rol del agente, así que no hace falta un paso aparte para robar credenciales.
MITRE ATT&CK
T1648 · Ejecución serverlessTáctica
Escalada de privilegios
Un control que lo eliminaría: Elimina iam:PassRole para este rol o acótalo con iam:PassedToService.
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 iam:PassRole?
Puede crear un intérprete de Bedrock AgentCore con un rol y ejecutar Python como ese rol.
¿Qué más hace falta para que iam:PassRole sea peligroso?
Solo se convierte en escalada cuando se combina con bedrock-agentcore:CreateCodeInterpreter, bedrock-agentcore:StartCodeInterpreterSession, bedrock-agentcore:InvokeCodeInterpreter. 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 pase de rol a Bedrock AgentCore?
Vigila CreateCodeInterpreter, StartCodeInterpreterSession, InvokeCodeInterpreter 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: Elimina iam:PassRole para este rol o acótalo con iam:PassedToService. 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?
T1648, Ejecución serverless, 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.