AWS - STS Enum
STS
AWS Security Token Service (STS)は主に一時的で限定的な特権を持つ資格情報を発行するために設計されています。これらの資格情報は、**AWS Identity and Access Management (IAM)**ユーザーや認証済みユーザー(フェデレーテッドユーザー)のためにリクエストすることができます。
STSの目的がアイデンティティの偽装のための資格情報を発行することであるため、このサービスは特権の昇格や持続性の維持に非常に価値がありますが、オプションの幅は広くないかもしれません。
Assume Role Impersonation
AWS STSが提供するAssumeRoleアクションは、プリンシパルが他のプリンシパルの資格情報を取得し、実質的にそれを偽装することを許可するため、非常に重要です。呼び出されると、指定されたARNに対応するアクセスキーID、シークレットキー、およびセッショントークンを返します。
ペネトレーションテスターやRed Teamメンバーにとって、この技術は特権の昇格に役立ちます(詳細はこちら)。ただし、この技術は非常に目立ちやすく、攻撃者を驚かせることはないかもしれません。
Assume Role Logic
特定のロールARNを許可しているロールのように、同じアカウント内でロールを引き受ける場合:
ロール priv-role
はこの場合、特に許可されていなくても そのロールを引き受けることができます(その許可があれば十分です)。
しかし、ロールがアカウントに対してそれを引き受けることを許可している場合、次のようになります:
そのロールを引き受けようとするロールは、それを引き受けるための特定の sts:AssumeRole
権限が必要です。
異なるアカウントからロールを引き受けようとする場合、引き受けられるロールがそれを許可する必要があります(ロールのARNまたは外部アカウントを指定する)、そして他のロールを引き受けようとするロールはそれを引き受ける権限を持っている必要があります(この場合、引き受けられるロールがARNを指定している場合でもこれは必須です)。
Enumeration
Privesc
以下のページでSTS権限を悪用して権限を昇格させる方法を確認できます:
AWS - STS PrivescPost Exploitation
AWS - STS Post ExploitationPersistence
AWS - STS PersistenceReferences
Last updated