AWS - IAM 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)
Per ulteriori informazioni su IAM controlla:
AWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
Concede la possibilità di creare una nuova versione della policy IAM, bypassando la necessità del permesso iam:SetDefaultPolicyVersion
utilizzando il flag --set-as-default
. Questo consente di definire permessi personalizzati.
Exploit Command:
Impatto: Escalation diretta dei privilegi consentendo qualsiasi azione su qualsiasi risorsa.
iam:SetDefaultPolicyVersion
Consente di cambiare la versione predefinita di una policy IAM con un'altra versione esistente, potenzialmente elevando i privilegi se la nuova versione ha più permessi.
Comando Bash:
Impatto: Escalation di privilegi indiretta abilitando più permessi.
iam:CreateAccessKey
Abilita la creazione di un ID chiave di accesso e di una chiave di accesso segreta per un altro utente, portando a una potenziale escalation di privilegi.
Sfruttamento:
Impatto: Escalation diretta dei privilegi assumendo i permessi estesi di un altro utente.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Consente di creare o aggiornare un profilo di accesso, inclusa la configurazione delle password per l'accesso alla console AWS, portando a un'escalation diretta dei privilegi.
Sfruttamento per la Creazione:
Sfruttamento per Aggiornamento:
Impatto: Escalation diretta dei privilegi accedendo come "qualsiasi" utente.
iam:UpdateAccessKey
Consente di abilitare una chiave di accesso disabilitata, portando potenzialmente a un accesso non autorizzato se l'attaccante possiede la chiave disabilitata.
Sfruttamento:
Impatto: Escalation diretta dei privilegi riattivando le chiavi di accesso.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Consente di generare o ripristinare le credenziali per servizi AWS specifici (ad es., CodeCommit, Amazon Keyspaces), ereditando i permessi dell'utente associato.
Sfruttamento per la Creazione:
Sfruttamento per Reset:
Impatto: Escalation diretta dei privilegi all'interno delle autorizzazioni del servizio dell'utente.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Consente di allegare politiche a utenti o gruppi, aumentando direttamente i privilegi ereditando le autorizzazioni della politica allegata.
Sfruttamento per l'utente:
Sfruttamento per Gruppo:
Impatto: Escalation diretta dei privilegi a qualsiasi cosa concessa dalla policy.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Consente di allegare o impostare policy a ruoli, utenti o gruppi, abilitando l'escalation diretta dei privilegi concedendo permessi aggiuntivi.
Sfruttamento per Ruolo:
Sfruttamento delle Politiche Inline:
Puoi utilizzare una policy come:
Impatto: Escalation diretta dei privilegi aggiungendo permessi tramite politiche.
iam:AddUserToGroup
Consente di aggiungersi a un gruppo IAM, aumentando i privilegi ereditando i permessi del gruppo.
Sfruttamento:
Impatto: Escalation diretta dei privilegi al livello delle autorizzazioni del gruppo.
iam:UpdateAssumeRolePolicy
Consente di modificare il documento della policy di assunzione del ruolo, abilitando l'assunzione del ruolo e delle sue autorizzazioni associate.
Sfruttamento:
Dove la policy appare come segue, che concede all'utente il permesso di assumere il ruolo:
Impatto: Escalation diretta dei privilegi assumendo i permessi di qualsiasi ruolo.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
Consente di caricare una chiave pubblica SSH per l'autenticazione a CodeCommit e di disattivare i dispositivi MFA, portando a una potenziale escalation indiretta dei privilegi.
Sfrutta per il caricamento della chiave SSH:
Sfruttamento per la disattivazione di MFA:
Impatto: Escalation di privilegi indiretta abilitando l'accesso a CodeCommit o disabilitando la protezione MFA.
iam:ResyncMFADevice
Consente la risincronizzazione di un dispositivo MFA, portando potenzialmente a un'escalation di privilegi indiretta manipolando la protezione MFA.
Comando Bash:
Impatto: Escalation di privilegi indiretta aggiungendo o manipolando i dispositivi MFA.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)Con questi permessi puoi cambiare i metadati XML della connessione SAML. Poi, potresti abusare della federazione SAML per accedere con qualsiasi ruolo che la sta fidando.
Nota che facendo questo gli utenti legittimi non potranno accedere. Tuttavia, potresti ottenere l'XML, così puoi inserire il tuo, accedere e configurare il precedente.
TODO: Uno strumento in grado di generare i metadati SAML e accedere con un ruolo specificato
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(Incertezza su questo) Se un attaccante ha questi permessi potrebbe aggiungere un nuovo Thumbprint per riuscire ad accedere a tutti i ruoli che si fidano del provider.
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)