AWS - STS Privesc
STS
sts:AssumeRole
sts:AssumeRole
Każda rola jest tworzona z polityką zaufania roli, która wskazuje, kto może przyjąć utworzoną rolę. Jeśli rola z tego samego konta mówi, że konto może ją przyjąć, oznacza to, że konto będzie miało dostęp do roli (i potencjalnie przywileje).
Na przykład, poniższa polityka zaufania roli wskazuje, że każdy może ją przyjąć, dlatego każdy użytkownik będzie mógł uzyskać przywileje związane z tą rolą.
Możesz podszywać się pod rolę, wykonując:
Potencjalne skutki: Podniesienie uprawnień do roli.
Należy zauważyć, że w tym przypadku uprawnienie sts:AssumeRole
musi być wskazane w roli do wykorzystania i nie w polityce należącej do atakującego.
Z jednym wyjątkiem, aby przejść do roli z innego konta, konto atakującego również musi mieć uprawnienie sts:AssumeRole
dla roli.
sts:AssumeRoleWithSAML
sts:AssumeRoleWithSAML
Polityka zaufania z tą rolą umożliwia użytkownikom uwierzytelnionym za pomocą SAML dostęp do udawania roli.
Przykład polityki zaufania z tym uprawnieniem to:
Aby wygenerować poświadczenia umożliwiające podszywanie się pod rolę ogólnie, można użyć czegoś takiego jak:
Ale dostawcy mogą mieć swoje własne narzędzia, które ułatwiają to zadanie, takie jak onelogin-aws-assume-role:
Potencjalne skutki: Podniesienie uprawnień do roli.
sts:AssumeRoleWithWebIdentity
sts:AssumeRoleWithWebIdentity
To uprawnienie umożliwia uzyskanie zestawu tymczasowych poświadczeń bezpieczeństwa dla użytkowników, którzy zostali uwierzytelnieni w aplikacji mobilnej, internetowej, EKS... przy użyciu dostawcy tożsamości internetowej. Dowiedz się więcej tutaj.
Na przykład, jeśli konto usługi EKS ma możliwość udawania roli IAM, będzie miało token w /var/run/secrets/eks.amazonaws.com/serviceaccount/token
i może przejmować rolę i uzyskiwać poświadczenia wykonując coś takiego:
Nadużycie federacji
pageAWS - Federation AbuseLast updated