AWS - Secrets Manager Persistence

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Secrets Manager

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

pageAWS - Secrets Manager Enum

Через політики ресурсів

Можливо надати доступ до секретів зовнішнім обліковим записам через політики ресурсів. Перевірте сторінку привілеїв Secrets Manager для отримання додаткової інформації. Зверніть увагу, що для доступу до секрету, зовнішньому обліковому запису також потрібен доступ до ключа KMS, що шифрує секрет.

Через 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
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated