AWS - Federation Abuse
SAML
Per informazioni su SAML, consulta:
Per configurare una Federazione di Identità tramite SAML, è sufficiente fornire un nome e il metadata XML contenente tutte le configurazioni SAML (endpoints, certificato con chiave pubblica)
OIDC - Abuso di Github Actions
Per aggiungere una github action come provider di identità:
Per il Tipo di provider, selezionare OpenID Connect.
Per l'URL del provider, inserire
https://token.actions.githubusercontent.com
Fare clic su Ottieni thumbprint per ottenere l'hash del provider
Per l'Audience, inserire
sts.amazonaws.com
Creare un nuovo ruolo con i permessi necessari per la github action e una politica di trust che si fida del provider come segue:
{ "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" } } } ] }
Abuso di OIDC - EKS
L'OpenID Connect (OIDC) è un protocollo di autenticazione e autorizzazione basato su OAuth 2.0 che viene spesso utilizzato per consentire l'accesso federato alle risorse in ambienti cloud come Amazon Elastic Kubernetes Service (EKS). Tuttavia, è possibile sfruttare l'implementazione di OIDC in EKS per ottenere accesso non autorizzato alle risorse.
Scenari di abuso di OIDC in EKS
1. Utilizzo di token scaduti
Se un token OIDC viene compromesso o scade, potrebbe essere possibile utilizzarlo per ottenere accesso non autorizzato alle risorse di EKS. Questo può essere fatto utilizzando il token scaduto per autenticarsi e ottenere un nuovo token valido.
2. Utilizzo di token rubati
Se un token OIDC viene rubato, un attaccante potrebbe utilizzarlo per ottenere accesso non autorizzato alle risorse di EKS. L'attaccante può impersonare l'utente legittimo e utilizzare il token rubato per autenticarsi e ottenere accesso alle risorse.
3. Utilizzo di token non revocati
Se un token OIDC viene revocato, ma il server di autorizzazione non lo riconosce come revocato, potrebbe essere possibile utilizzarlo per ottenere accesso non autorizzato alle risorse di EKS. Questo può accadere se il server di autorizzazione non è correttamente configurato per gestire la revoca dei token.
Contromisure
Per mitigare il rischio di abuso di OIDC in EKS, è consigliabile adottare le seguenti contromisure:
Implementare un meccanismo di gestione dei token robusto che includa la revoca dei token scaduti o compromessi.
Monitorare attentamente l'attività degli utenti e rilevare eventuali anomalie o accessi non autorizzati.
Configurare correttamente il server di autorizzazione per gestire correttamente la revoca dei token.
Utilizzare autenticazione a più fattori per aumentare la sicurezza dell'accesso alle risorse di EKS.
Conclusioni
L'abuso di OIDC in EKS può consentire agli attaccanti di ottenere accesso non autorizzato alle risorse. È importante implementare le contromisure appropriate per mitigare questo rischio e proteggere le risorse di EKS.
È possibile generare provider OIDC in un cluster EKS semplicemente impostando l'URL OIDC del cluster come un nuovo provider di identità Open ID. Questa è una politica comune predefinita:
Questa politica indica correttamente che solo il cluster EKS con ID 20C159CDF6F2349B68846BEC03BE031B
può assumere il ruolo. Tuttavia, non indica quale account di servizio può assumerlo, il che significa che QUALSIASI account di servizio con un token di identità web sarà in grado di assumere il ruolo.
Per specificare quale account di servizio dovrebbe essere in grado di assumere il ruolo, è necessario specificare una condizione in cui viene specificato il nome dell'account di servizio, ad esempio:
Riferimenti
Last updated