AWS - STS Privesc
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)
sts:AssumeRole
Ogni ruolo è creato con una politica di fiducia del ruolo, questa politica indica chi può assumere il ruolo creato. Se un ruolo dello stesso account dice che un account può assumerlo, significa che l'account sarà in grado di accedere al ruolo (e potenzialmente privesc).
Ad esempio, la seguente politica di fiducia del ruolo indica che chiunque può assumerlo, quindi qualsiasi utente sarà in grado di privesc alle autorizzazioni associate a quel ruolo.
Puoi impersonare un ruolo eseguendo:
Impatto Potenziale: Privesc al ruolo.
Nota che in questo caso il permesso sts:AssumeRole
deve essere indicato nel ruolo da abusare e non in una policy appartenente all'attaccante.
Con un'eccezione, per assumere un ruolo da un account diverso l'account dell'attaccante deve anche avere il sts:AssumeRole
sul ruolo.
sts:GetFederationToken
Con questo permesso è possibile generare credenziali per impersonare qualsiasi utente:
Questo è il modo in cui questo permesso può essere concesso in modo sicuro senza dare accesso a impersonare altri utenti:
sts:AssumeRoleWithSAML
Una policy di fiducia con questo ruolo concede agli utenti autenticati tramite SAML l'accesso per impersonare il ruolo.
Un esempio di una policy di fiducia con questo permesso è:
Per generare credenziali per impersonare il ruolo in generale potresti usare qualcosa come:
Ma i provider potrebbero avere i loro strumenti per rendere questo più facile, come onelogin-aws-assume-role:
Impatto Potenziale: Privesc al ruolo.
sts:AssumeRoleWithWebIdentity
Questa autorizzazione consente di ottenere un insieme di credenziali di sicurezza temporanee per utenti che sono stati autenticati in un'applicazione mobile, web, EKS... con un fornitore di identità web. Scopri di più qui.
Ad esempio, se un account di servizio EKS dovrebbe essere in grado di fingere un ruolo IAM, avrà un token in /var/run/secrets/eks.amazonaws.com/serviceaccount/token
e può assumere il ruolo e ottenere credenziali facendo qualcosa come:
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)