AWS - S3 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)
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
Un attaquant avec ces permissions sur des buckets intéressants pourrait être en mesure de détourner des ressources et d'escalader des privilèges.
Par exemple, un attaquant avec ces permissions sur un bucket cloudformation appelé "cf-templates-nohnwfax6a6i-us-east-1" pourra détourner le déploiement. L'accès peut être accordé avec la politique suivante :
Et le détournement est possible car il y a une petite fenêtre de temps entre le moment où le modèle est téléchargé dans le bucket et le moment où le modèle est déployé. Un attaquant pourrait simplement créer une fonction lambda dans son compte qui sera déclenchée lorsqu'une notification de bucket est envoyée, et détourner le contenu de ce bucket.
Le module Pacu cfn__resouce_injection
peut être utilisé pour automatiser cette attaque.
Pour plus d'informations, consultez la recherche originale : https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/
s3:PutObject
, s3:GetObject
Ce sont les permissions pour obtenir et télécharger des objets sur S3. Plusieurs services à l'intérieur d'AWS (et en dehors) utilisent le stockage S3 pour stocker des fichiers de configuration. Un attaquant avec un accès en lecture à ceux-ci pourrait trouver des informations sensibles sur eux. Un attaquant avec un accès en écriture à ceux-ci pourrait modifier les données pour abuser d'un service et essayer d'escalader les privilèges. Voici quelques exemples :
Si une instance EC2 stocke les données utilisateur dans un bucket S3, un attaquant pourrait les modifier pour exécuter du code arbitraire à l'intérieur de l'instance EC2.
s3:PutBucketPolicy
Un attaquant, qui doit être du même compte, sinon l'erreur The specified method is not allowed will trigger
, avec cette permission pourra se donner plus de permissions sur le(s) bucket(s) lui permettant de lire, écrire, modifier, supprimer et exposer des buckets.
s3:GetBucketAcl
, s3:PutBucketAcl
Un attaquant pourrait abuser de ces autorisations pour lui accorder plus d'accès sur des buckets spécifiques. Notez que l'attaquant n'a pas besoin d'être du même compte. De plus, l'accès en écriture
s3:GetObjectAcl
, s3:PutObjectAcl
Un attaquant pourrait abuser de ces autorisations pour lui accorder plus d'accès sur des objets spécifiques à l'intérieur des buckets.
s3:GetObjectAcl
, s3:PutObjectVersionAcl
Un attaquant disposant de ces privilèges est censé pouvoir appliquer un Acl à une version d'objet spécifique.
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)