Translated ['', 'src/pentesting-cloud/aws-security/aws-privilege-escalat

This commit is contained in:
Translator
2025-10-04 09:13:54 +00:00
parent 3376c4bfc5
commit 87e663ac50
2 changed files with 49 additions and 14 deletions

View File

@@ -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 <Secret_Name>
```
## secretsmanager:DeleteResourcePolicy
このアクションは、シークレットへのアクセスを制御するリソースポリシーを削除できるようにします。リソースポリシーが特定のユーザーにのみアクセスを許可するように構成されている場合、これはDoSにつながる可能性があります。
リソースポリシーを削除するには:
```bash
aws secretsmanager delete-resource-policy \
--secret-id <Secret_Name>
```
## secretsmanager:UpdateSecretVersionStage
秘密の状態はシークレットのバージョン管理に使用されます。AWSCURRENT はアプリケーションが使用するアクティブなバージョンを示し、AWSPREVIOUS は必要に応じてロールバックできるよう前のバージョンを保持し、AWSPENDING は新しいバージョンを現在のものにする前に準備および検証するローテーション処理で使用されます。
アプリケーションは常に AWSCURRENT のバージョンを読みます。誰かがそのラベルを誤ったバージョンに移動すると、アプリは無効な資格情報を使用して失敗する可能性があります。
AWSPREVIOUS は自動的には使用されません。ただし、AWSCURRENT が削除されたり誤って再割り当てされた場合、すべてがまだ前のバージョンで動作しているように見えることがあります。
```bash
aws secretsmanager update-secret-version-stage \
--secret-id <your-secret-name-or-arn> \
--version-stage AWSCURRENT \
--move-to-version-id <target-version-id> \
--remove-from-version-id <previous-version-id>
```
{{#include ../../../banners/hacktricks-training.md}}