From 87e663ac50204ec38b0dc88c3f2df08b9283723b Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 4 Oct 2025 09:13:54 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/aws-security/aws-privilege-escalat --- .../aws-secrets-manager-post-exploitation.md | 52 +++++++++++++++---- .../aws-secrets-manager-privesc.md | 11 ++-- 2 files changed, 49 insertions(+), 14 deletions(-) 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 5083494e4..92c3731cc 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 @@ -10,16 +10,16 @@ For more information check: ../aws-services/aws-secrets-manager-enum.md {{#endref}} -### シークレットの読み取り +### Secretsの読み取り -The **secrets themself are sensitive information**, [check the privesc page](../aws-privilege-escalation/aws-secrets-manager-privesc.md) to learn how to read them. +その**secrets自体は機密情報です**。読み取り方法については[check the privesc page](../aws-privilege-escalation/aws-secrets-manager-privesc.md)を参照してください。 -### DoS: シークレット値の変更 +### DoS — Secretの値を変更 -シークレットの値を変更すると、その値に依存するすべてのシステムを**DoS**する可能性があります。 +secretの値を変更すると、その値に依存するすべてのシステムを**DoS**することができます。 > [!WARNING] -> 以前の値も保存されるため、以前の値に戻すのは簡単です。 +> 以前の値も保存されるので、簡単に前の値に戻すことができます。 ```bash # Requires permission secretsmanager:PutSecretValue aws secretsmanager put-secret-value \ @@ -28,22 +28,54 @@ aws secretsmanager put-secret-value \ ``` ### DoS Change KMS key -攻撃者が secretsmanager:UpdateSecret 権限を持っている場合、攻撃者が所有する KMS key を使用するよう secret を設定できます。そのキーは最初は誰でもアクセス・使用できるように設定されているため、secret を新しいキーで更新することが可能です。もしキーにアクセスできなければ、secret の更新はできません。 +攻撃者が secretsmanager:UpdateSecret 権限を持っている場合、attacker が所有する KMS key を使用するように secret を設定できます。その key は最初、誰でもアクセスして使用できるように設定されているため、secret を新しい key で更新することが可能です。もしその key にアクセスできなければ、secret を更新することはできません。 -secret のキーを変更した後、攻撃者は自分のキーの設定を変更して自分だけがアクセスできるようにします。こうすると、以降のバージョンの secret は新しいキーで暗号化され、他者がアクセスできないため、secret を取得する手段が失われます。 +secret の key を変更した後、attacker はその key の設定を変更して自分だけがアクセスできるようにします。こうすることで、以降の secret バージョンは新しい key で暗号化され、アクセスできなくなるため、secret を取得することが不可能になります。 -なお、このアクセス不能は secret の内容が変更された後の以降のバージョンでのみ発生する点に注意してください。現行バージョンは元の KMS key で暗号化されたままだからです。 +このアクセス不能は、現在のバージョンが依然として元の KMS key で暗号化されているため、secret の内容が変更された後の以降のバージョンでのみ発生する点に注意してください。 ```bash 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 による Secret の削除 -シークレットを削除する最小日数は7日です +Secret を削除するための最短日数は7日です。 ```bash aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --recovery-window-in-days 7 ``` +## secretsmanager:RestoreSecret + +シークレットを復元することが可能で、これは削除予定になっているシークレットを復元できることを意味します。シークレットの最短削除期間は7日、最長は30日です。secretsmanager:GetSecretValue 権限と組み合わせることで、それらの内容を取得することができます。 + +削除処理中のシークレットを復元するには、次のコマンドを使用します: +```bash +aws secretsmanager restore-secret \ +--secret-id +``` +## secretsmanager:DeleteResourcePolicy + +このアクションは、シークレットへのアクセスを制御するリソースポリシーを削除できるようにします。リソースポリシーが特定のユーザーにのみアクセスを許可するように構成されている場合、これはDoSにつながる可能性があります。 + +リソースポリシーを削除するには: +```bash +aws secretsmanager delete-resource-policy \ +--secret-id +``` +## secretsmanager:UpdateSecretVersionStage + +秘密の状態はシークレットのバージョン管理に使用されます。AWSCURRENT はアプリケーションが使用するアクティブなバージョンを示し、AWSPREVIOUS は必要に応じてロールバックできるよう前のバージョンを保持し、AWSPENDING は新しいバージョンを現在のものにする前に準備および検証するローテーション処理で使用されます。 + +アプリケーションは常に AWSCURRENT のバージョンを読みます。誰かがそのラベルを誤ったバージョンに移動すると、アプリは無効な資格情報を使用して失敗する可能性があります。 + +AWSPREVIOUS は自動的には使用されません。ただし、AWSCURRENT が削除されたり誤って再割り当てされた場合、すべてがまだ前のバージョンで動作しているように見えることがあります。 +```bash +aws secretsmanager update-secret-version-stage \ +--secret-id \ +--version-stage AWSCURRENT \ +--move-to-version-id \ +--remove-from-version-id +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md index 888387a8f..177a0c972 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md @@ -4,7 +4,7 @@ ## Secrets Manager -Secrets Managerに関する詳細情報は、以下を確認してください: +secrets managerの詳細は以下を参照してください: {{#ref}} ../aws-services/aws-secrets-manager-enum.md @@ -12,15 +12,18 @@ Secrets Managerに関する詳細情報は、以下を確認してください ### `secretsmanager:GetSecretValue` -この権限を持つ攻撃者は、AWS **Secretsmanager**内の**シークレットに保存された値**を取得できます。 +この権限を持つ攻撃者は、**シークレット内に保存された値**をAWSの**Secretsmanager**から取得できます。 ```bash aws secretsmanager get-secret-value --secret-id # Get value ``` -**潜在的な影響:** AWS Secrets Manager サービス内の高感度データにアクセスすること。 +**潜在的影響:** AWS secrets manager service 内の機密性の高いデータへアクセスできる。 + +> [!WARNING] +> 注意: `secretsmanager:BatchGetSecretValue` の許可があっても、機密シークレットを取得するには `secretsmanager:GetSecretValue` も必要です。 ### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`) -前述の権限を持つことで、**他のプリンシパル/アカウント(外部も含む)**に**シークレット**へのアクセスを**付与する**ことが可能です。KMS キーで暗号化されたシークレットを**読み取る**ためには、ユーザーが**KMS キーへのアクセス**も持っている必要があることに注意してください(詳細は [KMS Enum page](../aws-services/aws-kms-enum.md) を参照)。 +前述の権限があれば、**他のプリンシパル/アカウント(外部を含む)にアクセス権を付与して** **シークレット** にアクセスさせることができます。 ただし、KMSキーで暗号化された**シークレットを読み取る**には、ユーザーは**KMSキーへのアクセス権**も持っている必要があります(詳細は [KMS Enum page](../aws-services/aws-kms-enum.md) を参照)。 ```bash aws secretsmanager list-secrets aws secretsmanager get-resource-policy --secret-id