Configurazioni errate dell'IAM
Ruoli con autorizzazioni eccessive
Configurazioni errate dell'IAM è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 2 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 Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Perché IAM è il vero perimetro
Nel cloud, l'identità è il nuovo perimetro. IAM (Identity and Access Management) stabilisce chi può fare che cosa. Una falla in IAM consente a un attaccante di passare da un punto d'appoggio con privilegi ridotti al controllo completo dell'account.
- Utenti, ruoli e account di servizio sono identità
- I criteri definiscono le autorizzazioni
- I criteri configurati in modo errato rappresentano il principale rischio cloud
La maggior parte delle escalation dei privilegi nel cloud è un problema di IAM.
Utenti, ruoli e criteri
AWS IAM presenta tre elementi fondamentali che è necessario comprendere:
- Utenti — identità di lunga durata con chiavi di accesso
- Ruoli — identità temporanee che possono essere assunte da utenti o servizi
- Criteri — documenti JSON che concedono o negano azioni sulle risorse
Un criterio associato in modo troppo ampio è all'origine dell'assegnazione di permessi eccessivi.
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports-bucket/*"
}Il pericolo dei caratteri jolly
Lo schema IAM più pericoloso in assoluto è il criterio con caratteri jolly. Concede qualsiasi azione su qualsiasi risorsa.
Se un attaccante compromette un'identità con questo criterio, ottiene il controllo dell'intero account.
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.Enumerare le proprie autorizzazioni
Una volta ottenuta una credenziale, è necessario elencare le operazioni che consente di eseguire. IAM dispone di API di lettura che rivelano i criteri associati.
Alcuni account concedono persino iam:Get* e iam:List* agli utenti ordinari, fornendo una mappa già pronta.
# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser
# Get the JSON of a managed policy version
aws iam get-policy-version \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
--version-id v1Escalation dei privilegi tramite iam:PassRole
Un'escalation classica: un utente dispone di iam:PassRole e di un'autorizzazione per creare servizi. Può avviare una risorsa che assume un ruolo con privilegi elevati ed ereditarne l'accesso.
- L'utente dispone di
ec2:RunInstances+iam:PassRole - Avvia un'istanza EC2 con associato un ruolo amministrativo
- L'istanza dispone ora di credenziali amministrative, che l'utente recupera
L'utente non disponeva direttamente dei privilegi amministrativi, ma è riuscito a effettuare l'escalation.
Combinazioni di autorizzazioni pericolose
Singole autorizzazioni possono essere innocue, ma in combinazione possono diventare percorsi di escalation. Tra le combinazioni note a rischio figurano:
iam:CreatePolicyVersion— riscrivere un criterio esistente per concedere privilegi amministrativiiam:AttachUserPolicy— associare AdministratorAccess a se stessiiam:CreateAccessKeysu un altro utente — sottrarne l'identitàsts:AssumeRolesu un ruolo che accorda fiducia in modo eccessivo
Gli strumenti le enumerano automaticamente.
Criteri di trust e AssumeRole
I ruoli dispongono di un criterio di trust che definisce chi può assumerli. Un criterio di trust troppo ampio è una backdoor.
Se, per errore, un ruolo accorda fiducia all'intero account o persino a un account esterno, un attaccante può assumerlo.
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole"
}
# Trusting the entire account root means ANY identity in it can assume the role.Automatizzare l'individuazione delle escalation
Controllare manualmente ogni combinazione di criteri è tedioso. Gli strumenti mappano i percorsi di escalation al posto vostro.
- Pacu — framework di sfruttamento AWS con moduli di escalation dei privilegi
- PMapper — rappresenta graficamente le relazioni IAM e individua i collegamenti che consentono l'escalation
- enumerate-iam — forza bruta sulle chiamate API che una chiave può effettuare
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan
# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'Criteri inline e gestiti
Le autorizzazioni possono essere concesse in due modi, ed è necessario verificarli entrambi:
- Criteri gestiti — riutilizzabili e associati a più identità
- Criteri inline — incorporati direttamente in un singolo utente o ruolo
I criteri inline sono facili da ignorare durante gli audit, quindi spesso nascondono autorizzazioni eccessive. Durante la valutazione di un'identità, enumerare sempre entrambi i tipi.
# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inlineRafforzamento: minimo privilegio
La soluzione alle configurazioni errate di IAM è il minimo privilegio: concedere solo le autorizzazioni esatte necessarie.
- Sostituire i caratteri jolly con azioni esplicite e ARN di risorse
- Utilizzare ruoli con credenziali a breve durata invece di chiavi di lunga durata
- Verificare le autorizzazioni inutilizzate con Access Analyzer
- Imporre l'MFA sulle identità con privilegi elevati
Il report dovrebbe associare ogni finding a una correzione basata sul minimo privilegio.
Rimanere entro i limiti dell'autorizzazione
I test di escalation dei privilegi modificano attivamente lo stato dell'account. È necessario prestare attenzione:
- La creazione di criteri, chiavi o ruoli è intrusiva: ottenere un'approvazione scritta
- Documentare ogni modifica in modo che possa essere annullata
- Preferire l'enumerazione in sola lettura per dimostrare un percorso prima di sfruttarlo
Spesso è sufficiente dimostrare che un percorso di escalation dei privilegi esiste; non è sempre necessario sfruttarlo completamente.
Verifica rapida
Quale combinazione di autorizzazioni costituisce un percorso classico di escalation dei privilegi in AWS?
Riepilogo: configurazioni errate di IAM
Ha imparato perché IAM è il vero perimetro del cloud e come gli attaccanti lo sfruttano.
- I criteri con caratteri jolly
Action:* Resource:*sono catastrofici iam:PassRole+ creazione di servizi consente l'escalation dei privilegi- I criteri di trust troppo ampi consentono agli attaccanti di assumere ruoli
- Strumenti come Pacu e PMapper automatizzano l'individuazione dei percorsi
- La correzione consiste sempre nell'applicare il minimo privilegio
Ora analizzeremo S3 e l'esposizione dello storage.
Domande Frequenti
La lezione «Configurazioni errate dell'IAM» è gratuita?
Sì — il testo completo di «Configurazioni errate dell'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 Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Cosa imparerò in «Configurazioni errate dell'IAM»?
Ruoli con autorizzazioni eccessive Eserciti Ethical Hacking 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 Ethical Hacking Academy?
Non è richiesta alcuna esperienza precedente. Ethical Hacking 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 2 di 4.
Quanto tempo richiede la lezione «Configurazioni errate dell'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 Ethical Hacking Academy?
Sì. Ogni lezione Ethical Hacking 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 del cloud
- Configurazioni errate dell'IAM
- Esposizione di S3 e dello storage
- Metadati e SSRF