AWS - Secrets Manager Persistence

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Secrets Manager

Para mais informações, consulte:

Via Políticas de Recursos

É possível conceder acesso a segredos a contas externas por meio de políticas de recursos. Consulte a página de Privesc do Secrets Manager para obter mais informações. Observe que para acessar um segredo, a conta externa também precisará de acesso à chave KMS que criptografa o segredo.

Via Secrets Rotate Lambda

Para rotacionar segredos automaticamente, um Lambda configurado é chamado. Se um atacante pudesse alterar o código, ele poderia exfiltrar diretamente o novo segredo para si mesmo.

É assim que o código lambda para essa ação poderia se parecer:

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
Aprenda hacking na AWS de zero a herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización