mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-31 15:05:44 -08:00
1.8 KiB
1.8 KiB
AWS - Persistenza di Secrets Manager
{{#include ../../../banners/hacktricks-training.md}}
Secrets Manager
Per ulteriori informazioni controlla:
{{#ref}} ../aws-services/aws-secrets-manager-enum.md {{#endref}}
Tramite Politiche di Risorsa
È possibile concedere accesso ai segreti a account esterni tramite politiche di risorsa. Controlla la pagina di Privesc di Secrets Manager per ulteriori informazioni. Nota che per accedere a un segreto, l'account esterno avrà anche bisogno di accesso alla chiave KMS che cripta il segreto.
Tramite Lambda di Rotazione dei Segreti
Per ruotare i segreti automaticamente viene chiamata una Lambda configurata. Se un attaccante potesse modificare il codice, potrebbe direttamente esfiltrare il nuovo segreto a se stesso.
Questo è come potrebbe apparire il codice lambda per tale azione:
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}}