# AWS - RDS Unauthenticated Enum

{{#include ../../../banners/hacktricks-training.md}}

## RDS

For more information check:

{{#ref}}
../aws-services/aws-relational-database-rds-enum.md
{{#endref}}

## Public Port

It's possible to give public access to the **database from the internet**. The attacker will still need to **know the username and password,** IAM access, or an **exploit** to enter in the database.

## Public RDS Snapshots

AWS allows giving **access to anyone to download RDS snapshots**. You can list these public RDS snapshots very easily from your own account:

```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
```

### Public URL template

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

{{#include ../../../banners/hacktricks-training.md}}




