AWS - Secrets Manager Persistence

Reading time: 2 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

Secrets Manager

자세한 정보는 다음을 확인하세요:

AWS - Secrets Manager Enum

리소스 정책을 통한 접근

리소스 정책을 통해 외부 계정에 비밀에 대한 접근 권한을 부여할 수 있습니다. 더 많은 정보는 Secrets Manager Privesc 페이지를 확인하세요. 비밀에 접근하기 위해서는 외부 계정이 비밀을 암호화하는 KMS 키에 대한 접근 권한도 필요하다는 점에 유의하세요.

Secrets Rotate Lambda를 통한 접근

비밀을 자동으로 회전하기 위해 구성된 Lambda가 호출됩니다. 공격자가 코드변경할 수 있다면, 그는 직접 새 비밀을 자신에게 유출할 수 있습니다.

이런 행동을 위한 lambda 코드의 예시는 다음과 같을 수 있습니다:

python
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

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기