Files
hacktricks-cloud/src/pentesting-cloud/aws-security/aws-services/aws-sts-enum.md
T
2025-10-09 10:28:42 +00:00

3.5 KiB

AWS - STS Enum

{{#include ../../../banners/hacktricks-training.md}}

STS

**AWS Security Token Service (STS)**는 주로 임시, 제한된 권한 자격 증명을 발급하기 위해 설계되었습니다. 이러한 자격 증명은 AWS Identity and Access Management (IAM) 사용자 또는 인증된 사용자(연합 사용자)에 대해 요청할 수 있습니다.

STS의 목적이 신원 사칭을 위한 자격 증명 발급인 만큼, 이 서비스는 권한 상승 및 지속성 유지에 매우 유용합니다. 비록 다양한 옵션이 많지 않을 수 있지만요.

Assume Role Impersonation

AWS STS에서 제공하는 AssumeRole 작업은 다른 주체를 사칭하여 자격 증명을 획득할 수 있도록 허용하므로 매우 중요합니다. 호출 시, 지정된 ARN에 해당하는 액세스 키 ID, 비밀 키 및 세션 토큰으로 응답합니다.

침투 테스터나 레드 팀 구성원에게 이 기술은 권한 상승에 필수적입니다(자세한 내용은 여기에서 설명). 그러나 이 기술은 상당히 눈에 띄기 때문에 공격자를 놀라게 할 수는 없습니다.

Assume Role Logic

같은 계정에서 역할을 맡으려면 맡을 역할이 특정 역할 ARN을 허용해야 합니다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:role/priv-role"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

이 경우 priv-role 역할은 해당 역할을 맡기 위해 특별히 허용될 필요가 없습니다 (그 허용만으로 충분합니다).

그러나 역할이 계정이 그것을 맡도록 허용하는 경우, 예를 들어:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

역할을 가정하려면 해당 역할에 대해 특정 sts:AssumeRole 권한이 필요합니다 가정하기 위해.

다른 계정에서 역할을 가정하려고 하면, 가정된 역할이 이를 허용해야 합니다 (역할 ARN 또는 외부 계정을 지정), 그리고 다른 역할을 가정하려는 역할은 가정할 수 있는 권한이 있어야 합니다 (이 경우 가정된 역할이 ARN을 지정하더라도 선택 사항이 아닙니다).

Enumeration

# Get basic info of the creds
aws sts get-caller-identity
aws sts get-access-key-info --access-key-id <AccessKeyID>

# Get CLI a session token with current creds
## Using CLI creds
## You cannot get session creds using session creds
aws sts get-session-token
## MFA
aws sts get-session-token --serial-number <arn_device> --token-code <otp_code>

Privesc

다음 페이지에서 STS 권한을 악용하여 권한 상승하는 방법을 확인할 수 있습니다:

{{#ref}} ../aws-privilege-escalation/aws-sts-privesc/README.md {{#endref}}

Post Exploitation

{{#ref}} ../aws-post-exploitation/aws-sts-post-exploitation/README.md {{#endref}}

Persistence

{{#ref}} ../aws-persistence/aws-sts-persistence/README.md {{#endref}}

References

{{#include ../../../banners/hacktricks-training.md}}