mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-03 08:17:32 -08:00
1.8 KiB
1.8 KiB
AWS - Secrets Manager Persistenz
{{#include ../../../banners/hacktricks-training.md}}
Secrets Manager
Für weitere Informationen siehe:
{{#ref}} ../aws-services/aws-secrets-manager-enum.md {{#endref}}
Über Ressourcenrichtlinien
Es ist möglich, Zugriff auf Geheimnisse für externe Konten zu gewähren über Ressourcenrichtlinien. Siehe die Secrets Manager Privesc-Seite für weitere Informationen. Beachten Sie, dass das externe Konto auch Zugriff auf den KMS-Schlüssel, der das Geheimnis verschlüsselt, benötigt.
Über Secrets Rotate Lambda
Um Geheimnisse automatisch zu rotieren, wird eine konfigurierte Lambda aufgerufen. Wenn ein Angreifer den Code ändern könnte, könnte er das neue Geheimnis direkt an sich selbst exfiltrieren.
So könnte der Lambda-Code für eine solche Aktion aussehen:
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
{{#include ../../../banners/hacktricks-training.md}}