Sfruttare configurazioni errate di IAM
Escalation dei privilegi nel cloud.
Sfruttare configurazioni errate di IAM è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
IAM come motore dell'escalation
Nel cloud, l'escalation dei privilegi consiste generalmente nello sfruttare i permessi IAM anziché vulnerabilità di memoria. Se un'identità con pochi privilegi può modificare le policy, creare chiavi o assumere ruoli, può arrivare ai privilegi di amministratore.
- I permessi che modificano IAM sono intrinsecamente pericolosi.
- I percorsi di escalation dipendono dalla logica delle policy, non dalle vulnerabilità.
- La soluzione è il principio del privilegio minimo, non una patch.
Permessi pericolosi
Determinate azioni IAM consentono un'escalation diretta. Verifichi la presenza di queste azioni su un principal sotto il suo controllo:
iam:CreateAccessKeysu un altro utente.iam:AttachUserPolicy/iam:PutUserPolicy(collegare AdministratorAccess).iam:CreatePolicyVersion(riscrivere una policy esistente).iam:PassRole+ un servizio di calcolo (eseguire codice con un ruolo privilegiato).sts:AssumeRolecon una policy di attendibilità debole.
Escalation tramite collegamento di policy
Se la propria identità può collegare policy a se stessa, l'escalation richiede una sola chiamata. Colleghi una policy gestita di amministratore e acquisisca tutti i privilegi.
# Attach AdministratorAccess to yourself
aws iam attach-user-policy \
--user-name me \
--policy-arn arn:aws:iam::aws:policy/AdministratorAccessAbuso di PassRole
iam:PassRole consente di assegnare un ruolo a un servizio. In combinazione con un servizio che esegue il proprio codice (EC2, Lambda, Glue), permette di eseguire codice con quel ruolo, anche se dispone di privilegi molto superiori ai propri.
# Launch a Lambda that assumes a privileged role you can pass
aws lambda create-function --function-name esc \
--role arn:aws:iam::111:role/AdminRole \
--runtime python3.12 --handler h.run --zip-file fileb://code.zipRipristino della versione di una policy
iam:CreatePolicyVersion o SetDefaultPolicyVersion consentono di sostituire il documento attivo di una policy o di ripristinare una versione precedente più permissiva, concedendo un accesso esteso senza modificare l'appartenenza ai gruppi.
# Make a new, permissive default version of an existing policy
aws iam create-policy-version \
--policy-arn arn:aws:iam::111:policy/devs \
--policy-document file://admin.json --set-as-defaultAbuso delle policy di attendibilità e di AssumeRole
Le policy di attendibilità dei ruoli definiscono chi può assumerli. Condizioni di attendibilità deboli consentono di acquisirne il controllo.
- Un ruolo che considera attendibile
*o un intero account può essere assunto da un numero eccessivo di soggetti. - Se può modificare la policy di attendibilità di un ruolo, aggiunga se stesso come principal attendibile.
- Confused deputy: assenza di external ID nei ruoli di integrazione di terze parti.
# Assume a poorly-scoped role
aws sts assume-role \
--role-arn arn:aws:iam::111:role/CrossAccountAdmin \
--role-session-name ptEquivalenti tra cloud
Gli stessi schemi ricorrono tra i diversi provider.
- Azure: assegnazione del ruolo User Access Administrator o Owner; abuso di Managed Identity; aggiunta di credenziali a un principal del servizio.
- GCP:
iam.serviceAccounts.actAsinsieme a un servizio di calcolo;setIamPolicysu un progetto; creazione di chiavi dell'account di servizio.
# GCP: impersonate a privileged service account
gcloud compute instances create esc --service-account priv@proj.iam.gserviceaccount.com --scopes cloud-platformStrumenti per individuare i percorsi
Anziché procedere per tentativi, utilizzi strumenti che evidenzino i percorsi di escalation praticabili dalla propria identità attuale.
# Pacu (AWS exploitation framework) escalation module
pacu
run iam__privesc_scan
# PMapper query for escalation
pmapper query 'preset privesc me'Collegarsi al piano di controllo
L'escalation spesso collega l'accesso al piano dati ai privilegi del piano di controllo.
- Comprometta una VM e sottragga dai metadati le credenziali del ruolo dell'istanza.
- Il ruolo dell'istanza dispone di
PassRole+ Lambda, consentendo l'esecuzione con un ruolo di amministratore. - Con i privilegi di amministratore, crei chiavi di accesso persistenti per agire senza farsi notare.
Ogni collegamento rappresenta un risultato distinto da segnalare.
Difendere IAM
La prevenzione si basa sul principio del privilegio minimo e su apposite protezioni.
- Rimuova i caratteri jolly e limiti strettamente azioni e risorse.
- Utilizzi permission boundaries e SCP per limitare il privilegio massimo.
- Richieda external ID nei ruoli di terze parti e limiti le policy di attendibilità.
- Preferisca credenziali di ruolo a breve durata rispetto a chiavi di lunga durata.
- Utilizzi analizzatori degli accessi per segnalare permessi rischiosi o inutilizzati.
Esecuzione etica
L'escalation IAM può concedere privilegi sull'intero account. Si fermi alla prova di concetto: dimostri il percorso senza creare backdoor persistenti o modificare policy di produzione che non può ripristinare. Ripristini sempre le modifiche a policy o ruoli e rimuova le chiavi create.
Coordini in anticipo con il cliente le attività potenzialmente disruptive (come la riscrittura di una policy condivisa).
Verifica rapida
Verifichi le proprie conoscenze sull'escalation IAM.
Riepilogo
Ha imparato in che modo le configurazioni errate di IAM consentono l'escalation dei privilegi.
- Il collegamento di policy, PassRole, il ripristino di versione e AssumeRole sono percorsi fondamentali.
- Gli stessi schemi ricorrono in AWS, Azure e GCP.
- Pacu e PMapper individuano automaticamente i percorsi praticabili.
- Il principio del privilegio minimo, i permission boundaries e gli external ID sono le principali difese.
Prossimo argomento: persistenza e movimento laterale tra gli account cloud.
Domande Frequenti
La lezione «Sfruttare configurazioni errate di IAM» è gratuita?
Sì — il testo completo di «Sfruttare configurazioni errate di IAM» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Sfruttare configurazioni errate di IAM»?
Escalation dei privilegi nel cloud. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Sfruttare configurazioni errate di IAM»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Superficie d'attacco cloud
- Enumerazione delle risorse cloud
- Sfruttare configurazioni errate di IAM
- Persistenza e movimento laterale