AWS - Secrets Manager Persistence

支持HackTricks

Secrets Manager

有关更多信息,请查看:

AWS - Secrets Manager Enum

通过资源策略

可以通过资源策略授予外部帐户对秘密的访问权限。有关更多信息,请查看Secrets Manager权限提升页面。请注意,要访问秘密,外部帐户还将需要访问加密秘密的KMS密钥

通过Secrets Rotate Lambda

为了自动轮换秘密,会调用一个配置好的Lambda。如果攻击者能够更改代码,他可以直接将新秘密外泄给自己

以下是用于此类操作的lambda代码示例:

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
支持 HackTricks

Last updated