AWS - IAM Post Exploitation
IAM
Per ulteriori informazioni sull'accesso IAM:
pageAWS - IAM, Identity Center & SSO EnumProblema del Vice Delegato
Se permetti a un account esterno (A) di accedere a un ruolo nel tuo account, probabilmente avrai 0 visibilità su chi può esattamente accedere a quell'account esterno. Questo è un problema, perché se un altro account esterno (B) può accedere all'account esterno (A) è possibile che B possa anche accedere al tuo account.
Pertanto, quando si permette a un account esterno di accedere a un ruolo nel proprio account, è possibile specificare un ExternalId
. Si tratta di una stringa "segreta" che l'account esterno (A) deve specificare per assumere il ruolo nella tua organizzazione. Poiché l'account esterno B non conoscerà questa stringa, anche se ha accesso su A, non sarà in grado di accedere al tuo ruolo.
Tuttavia, nota che questo ExternalId
"segreto" non è un segreto, chiunque possa leggere la policy di assumere il ruolo IAM sarà in grado di vederlo. Ma fintanto che l'account esterno A lo conosce, ma l'account esterno B non lo conosce, impedisce a B di abusare di A per accedere al tuo ruolo.
Esempio:
Per un attaccante per sfruttare un vice confuso, dovrà trovare in qualche modo se i principali dell'account corrente possono impersonare ruoli in altri account.
Trust inaspettati
Asterisco come principale
Questa policy consente a tutti gli AWS di assumere il ruolo.
Servizio come principale
Questa policy consente a qualsiasi account di configurare il proprio apigateway per chiamare questa Lambda.
S3 come principale
Se un bucket S3 è dato come principale, poiché i bucket S3 non hanno un ID account, se elimini il tuo bucket e l'attaccante lo ricrea nel proprio account, potrebbe sfruttarlo.
Non supportato
Un modo comune per evitare i problemi del Confused Deputy è l'uso di una condizione con AWS:SourceArn
per controllare l'ARN di origine. Tuttavia, alcuni servizi potrebbero non supportarlo (come CloudTrail secondo alcune fonti).
Riferimenti
Last updated