mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 19:11:41 -08:00
1.7 KiB
1.7 KiB
AWS - Održavanje u Secrets Manager-u
{{#include ../../../banners/hacktricks-training.md}}
Secrets Manager
Za više informacija pogledajte:
{{#ref}} ../aws-services/aws-secrets-manager-enum.md {{#endref}}
Putem politika resursa
Moguće je dodeliti pristup tajnama spoljnim nalozima putem politika resursa. Pogledajte stranicu o Privesc-u za Secrets Manager za više informacija. Imajte na umu da da bi pristupio tajni, spoljni nalog će takođe morati da ima pristup KMS ključu koji enkriptuje tajnu.
Putem Lambda funkcije za rotaciju tajni
Da bi se automatski rotirale tajne, poziva se konfigurisana Lambda. Ako bi napadač mogao da izmeni kod, mogao bi direktno da izvuče novu tajnu za sebe.
Ovako bi kod lambda funkcije za takvu akciju mogao izgledati:
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}}