# AWS - RDS Enum non authentifié

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

## RDS

Pour plus d'informations, consultez :

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

## Port Public

Il est possible de donner un accès public à la **base de données depuis Internet**. L'attaquant devra toujours **connaître le nom d'utilisateur et le mot de passe,** l'accès IAM, ou un **exploit** pour entrer dans la base de données.

## Instantanés RDS Publics

AWS permet de donner **accès à quiconque pour télécharger des instantanés RDS**. Vous pouvez lister ces instantanés RDS publics très facilement depuis votre propre compte :
```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
```
### Modèle d'URL publique
```
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}}
