Exfiltracion de datos utilizando un Snapshots de una AMI

Para modificar los permisos de lanzamiento de una Amazon Machine Image (AMI) y compartirla con una cuenta externa de AWS, como se describe en el escenario de exfiltración, un usuario de IAM necesita permisos específicos en Amazon EC2. Estos permisos permiten al usuario modificar las AMIs y controlar quién puede utilizarlas. A continuación, se detallan los permisos requeridos y se ofrece un ejemplo de código no conforme que muestra cómo se compartiría una AMI, seguido de la explicación de los permisos necesarios.

Permisos Requeridos

Para modificar los permisos de lanzamiento de una AMI y compartirla con una cuenta externa, un usuario de IAM necesita los siguientes permisos:

  • ec2:ModifyImageAttribute: Este permiso permite al usuario modificar atributos de una AMI, incluyendo los permisos de lanzamiento, que controlan qué cuentas de AWS pueden lanzar instancias usando la AMI.

  • ec2:DescribeImages: Aunque este permiso no es necesario para modificar directamente los atributos de la AMI, es útil para que el usuario pueda obtener detalles sobre las AMIs antes de modificarlas.

import boto3

# Crear un cliente de EC2
ec2_client = boto3.client('ec2')

# Definir el ID de la AMI
ami_id = 'ami-01234567890abcdef'

# Definir el ID de la cuenta AWS con la que compartir la AMI
account_id = '123456789012'

# Modificar los permisos de lanzamiento para compartir la AMI
ec2_client.modify_image_attribute(
    ImageId=ami_id,
    LaunchPermission={
        'Add': [{'UserId': account_id}]
    }
)

Última actualización

¿Te fue útil?