AWS - STS Privesc
STS
sts:AssumeRole
sts:AssumeRole
すべてのロールは ロール信頼ポリシー とともに作成されます。このポリシーは 作成されたロールを誰が引き継ぐことができるか を示します。 同じアカウント からのロールが、アカウントがそれを引き継ぐことができると述べている場合、そのアカウントはそのロールにアクセスできるようになります(そして潜在的に 特権昇格 が可能です)。
たとえば、次のロール信頼ポリシーは、誰でもそれを引き継ぐことができることを示しており、したがって 任意のユーザーがそのロールに関連付けられた権限に特権昇格 できます。
あなたは次を実行して役割をなりすますことができます:
潜在的影響: ロールへの特権昇格。
この場合、権限sts:AssumeRole
が悪用するためにロールに指定されている必要があり、攻撃者に属するポリシーに含まれている必要はありません。
1つの例外を除いて、別のアカウントからロールを仮定するには、攻撃者アカウントもロールに対して**sts:AssumeRole
**を持っている必要があります。
sts:GetFederationToken
sts:GetFederationToken
この権限を持つと、任意のユーザーをなりすまして資格情報を生成することが可能です。
これは、他のユーザーに成りすます権限を与えることなく安全に権限を付与する方法です:
sts:AssumeRoleWithSAML
sts:AssumeRoleWithSAML
このロールを持つ信頼ポリシーは、SAML経由で認証されたユーザーに、そのロールを偽装する権限を付与します。
この権限を持つ信頼ポリシーの例は次のとおりです:
役割を偽装するための資格情報を生成するには、一般的に次のようなものを使用できます:
しかし、プロバイダーは、onelogin-aws-assume-roleのような独自のツールを使用して、これをより簡単にするかもしれません:
潜在的影響: ロールへの特権昇格。
sts:AssumeRoleWithWebIdentity
sts:AssumeRoleWithWebIdentity
この権限は、モバイル、Webアプリケーション、EKS...で認証されたユーザーがウェブアイデンティティプロバイダーで一連の一時的なセキュリティ資格情報を取得する権限を付与します。詳細はこちら。
たとえば、EKSサービスアカウントがIAMロールをなりすますできるようにする場合、/var/run/secrets/eks.amazonaws.com/serviceaccount/token
にトークンがあり、次のような操作を行ってロールを仮定し資格情報を取得できます:
フェデレーションの悪用
AWS - Federation AbuseLast updated