AWS - RDS Unauthenticated Enum

Reading time: 3 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

RDS

Für weitere Informationen siehe:

AWS - Relational Database (RDS) Enum

Öffentlicher Port

Es ist möglich, einer Datenbank aus dem Internet öffentlichen Zugriff zu gewähren. Der Angreifer müsste jedoch weiterhin den Benutzernamen und das Passwort kennen, IAM-Zugriff haben oder einen exploit, um in die Datenbank einzudringen.

Öffentliche RDS Snapshots

AWS erlaubt es, jedem den Zugriff zum Herunterladen von RDS-Snapshots zu gewähren. Du kannst diese öffentlichen RDS-Snapshots sehr einfach aus deinem eigenen Account auflisten:

bash
# Public RDS snapshots
aws rds describe-db-snapshots --include-public

## Search by account ID
aws rds describe-db-snapshots --include-public --query 'DBSnapshots[?contains(DBSnapshotIdentifier, `284546856933:`) == `true`]'
## To share a RDS snapshot with everybody the RDS DB cannot be encrypted (so the snapshot won't be encryted)
## To share a RDS encrypted snapshot you need to share the KMS key also with the account


# From the own account you can check if there is any public snapshot with:
aws rds describe-db-snapshots --snapshot-type public [--region us-west-2]
## Even if in the console appear as there are public snapshot it might be public
## snapshots from other accounts used by the current account

Öffentliche URL-Vorlage

mysql://{user_provided}.{random_id}.{region}.rds.amazonaws.com:3306
postgres://{user_provided}.{random_id}.{region}.rds.amazonaws.com:5432

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