AWS - Secrets Manager Persistence

Support HackTricks

Secrets Manager

Для отримання додаткової інформації перегляньте:

AWS - Secrets Manager Enum

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