AWS - Federation Abuse
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aby uzyskać informacje o SAML, sprawdź:
Aby skonfigurować Federację Tożsamości przez SAML, wystarczy podać nazwę oraz metadane XML zawierające całą konfigurację SAML (punkty końcowe, certyfikat z kluczem publicznym)
Aby dodać akcję github jako dostawcę tożsamości:
Dla Typu dostawcy wybierz OpenID Connect.
Dla URL dostawcy wprowadź https://token.actions.githubusercontent.com
Kliknij na Pobierz odcisk palca, aby uzyskać odcisk palca dostawcy
Dla Odbiorcy wprowadź sts.amazonaws.com
Utwórz nową rolę z uprawnieniami, których potrzebuje akcja github oraz politykę zaufania, która ufa dostawcy, jak:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::0123456789:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "token.actions.githubusercontent.com:sub": [ "repo:ORG_OR_USER_NAME/REPOSITORY:pull_request", "repo:ORG_OR_USER_NAME/REPOSITORY:ref:refs/heads/main" ], "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" } } } ] }
Możliwe jest generowanie OIDC providers w klastrze EKS po prostu ustawiając OIDC URL klastra jako nowego dostawcę tożsamości Open ID. To jest powszechna domyślna polityka:
Ta polityka poprawnie wskazuje, że tylko klaster EKS o id 20C159CDF6F2349B68846BEC03BE031B
może przyjąć rolę. Jednak nie wskazuje, który konto usługi może ją przyjąć, co oznacza, że KAŻDE konto usługi z tokenem tożsamości webowej będzie mogło przyjąć rolę.
Aby określić, które konto usługi powinno mieć możliwość przyjęcia roli, należy określić warunek, w którym nazwa konta usługi jest określona, na przykład:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)