AWS - STS Enum

Reading time: 6 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をサポートする

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を許可している場合のように:

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

この場合、役割 priv-role は、その役割を引き受けるために特に許可される必要はありません(その許可があれば十分です)。

ただし、役割がアカウントにそれを引き受けることを許可している場合、次のように:

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

その役割を引き受けようとするには、その役割に対して特定の sts:AssumeRole 権限が必要です**。**

異なるアカウントから役割を引き受けようとすると、引き受けられた役割がそれを許可する必要があります(役割のARNまたは外部アカウントを示す)、そして他の役割を引き受けようとする役割はそれを引き受けるための権限を持っている必要があります(この場合、引き受けられた役割がARNを指定していてもこれはオプションではありません)。

列挙

bash
# 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権限を悪用して特権を昇格させる方法を確認できます:

AWS - STS Privesc

Post Exploitation

AWS - STS Post Exploitation

Persistence

AWS - STS Persistence

References

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をサポートする