S'accorder la lecture S3 via la politique de bucket
Peut réécrire la politique d'un bucket pour s'accorder un accès en lecture, puis le lire.
Accorde l'escalade à lui seul.
s3:PutBucketPolicyÀ lui seul, s3:PutBucketPolicy peut réécrire la politique d'un bucket pour s'accorder l'accès en lecture, puis le lire. Sur un périmètre de ressources large, cela atteint à lui seul l'accès pour un principal externe ou public.
Pourquoi c'est dangereux
Un principal peut appeler s3:PutBucketPolicy sur le bucket pour attacher une politique de ressource s'octroyant (ou octroyant au public) s3:GetObject, puis lire les objets du bucket. Cela contourne l'absence d'un octroi de lecture par politique d'identité : l'attaquant réécrit le verrou au lieu de détenir une clé. La gravité est déterminée par la sensibilité du bucket, le contrôle de la politique devient une exfiltration directe de tout ce que le bucket contient.
En termes MITRE ATT&CK, cela correspond à T1098, Manipulation de compte, dans la tactique escalade de privilèges. AWS l'enregistre dans CloudTrail sous PutBucketPolicy, PutBucketAcl, PutAccountPublicAccessBlock. L'appel apparaît dans CloudTrail mais se fond dans l'administration normale, il lui faut donc une règle pour ressortir.
Détection
PutBucketPolicyPutBucketAclPutAccountPublicAccessBlockPrérequis
s3:PutBucketPolicy sur le bucket. L'abus suppose en outre qu'aucun garde-fou SCP/limite/PrincipalOrgID ne bloque l'octroi excessif et (pour un octroi public) que S3 Block Public Access au niveau du compte n'est pas appliqué.
MITRE ATT&CK
T1098 · Manipulation de compteTactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre s3:PutBucketPolicy au CI/CD et aux administrateurs ; activer S3 Block Public Access au niveau du compte ; refuser les écritures de politique de bucket via une SCP.
La décision de l'appliquer dépend de la façon dont la permission est utilisée dans votre environnement, il s'agit donc d'une décision métier plutôt que d'un correctif automatique. La même permission peut être porteuse dans un compte et pur risque dans un autre.
Pathbreak confirme si ce chemin se résout dans votre compte, le classe par rapport aux autres selon l'ampleur de ce qu'il ouvre, et utilise votre modèle de menace et votre contexte métier pour montrer quels chemins valent la peine d'être coupés.
Questions
Que permet s3:PutBucketPolicy ?
Peut réécrire la politique d'un bucket pour s'accorder un accès en lecture, puis le lire.
s3:PutBucketPolicy peut-il à lui seul permettre une escalade de privilèges ?
Oui. Détenue sur une ressource suffisamment large, elle atteint un accès pour un principal externe ou public sans aucune autre permission.
Comment détecter l'auto-octroi de l'accès en lecture S3 via une politique de bucket ?
Surveillez PutBucketPolicy, PutBucketAcl, PutAccountPublicAccessBlock dans CloudTrail. Cet appel apparaît dans CloudTrail mais se fond dans l'administration normale, il faut donc une règle pour le faire ressortir.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez s3:PutBucketPolicy aux CI/CD/administrateurs ; activez S3 Block Public Access au niveau du compte ; refusez les écritures de politique de bucket via SCP. L'appliquer ou non dépend de la manière dont l'autorisation est utilisée dans votre compte, il s'agit donc d'une décision métier plutôt que d'un correctif automatique.
De quelle technique MITRE ATT&CK s'agit-il ?
T1098, Manipulation de compte, dans la tactique escalade de privilèges.
Chemins associés
Références
Trouvez ceci dans votre propre compte
Nous réalisons un scan en lecture seule d'un compte AWS et vous montrons lesquels de ces chemins existent, classés par rayon d'impact, avec le changement qui brise chacun d'eux. Premiers chemins validés en moins d'une heure.