AWS - Secrets Manager Persistence

Support HackTricks

Secrets Manager

자세한 정보는 다음을 확인하세요:

Via Resource Policies

리소스 정책을 통해 외부 계정에 비밀에 대한 접근 권한을 부여할 수 있습니다. 더 많은 정보는 Secrets Manager Privesc page를 확인하세요. 비밀에 접근하기 위해서는 외부 계정이 비밀을 암호화하는 KMS 키에 대한 접근 권한도 필요하다는 점에 유의하세요.

Via 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
HackTricks 지원하기

Last updated