AWS - Secrets Manager Persistence

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Secrets Manager

Für weitere Informationen siehe:

pageAWS - Secrets Manager Enum

Über Ressourcenrichtlinien

Es ist möglich, externen Konten Zugriff auf Secrets zu gewähren über Ressourcenrichtlinien. Überprüfen Sie die Seite zur Privilegieneskalation von Secrets Manager für weitere Informationen. Beachten Sie, dass das externe Konto auch Zugriff auf den KMS-Schlüssel benötigt, der das Secret verschlüsselt, um auf ein Secret zuzugreifen.

Über Secrets Rotate Lambda

Um Secrets automatisch zu rotieren, wird eine konfigurierte Lambda aufgerufen. Wenn ein Angreifer den Code ändern könnte, könnte er das neue Secret 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
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated