AWS - EventBridge Scheduler 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)
EventBridge Scheduler peut être utilisé pour l'escalade de privilèges en planifiant des appels à divers services AWS. En tirant parti de sa capacité à invoquer des services sur une base planifiée, les utilisateurs disposant de permissions suffisantes peuvent escalader leurs privilèges. Voici quelques-unes des actions clés que l'EventBridge Scheduler peut déclencher en utilisant des cibles modélisées :
Lambda : lambda:InvokeFunction - Invoquer des fonctions Lambda selon un calendrier.
CodeBuild : codebuild:StartBuild - Démarrer des projets AWS CodeBuild.
CodePipeline : codepipeline:StartPipelineExecution - Déclencher des exécutions AWS CodePipeline.
ECS : ecs:RunTask - Exécuter des tâches ECS.
EventBridge : events:PutEvents - Mettre des événements dans EventBridge.
Inspector : inspector:StartAssessmentRun - Démarrer des évaluations Amazon Inspector.
Kinesis : kinesis:PutRecord - Mettre des enregistrements dans des flux Kinesis.
Firehose : firehose:PutRecord - Mettre des enregistrements dans des flux de livraison Firehose.
SageMaker : sagemaker:StartPipelineExecution - Démarrer des exécutions de pipeline SageMaker.
SNS : sns:Publish - Publier des messages sur des sujets SNS.
SQS : sqs:SendMessage - Envoyer des messages aux files d'attente SQS.
Step Functions : states:StartExecution - Démarrer des exécutions des AWS Step Functions.
Ce ne sont là que quelques-unes des actions modélisées que l'EventBridge Scheduler peut effectuer. Cependant, en utilisant des cibles universelles, de nombreuses autres actions à travers les services AWS peuvent être invoquées. Les cibles universelles permettent des opérations API plus étendues au-delà de la liste modélisée.
Plus d'infos sur l'EventBridge Scheduler dans :
iam:PassRole
, (scheduler:CreateSchedule
| scheduler:UpdateSchedule
)Les utilisateurs disposant des permissions sts:AssumeRole
, iam:PassRole
, et scheduler:CreateSchedule ou scheduler:UpdateSchedule
peuvent escalader leurs privilèges en tirant parti de l'EventBridge Scheduler pour invoquer des services en utilisant un rôle avec des privilèges plus élevés.
Avec ces permissions, un attaquant peut assumer un rôle avec des privilèges élevés et passer ce rôle à l'EventBridge Scheduler lors de la création ou de la mise à jour d'un calendrier. Le calendrier peut être configuré pour effectuer n'importe laquelle des actions listées précédemment, telles que l'invocation de fonctions Lambda, le démarrage de tâches ECS, le déclenchement d'exécutions de CodePipeline, ou toute opération des 270 services AWS pris en charge par l'EventBridge Scheduler. En planifiant ces actions, un attaquant pourrait abuser de privilèges plus élevés pour effectuer des opérations non autorisées à travers les services AWS. \
Par exemple, ils pourraient configurer le calendrier pour invoquer une fonction Lambda qui est une action modélisée :
En plus des actions de service templées, vous pouvez utiliser des cibles universelles dans EventBridge Scheduler pour invoquer un large éventail d'opérations API pour de nombreux services AWS. Les cibles universelles offrent la flexibilité d'invoquer presque n'importe quelle API. Un exemple peut être l'utilisation de cibles universelles ajoutant "AdminAccessPolicy", en utilisant un rôle qui a la politique "putRolePolicy" :
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)