AWS - Secrets Manager Persistence

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

Secrets Manager

詳細については、以下をチェックしてください:

pageAWS - Secrets Manager Enum

リソースポリシーを介して

リソースポリシーを介して外部アカウントにシークレットへのアクセス権限を付与することが可能です。詳細については、Secrets Manager Privescページをチェックしてください。シークレットにアクセスするためには、外部アカウントはシークレットを暗号化するKMSキーにもアクセスする必要があります

Secrets Rotate Lambdaを介して

シークレットを自動的にローテートするために構成されたLambdaが呼び出されます。攻撃者がコードを変更できれば、新しいシークレットを直接自分自身に外部流出させることができます。

このようなアクションのためのLambdaコードは次のように見えるかもしれません:

import boto3

def rotate_secrets(event, context):
# Create a Secrets Manager client
client = boto3.client('secretsmanager')

# Retrieve the current secret value
secret_value = client.get_secret_value(SecretId='example_secret_id')['SecretString']

# Rotate the secret by updating its value
new_secret_value = rotate_secret(secret_value)
client.update_secret(SecretId='example_secret_id', SecretString=new_secret_value)

def rotate_secret(secret_value):
# Perform the rotation logic here, e.g., generate a new password

# Example: Generate a new password
new_secret_value = generate_password()

return new_secret_value

def generate_password():
# Example: Generate a random password using the secrets module
import secrets
import string
password = ''.join(secrets.choice(string.ascii_letters + string.digits) for i in range(16))
return password
htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricksをサポートする他の方法:

最終更新